/* カラー変更 */ :root {  --content-width: 1300px;  --main-color: #223770;  --sub-color: #324D98;  --pale-color: #324D98;}/* コンテンツレイアウト */body {  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;}* {  -webkit-box-sizing: border-box;  box-sizing: border-box;  word-break: break-all;  border-spacing: 0;  border-collapse: collapse;  text-indent: initial;  text-decoration: none;  line-height: 2.0em;}section {  padding: 60px 0;}section:first-of-type {  padding-top: 0px;}@media (max-width: 767px) {  section {    padding: 30px 0;  }}.home section:first-of-type {  padding-top: 60px;}@media (max-width: 767px) {  .home section:first-of-type {    padding-top: 30px;  }}.container {  padding-right: calc(30px / 2);  padding-left: calc(30px / 2);}@media (min-width: 767px) {  .container {    margin: 0 auto;    max-width: var(--content-width);  }  :first-child {    margin-top: 0;  }}.row {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -ms-flex-wrap: wrap;  flex-wrap: wrap;  margin-top: 30px;  margin-bottom: 0;  margin-right: calc(-1 * 30px / 2);  margin-left: calc(-1 * 30px / 2);  justify-content: space-evenly;}.row.offset_2 {  justify-content: space-evenly;}@media (max-width: 767px) {  .row {    display: block;    margin-top: 0;    margin-left: 0;    margin-right: 0;  }  .row.sp-2row {    display: flex;  }}@media (min-width: 767px) {  .container {    margin: 0 auto;    max-width: var(--content-width);  }  :first-child {    margin-top: 0;  }}.reverse {  -webkit-box-orient: horizontal;  -webkit-box-direction: reverse;  -ms-flex-direction: row-reverse;  flex-direction: row-reverse;}.row .span_1 {  width: calc(100% / 12 * 1);}.row .span_2 {  width: calc(100% / 12 * 2);}.row .span_3 {  width: calc(100% / 12 * 3);}.row .span_4 {  width: calc(100% / 12 * 4);}.row .span_5 {  width: calc(100% / 12 * 5);}.row .span_6 {  width: calc(100% / 12 * 6);}.row .span_7 {  width: calc(100% / 12 * 7);}.row .span_8 {  width: calc(100% / 12 * 8);}.row .span_9 {  width: calc(100% / 12 * 9);}.row .span_10 {  width: calc(100% / 12 * 10);}.row .span_11 {  width: calc(100% / 12 * 11);}.row .span_12 {  width: 100%;}.row > .col {  margin-top: 30px;  margin-left: 0;  padding-right: calc(30px / 2);  padding-left: calc(30px / 2);}@media (max-width: 767px) {  .row > .col {    margin-top: 20px;    margin-left: 0;    margin-right: 0;    padding-right: calc(30px / 2);    padding-left: calc(30px / 2);    width: 100%;  }  .row.sp-2row > .col {    width: 50%;  }}@media (max-width: 767px) {  .row .span_1 {    width: auto;  }  .row > .col:not(:first-child) {    margin-top: 20px;  }}/* ぱんくず */.bread_wrap {  margin-top: 0;  margin-bottom: 0;}.bread {  overflow: hidden;  margin: 0;}.bread ul {  margin: 0 auto;  float: none;}@media (max-width: 767px) {  .bread ul {    padding: 15px 0;  }}.bread ul li {  list-style: none;  position: relative;  float: left;  margin-right: 20px;  padding-right: calc(20px + 9px);}@media (max-width: 767px) {  .bread ul li {    margin-right: 15px;    padding-right: calc(15px + 9px);  }}.bread ul li a {  padding: 0;  text-decoration: none;  color: #1b1b1b;}.bread ul li a:hover {  color: #1b1b1b;  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;}/* 画像のフィックス */figure {  margin: 0;  text-align: center;}img {  vertical-align: middle;  image-rendering: -moz-crisp-edges;  image-rendering: -o-crisp-edges;  image-rendering: -webkit-optimize-contrast;  image-rendering: crisp-edges;  -ms-interpolation-mode: nearest-neighbor;  max-width: 100%;  width: 100%;  height: auto;}figure img {  width: inherit;}/* 投稿 */.article_list {  padding: 30px;  border: 1px solid #FF4E41;  position: relative;  overflow: hidden;}@media (max-width: 767px) {  .article_list {    padding: 20px;  }}.article_list:first-child {  margin-top: 0;}.article_list:nth-child(n+2) {  margin-top: 30px;}.article_detail {  background: rgba(234, 0, 0, 0.05);  padding: 4%;  margin-bottom: 4%;  font-size: 1.2rem;}.article_detail .span_12 {  margin: 2% 0;}.article_button {  margin-top: 30px;  text-align: right;}@media (max-width: 767px) {  .article_button {    margin-top: 20px;  }}.more {  display: inline-block;  overflow: hidden;  margin: auto;}.more.btn_ss a, .more.btn_ss span {  padding: 0.3em 2.1em 0.3em 1.4em;}.more.btn_s a, .more.btn_s span {  padding: 0.5em 2.1em 0.5em 1.4em;}.more.btn_m a, .more.btn_m span {  padding: 0.5em 2.1em 0.5em 1.4em;}.more a, .more span {  display: inline-block;  letter-spacing: normal;  color: #FF4E41;  border: 1px solid #FF4E41;  padding: 0.9em 1.6em;  margin-bottom: 1px;  text-decoration: none;}.more a:after, .more span:after {  border-color: #FF4E41;}.more a:hover, .more span:hover {  color: #333;  border-color: #333;}.more a:hover:after, .more span:hover:after {  border-color: #333;}.more a.add_arrow, .more span.add_arrow {  padding-right: 1.9em;}.add_arrow {  display: block;  position: relative;}.add_arrow:after {  content: "";  display: block;  position: absolute;  top: 50%;  right: 5%;  margin: auto;  width: 6px;  height: 6px;  border-top: 1px solid #fff;  border-right: 1px solid #fff;  -webkit-transform: translate(0, -50%) rotate(45deg);  transform: translate(0, -50%) rotate(45deg);  -webkit-transition: 0.2s;  transition: 0.2s;}.add_arrow:hover:after {  right: 3%;  border-color: #fff;}.more {  display: inline-block;  overflow: hidden;  margin: auto;}.more a {  display: inline-block;  letter-spacing: normal;  border: 1px solid #FF4E41;  color: #FF4E41;  padding: 0.3em 1.3em 0.3em 1em;  margin-bottom: 1px;  text-decoration: none;  font-size: 1.2rem;}.pager {  overflow: hidden;  margin-bottom: 5%;}.pager .pager_prev {  float: left;}.pager .pager_prev a {  display: block;  position: relative;  padding-left: 15px;  text-decoration: none;}.pager .pager_prev a:before, .pager .pager_prev a:after {  content: "";  display: block;  position: absolute;  left: 2px;  margin: auto;  width: 8px;  height: 1px;  background: #FF4E41;  -webkit-transition: .2s;  transition: .2s;}.pager .pager_prev a:before {  -webkit-transform: translateY(-50%) rotate(-45deg);  transform: translateY(-50%) rotate(-45deg);  top: calc(50% - 2px);}.pager .pager_prev a:after {  -webkit-transform: translateY(-50%) rotate(-135deg);  transform: translateY(-50%) rotate(-135deg);  top: calc(50% + 3px);}.pager .pager_prev a:hover {  text-decoration: underline;}.pager .pager_prev a:hover:before {  left: 0;}.pager .pager_prev a:hover:after {  left: 0;}.pager .pager_next {  float: right;}.pager .pager_next a {  display: block;  position: relative;  padding-right: 15px;  text-decoration: none;}.pager .pager_next a:before, .pager .pager_next a:after {  content: "";  display: block;  position: absolute;  right: 2px;  margin: auto;  width: 8px;  height: 1px;  background: #FF4E41;  -webkit-transform-origin: center;  transform-origin: center;  -webkit-transition: .2s;  transition: .2s;}.pager .pager_next a:before {  -webkit-transform: translateY(-50%) rotate(45deg);  transform: translateY(-50%) rotate(45deg);  top: calc(50% - 2px);}.pager .pager_next a:after {  -webkit-transform: translateY(-50%) rotate(135deg);  transform: translateY(-50%) rotate(135deg);  top: calc(50% + 3px);}.pager .pager_next a:hover {  text-decoration: underline;}.pager .pager_next a:hover:before {  right: 0;}.pager .pager_next a:hover:after {  right: 0;}.news-item {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: justify;  -ms-flex-pack: justify;  justify-content: space-between;  -webkit-box-align: start;  -ms-flex-align: start;  align-items: flex-start;  padding: 10px 20px;  border: 1px solid #FF4E41;  border-radius: 15px;  background: #fff;  line-height: 1.625;}@media (max-width: 767px) {  .news-item {    padding: 10px 15px;    border-radius: 8px;    line-height: 1.625;  }}.news-item:nth-child(n+2) {  margin-top: 20px;}@media (max-width: 767px) {  .news-item:nth-child(n+2) {    margin-top: 15px;  }}.news-item time {  width: 110px;}.news-item a {  -webkit-box-flex: 1;  -ms-flex: 1;  flex: 1;  color: #FF4E41;}.news-item a:hover {  text-decoration: underline;  opacity: .7;}/* コンタクトフォーム */.inquiry {  width: 960px;  margin: 0 auto;}@media (max-width: 960px) {  .inquiry {    width: auto;  }}.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%;  padding: 5px;  color: #000;}.submit {  display: block;  text-align: center;  margin: 30px auto 0;}.button, .inquiry .wpcf7-submit {  display: inline-block;  min-width: 0px;  margin: 0;  padding: 1em 1em;  border: 0;  border-radius: 4px;  line-height: 1;  background: #f18200;  color: #fff;  text-align: center;  text-decoration: none;  -webkit-appearance: none;  -moz-appearance: none;  appearance: none;  transition: .3s;}.button:hover, .inquiry .wpcf7-submit:hover {  background: #ced4d2;  color: #383637;}.wpcf7-spinner {  display: none;}.required {  color: #c00;}/* Slider */.mv {  position: relative;}.mv-image {  position: relative;}.slider02 .mv-image, .slider03 .slide-image {  padding: 0 5px;}.mv-image span {  font-size: 3.6rem;  align-items: center;  line-height: 1.4;  font-weight: normal;  color: #fff;}.mv-image figure img {  width: 100%;}.mv-image div {  position: absolute;  bottom: 10%;  right: 10px;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;    text-align: right;}.mainbtn img{    width: 70%;}@media (max-width: 1024px) {  .mv-image span {    font-size: 2.2rem;  }  .mv-image div {    bottom: 10%;      text-align: right;  }}@media (max-width: 767px) {  .mv-image span {    font-size: 1.6rem;  }  .mv-image div {    right: 4px;    bottom: 3%;    width: 36%;  }}/* 見出し */h2.heading-1 {  position: relative;  word-wrap: break-word;  font-weight: normal;  margin: 0;  padding: 10px 0;  font-size: 3.8rem;  color: #fff;  background: var(--main-color);  letter-spacing: 1px;  text-align: center;}h2.heading-1 span {  font-size: 1.4rem;  display: block;}h2.heading-1.type2:before {  content: '';  position: absolute;  top: 100%;  left: calc(50vw - 50%);  width: 0;  height: 0;  border-top: 30px solid var(--main-color);  border-left: 48vw solid transparent;  border-right: 48vw solid transparent;}h2.heading-1.black {  color: #000;  background: none;}h3.heading-3 {  position: relative;  font-size: 3rem;  text-align: center;  letter-spacing: 2px;  margin: 20px 0;}h3.heading-3 span {  font-size: 1.2rem;}h3.heading-3.type2 {  display: table;  margin: 0 auto;}h3.heading-3.type2:before {  content: '';  display: block;  margin: auto auto 0;  background: #000;  position: absolute;  top: -10px;  right: 0;  width: 100%;  height: 3px;}h3.heading-3.type2:after {  content: '';  display: block;  background: #000;  bottom: -10px;  right: 0;  position: absolute;  width: 100%;  height: 3px;  margin: auto auto 0;}@media (max-width: 767px) {  h2.heading-1 {    font-size: 1.4rem;  }  h2.heading-1 span {    font-size: 1.2rem;  }  h3.heading-3 {    font-size: 1.4rem;  }}@media (max-width: 480px) {  h2.heading-2 {    font-size: 1.6rem;  }}/* ボタン */.btn-1 {  color: #1b1b1b;  display: block;  width: 180px;  margin: 0 auto 40px;  height: auto;  padding: 16px 10px;  text-align: center;  border: var(--sub-color) 1px solid;  background: #fff;  -webkit-transition: all 0.2s ease-out;  transition: all 0.2s ease-out;}.btn-1.left {  float: left;}.btn-1.right {  float: right;}.btn-1:hover {  color: #fff;  background: var(--sub-color);}/* テーブル */.table-compare {  width: 100%;}.table-compare td, .table-compare th {  border: 1px solid var(--sub-color);  padding: 0.7em;  text-align: center;}@media (max-width: 480px) {  .table-compare td, .table-compare th {    padding: 0.7em .3em;  }}.table-compare thead th {  background: var(--main-color);  color: #fff;}.table-compare tbody th {  background: var(--pale-color);  color: #fff;}.table-schedule {  width: 100%;}.table-schedule td, .table-schedule th {  padding: 0.2em;  border-bottom: 1px solid #2D2928;  text-align: center;}@media (max-width: 480px) {  .table-schedule td, .table-schedule th {    padding: 0.7em .3em;  }}.table-schedule thead th {  color: #2D2928;}.table-schedule tbody th {  color: #2D2928;}.table-default {  width: 100%;}.table-default td, .table-default th {  padding: 0.7em 1em;  border: 1px solid var(--main-color);  vertical-align: middle;}.table-default th {  background: var(--pale-color);  color: #fff;}.table-default th.ttl{    background: #223770;}@media (max-width: 768px) {  .scroll {    width: 100%;    border-collapse: collapse;    white-space: nowrap;    overflow-x: scroll;  }}/* 流れ */span.bg {  background: var(--main-color);  color: #fff;  padding: 8px;  display: block;  margin-right: 5px;}.indent {  margin-left: 2em;  text-indent: -2em;  border-bottom: 1px solid #707070;}.indent span.bg {  display: inline;}.frame {  border: 1px solid #707070;  padding: 1em 0;  position: relative;  display: flex;  background: #fff;}.frame > .col {  padding-right: calc(30px / 2);  padding-left: calc(30px / 2);}.span_6 .frame, .span_4 .frame {  margin-top: 30px;}@media (max-width: 767px) {  .span_6 .frame, .span_4 .frame {    margin-top: 20px;  }  .frame {    display: block;  }  .frame .span_2, .frame .span_3, .frame .span_4, .frame .span_5, .frame .span_6, .frame .span_7, .frame .span_8, .frame .span_9, .frame .span_10 {    width: 100% !important;  }}.frame.arrow:after {  border-color: #707070;  border-style: solid;  border-width: 30px 1px;  content: '';  position: absolute;  right: 50%;  bottom: -61px;  z-index: -1;}.frame.arrow.end:after {  display: none;}/* リスト */dl {  margin: 0 0 1em;  line-height: 1.6;  display: flex;  flex-wrap: wrap;}dl:last-child {  margin-bottom: 0;}dl dt {  display: flex;  justify-content: space-between;  font-weight: bold;  width: 30%;  background: var(--main-color);  padding: 20px;  color: #fff;  border: 1px solid var(--pale-color);}dl dd {  padding: 20px;  margin-left: 0;  width: 70%;  border: 1px solid var(--pale-color);}dl dd:last-child {  margin-bottom: 0;}@media (max-width: 767px) {  dl dt {    width: 100%;  }  dl dd {    width: 100%;  }}/* ページトップ */.pagetop {  position: fixed;  bottom: 98px;  right: 5%;  z-index: 100;}@media (max-width: 767px) {  .pagetop {    bottom: 74px;  }}.pagetop a {  overflow: hidden;  text-indent: 100%;  white-space: nowrap;  display: inline-block;  position: relative;  width: 70px;  height: 70px;  padding: 0;  border-radius: 50%;  background: var(--main-color);}@media (max-width: 767px) {  .pagetop a {    width: 50px;    height: 50px;  }}.pagetop a:after {  content: "";  display: block;  position: absolute;  top: 50%;  left: 50%;  margin: auto;  width: 10px;  height: 10px;  border-top: 2px solid #fff;  border-left: 2px solid #fff;  -webkit-transform: translate(-50%, -20%) rotate(45deg);  transform: translate(-50%, -20%) rotate(45deg);  -webkit-transition: .2s;  transition: .2s;}/* バナーエリア */.bnr {  margin: -15px;  padding: 0;  list-style: none;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -ms-flex-wrap: wrap;  flex-wrap: wrap;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;}@media (max-width: 767px) {  .bnr {    margin: -10px;  }}.bnr li {  padding: 15px;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  max-width: 250px;}@media (max-width: 767px) {  .bnr li {    padding: 10px;  }}.bnr li a img {  margin: 0 auto;}/* ヘッダー */header {  position: absolute;  top: 0;  z-index: 10;  width: 100%;}.header-wrap {  position: relative;  margin-right: auto;  margin-left: auto;  width: auto;  min-height: 77px;  padding: 20px 40px 0;  text-align: center;}@media (max-width: 480px) {  .header-wrap:after {    border: none;  }  .header-wrap:before {    border: none;  }}@media (max-width: 767px) {  .header-wrap {    overflow: hidden;    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-align: center;    -ms-flex-align: center;    align-items: center;    width: 100%;    height: 100%;    min-height: 0;    margin-top: 0;    z-index: 999;    padding: 15px;  }}@media (max-width: 480px) {  .header-wrap {    padding: 10px 15px 10px 10px;  }}.header-main {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: justify;  -ms-flex-pack: justify;  justify-content: space-between;  width: 100%;}.header-info {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  justify-content: end;  flex-wrap: wrap-reverse}@media (max-width: 767px) {  .header-main {    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-align: center;    -ms-flex-align: center;    align-items: flex-start;    -webkit-box-pack: justify;    -ms-flex-pack: justify;    width: 100%;  }}.header-head:not(.title) {  line-height: 1;  margin: 0;  flex: none;}@media (max-width: 767px) {  .header-head:not(.title) {    margin: 0 auto 0 0;    padding: 0;    text-align: left;    width: 100%;  }}@media (max-width: 767px) {  .header-head:not(.title) {    width: 60%;  }}@media (max-width: 767px) {  .header-head:not(.title) img {    height: auto;    width: auto;  }}.header-text {  text-align: center;  border: 1px solid #fff;  color: #fff;}.header-head {  text-align: left;}.header-head a {  display: inline-block;}.header-copy:not(.title) {  color: #1b1b1b;  font-size: 1rem;  font-weight: normal;  line-height: 1.2;  margin: 0 0 20px 0;  padding: 4px 0;  border-bottom: 1px solid rgba(0, 0, 0, 0.1);  text-align: left;  position: relative;}@media (max-width: 767px) {  .header-copy:not(.title) {    display: none;  }}.tel-text {  font-size: 20px;  display: inline-block;  font-family: 'Kosugi Maru', sans-serif;  color: var(--main-color);}.header-btn {  position: fixed;  top: 8px;  right: 30px;  padding: 10px 5px;  color: #fff;  display: flex;  height: 70px;  justify-content: flex-start;}.header-btn img {  width: 60px;  height: 50px;  cursor: pointer;  background: var(--main-color);  padding: 10px;}.header-btn a {  position: relative;  margin: 0;  cursor: pointer;  background: var(--sub-color);  line-height: 1rem;  width: 150px;  padding: 25px;}.header-btn span:before {  white-space: pre-wrap;  content: "WEB予約\A 24時間受付中";  position: absolute;  display: block;  top: 5px;  right: 0;  margin: 5px;}.header-btn a:after {  content: "";  position: absolute;  display: block;  width: 40px;  height: 40px;  top: 5px;  left: 9px;  background: url(../images/calendar-clock-outline.png) no-repeat;  background-color: var(--sub-color);  background-size: contain;}.header-btn a span {  line-height: 1rem;}.header-btn a {  color: #fff;}@media (max-width: 767px) {  .header-btn {    position: relative;    width: 60px;    top: 0;  }}.header-btn > span {  display: block;  position: absolute;  right: 0;  left: 0;  bottom: -6px;  font-size: 10px;  line-height: 1;}@media (min-width: 769px) {  .header-btn img:hover {    -webkit-transition: opacity 0.2s ease-out;    transition: opacity 0.2s ease-out;    opacity: 0.7;  }}.nav {  position: fixed;  min-height: 100%;  width: 100%;  top: 0;  right: -100%;  z-index: 30000;  cursor: pointer;}.nav__wrap {  position: absolute;  top: 0;  right: 0;  width: 480px;  height: 100vh;  padding-bottom: 30px;  overflow: auto;  background: rgba(0, 17, 100, 0.90);  ;}@media (max-width: 767px) {  .nav__wrap {    width: 100%;    height: 100vh;    padding-bottom: 70px;    overflow-y: scroll;  }}.nav__btn {  position: relative;  -webkit-appearance: none;  -moz-appearance: none;  appearance: none;  display: block;  width: 26px;  height: 27px;  margin: 18px 20px 0 auto;  padding: 0;  border: none;  outline: none;  background: url(../images/close.png);  background-size: cover;  cursor: pointer;}@media (max-width: 767px) {  .nav__btn {    position: absolute;    right: 20px;    top: 20px;    width: 50px;    height: 50px;    margin: 0;  }}.nav__btn:hover {  -webkit-transition: opacity 0.2s ease-out;  transition: opacity 0.2s ease-out;  opacity: 0.7;  filter: alpha(opacity=70);  -ms-filter: "alpha(opacity=percentage(70))";  zoom: 1;}.nav__items {  margin: auto;  width: 400px;}@media (max-width: 767px) {  .nav__items {    margin-top: 0;    padding-top: 30px;    width: 290px;  }}.nav__items ul {  list-style: none;  padding: 15px 0 0 0;}.nav__items ul li a {  display: block;  padding: 10px;  font-size: 1rem;  color: #ebeddf;  border-bottom: 1px solid #fff;}@media (max-width: 767px) {  .nav__items ul li a {    background-size: 100% auto;  }}@media (min-width: 769px) {  .nav__items ul li a:hover {    -webkit-transition: opacity 0.2s ease-out;    transition: opacity 0.2s ease-out;    opacity: 0.7;    filter: alpha(opacity=70);    -ms-filter: "alpha(opacity=percentage(70))";    zoom: 1;  }}.nav__items ul li a.has_under ul.sub-menu {  padding-top: 0;  margin-right: 10px;  margin-left: 30px;}.nav__items ul li a.has_under ul.sub-menu li a {  background: #fff;  color: #fff;  font-size: 2rem;}.nav__items ul ul {  margin-top: 0;  padding-top: 0;}.nav__items ul ul li a {  border-bottom: 1px dotted #fff;  text-indent: 1em;}/* グローバルメニュー */.menu {  position: relative;  width: 100%;  background-color: #444;}.menu > ul > li > a {  padding: 20px;  display: block;  letter-spacing: .2em;}.menu ul li ul {  z-index: 100;  display: none;}.menu ul li:hover ul {  padding: 0;  display: block;}.menu {  background: linear-gradient(var(--main-color) 50%, var(--sub-color) 50%);}.menu li:hover {  background: var(--sub-color);}.menu ul {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: justify;  -ms-flex-pack: justify;  justify-content: space-between;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  margin: auto;  width: 100%;  max-width: var(--content-width);  list-style: none;}.menu li {  position: relative;  -webkit-box-flex: 1;  -ms-flex: 1;  flex: 1;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  font-weight: bold;  line-height: 1;}.menu li:after {  content: "";  display: block;  position: absolute;  top: 0;  right: 0;  bottom: 0;  background-color: #FFF;  width: 1px;}.menu li:first-child {  margin-left: 0;}.menu ul li:first-child:before {  content: "";  display: block;  position: absolute;  top: 0;  left: 0;  bottom: 0;  background-color: #FFF;  width: 1px;}.menu ul > li a {  display: block;  color: #fff;}.menu ul li:first-child {  margin-left: 0;}.menu ul li a:visited {  color: #FFF;}/* Submenu */.menu > ul li ul {  position: absolute;  top: 55px;  left: 0;  background: var(--main-color);}.menu > ul li ul li {  display: block;}li.second-level {  padding: 20px;}li.second-level:hover {  background: var(--sub-color);}ul li.second-level:first-child:before {  background: none;}ul li.second-level:after {  background: none;}@media (max-width: 767px) {  .menu {    display: none;  }}/* グローバルメニュー　別パターン */.header_nav ul {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  margin: 0 auto;  padding: 0;  width: 100%;  max-width: 1000px;  list-style: none;}.header_nav li {  position: relative;  -webkit-box-flex: 1;  -ms-flex: 1;  flex: 1;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  padding: 0 8px;  font-weight: bold;  line-height: 1;}.header_nav ul li a {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  background-color: var(--main-color);  border-radius: 50%;  width: 100px;  height: 100px;  color: #fff;}.header_nav ul li a:hover {  opacity: 0.7;}/* フッター */.footer {  padding: 60px 0 0;  background: #f2f2f2;}@media (max-width: 767px) {  .footer {    padding: 30px 0 0;  }}.footer-info {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;}@media (max-width: 767px) {  .footer-info {    display: block;  }}.footer-info__data {  -webkit-box-flex: 1;  -ms-flex: 1;  flex: 1;  padding: 0 calc(30px / 2);  color: #fff;  text-align: left;}@media (max-width: 767px) {  .footer-info__data {    margin-top: 20px;    text-align: center;  }}.footer-info__name img {  margin: auto;  width: auto !important;}.footer-info__adress {  margin-top: 5px;  line-height: 1.5em;}.footer-info__tel {  margin-top: 5px;}.footer-info__tel a {  color: #fff;}.footer__copy {  background: var(--main-color);  padding: 20px 0;  line-height: 1.42857;  text-align: center;  color: #fff;  margin: 0;}@media (max-width: 767px) {  .footer__copy {    padding: 20px 0;    line-height: 1.66667;  }}.footer-info__data .footer-info__tel {  margin-bottom: 0;}/* フローティング */#reservation {  background: rgba(35, 40, 30, 0.7);  position: fixed;  bottom: 0;  left: 0;  width: 100%;  z-index: 20002;}#reservation ul {  -webkit-box-sizing: border-box;  box-sizing: border-box;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  margin: 0 auto;  padding: 20px;  list-style: none;  width: 100%;  max-width: var(--content-width);}@media (max-width: 767px) {  #reservation ul {    padding: 5px;  }}#reservation ul li {  margin: 0 5% 0 0;  border-radius: 3px;  width: 100%;  position: relative;}#reservation ul li:last-child {  margin: 0;}#reservation ul li a {  background: var(--main-color);  color: #fff;  padding: 10px;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  font-size: 1.5rem;  border-radius: 3px;}#reservation ul li.mobile_tel_btn a {  font-size: 16px;}@media (max-width: 480px) {  #reservation ul li.mobile_tel_btn a {    pointer-events: auto;  }}/* トグル */summary {  display: block;  list-style: none;}summary::-webkit-details-marker {  display: none;}.toggle-wrap {  margin-bottom: 20px;}.toggle-wrap:last-child {  margin-bottom: 0;}.toggle_inner {  cursor: pointer;  display: flex;  flex-direction: row;  justify-content: space-between;  align-items: center;  font-weight: bold;  color: var(--main-color);  background: #e1e1e1;  line-height: 1.5rem;}.toggle_inner span.qa {  padding: 10px 20px;  background: var(--main-color);  color: #fff;  margin-right: 5px;}.icon {  display: block;  position: relative;  width: 24px;  margin-left: 6px;  flex-shrink: 0;  transform-origin: center 43%;  transition: transform 0.4s;  margin: 20px;}.icon:before {  left: 0;  transform: rotate(45deg);}.icon:after {  right: 0;  transform: rotate(-45deg);}.icon:before, .icon:after {  content: "";  position: absolute;  display: block;  width: 15px;  height: 3px;  background-color: var(--main-color);}.toggle-content p {  padding: 20px 20px 20px 40px;  background: #FFF;  margin: 0;}details[open] .icon {  transform: rotate(180deg);}/* 汎用クラス */.bg-red {  background-color: #fe266d !important;}.bg-blue {  background-color: #1646b1 !important;}.bg-green {  background-color: #5fcf32 !important;}.bg-orange {  background-color: #ffa204 !important;}.text-red {  color: #db2d2d !important;}.text-blue {  color: #2420db !important;}.text-green {  color: #6ddb20 !important;}.text-orange {  color: #db9620 !important;}.text-pink {  color: #db20b2 !important;}.text-black {  color: #000000 !important;}.text-white {  color: #FFFFFF !important;}.mt0 {  margin-top: 0px !important;}.mb0 {  margin-bottom: 0px !important;}.pb0 {  padding-bottom: 0px !important;}.pt0 {  padding-top: 0px !important;}.pall30 {  padding: 30px !important;}.mt10 {  margin-top: 10px !important;}.mt20 {  margin-top: 20px !important;}.mt30 {  margin-top: 30px !important;}.mt40 {  margin-top: 40px !important;}.mt50 {  margin-top: 50px !important;}.mt60 {  margin-top: 60px !important;}.mr10 {  margin-right: 10px !important;}.mr20 {  margin-right: 20px !important;}.mr30 {  margin-right: 30px !important;}.mr40 {  margin-right: 40px !important;}.mr50 {  margin-right: 50px !important;}.mr60 {  margin-right: 60px !important;}.mb10 {  margin-bottom: 10px !important;}.mb20 {  margin-bottom: 20px !important;}.mb30 {  margin-bottom: 30px !important;}.mb40 {  margin-bottom: 40px !important;}.mb50 {  margin-bottom: 50px !important;}.mb60 {  margin-bottom: 60px !important;}.ml10 {  margin-left: 10px !important;}.ml20 {  margin-left: 20px !important;}.ml30 {  margin-left: 30px !important;}.ml40 {  margin-left: 40px !important;}.ml50 {  margin-left: 50px !important;}.ml60 {  margin-left: 60px !important;}.pt10 {  padding-top: 10px !important;}.pt20 {  padding-top: 20px !important;}.pt30 {  padding-top: 30px !important;}.pt40 {  padding-top: 40px !important;}.pt50 {  padding-top: 50px !important;}.pt60 {  padding-top: 60px !important;}.pr10 {  padding-right: 10px !important;}.pr20 {  padding-right: 20px !important;}.pr30 {  padding-right: 30px !important;}.pr40 {  padding-right: 40px !important;}.pr50 {  padding-right: 50px !important;}.pr60 {  padding-right: 60px !important;}.pb10 {  padding-bottom: 10px !important;}.pb20 {  padding-bottom: 20px !important;}.pb30 {  padding-bottom: 30px !important;}.pb40 {  padding-bottom: 40px !important;}.pb50 {  padding-bottom: 50px !important;}.pb60 {  padding-bottom: 60px !important;}.pl10 {  padding-left: 10px !important;}.pl20 {  padding-left: 20px !important;}.pl30 {  padding-left: 30px !important;}.pl40 {  padding-left: 40px !important;}.pl50 {  padding-left: 50px !important;}.pl60 {  padding-left: 60px !important;}.text-bold {  font-weight: bold !important;}.text-center {  text-align: center !important;}.text-right {  text-align: right !important;}.text-left {  text-align: left !important;}.text-xlarge {  font-size: 2.0rem !important;}.text-large {  font-size: 2.6rem !important;}@media (max-width: 767px) {  .pc-only {    display: none !important;  }  .text-xlarge {    font-size: 1.8rem;  }  .text-large {    font-size: 1.3rem !important;  }}@media (min-width: 767px) {  .sp-only {    display: none !important;  }}@media (min-width: 767px) and (max-width: 1023px) {  .tablet-hide {    display: none !important;  }}@media (min-width: 1024px) {  .tablet-only {    display: none !important;  }}/* 背景ありコンテンツ */.content-items .row {  justify-content: center;}.bg-01 {  overflow: hidden;  position: relative;  background: url("../images/content-01-bg.png") no-repeat center;  background-size: cover;}.bg-03 {  overflow: hidden;  position: relative;  background: url("../images/content-03-bg.png") no-repeat center;  background-size: cover;}.bg-04 {  overflow: hidden;  position: relative;  background: url("../images/content-04-bg.png") no-repeat center;  background-size: cover;}.bg-05 {  overflow: hidden;  position: relative;  background: url("../images/content-05-bg.png") no-repeat center;  background-size: cover;}.bg-07 {  position: relative;}.bg-07:after {  content: "";  overflow: hidden;  position: absolute;  background: url("../images/content-07-bg.png") no-repeat center;  background-size: cover;  top: 0;  right: 0;  z-index: -2;  height: 100%;  width: 100%;}.bg-10 {  overflow: hidden;  position: relative;  background: url("../images/content-10-bg.png") no-repeat center;  background-size: cover;}.bg-11 {  overflow: hidden;  position: relative;  background: url("../images/content-11-bg.png") no-repeat center;  background-size: cover;}.bg-12 {  background: #f2f2f2;}.content-02-bg {  position: relative;  overflow: hidden;  padding: 40px 0 444px;}.content-02-bg:after {  content: "";  position: absolute;  left: 0;  top: 0;  overflow: hidden;  background: url("../images/content-02-bg.png") no-repeat center;  background-size: cover;  height: 944px;  width: 100%;  z-index: -1;}.bg-white {  background: rgba(255, 255, 255, 0.81);  padding: 20px 0;  display: block;  border: 1px solid #fff;}.bg-white p {  padding: 0 40px;}@media (max-width: 767px) {  .content-02-bg:after {    background: url("../images/content-02-spbg.png") no-repeat center;    background-size: cover;  }  .content-02-bg {    padding: 60px 0;  }  .bg-white p {    padding: 0;  }}.content05-wrap {  padding: 0 !important;  margin: 0 !important;}.greeting {  margin-top: 125px !important;  position: relative;  z-index: 3;}.greeting p {  padding-right: 30px}.greeting:after {  content: "";  position: absolute;  background: #fff;  top: -40px;  right: 0;  width: 110%;  height: 110%;  z-index: -1;  border: 1px solid #070707;}.career {  position: relative;  background: #fff;  border-top: 2px solid var(--main-color);  border-bottom: 2px solid var(--main-color);}@media (max-width: 767px) {  .greeting {    margin-top: 20px !important;    position: relative;    z-index: 3;    padding: 10px 0  }  .greeting p {    padding-right: 0  }  .greeting:after {    content: "";    position: absolute;    background: #fff;    top: 0;    right: 0;    width: 100%;    height: 100%;    z-index: -1;    border: 1px solid #070707;  }}.address {  text-align: center;  line-height: 1.5rem;}.tel {  font-size: 1.6rem;  text-align: center;  line-height: 1.5rem;  color: var(--main-color);  font-weight: bold;}.tel span {  position: relative;}.tel span:before {  content: "";  position: absolute;  left: -40px;  top: 0;  overflow: hidden;  background: url("../images/phone.png") no-repeat center;  height: 30px;  width: 30px;}.route {  text-align: center;  line-height: 1.5rem;  background: var(--main-color);  font-weight: bold;  margin: 0;  color: #fff;  padding: 10px 0;}.route span {  position: relative;  font-size: 14px;  padding-left: 15px;}.route span:before {  content: "";  position: absolute;  left: -20px;  top: -5px;  overflow: hidden;  background: url("../images/Icon ionic-md-train.png") no-repeat center;  height: 30px;  width: 25px;}.require {  padding: 0 5px;  background: #fff;  color: var(--main-color);  display: block;  height: fit-content;}.disc {  font-size: 14px;  line-height: 1.5rem;}.sub_ttl{    display: block;    text-align: center;    font-size: 28px;    margin-bottom: 10px;    font-weight: 600;}.al_ce{  align-items: center;  display: grid;  justify-content: center;}.triangle1{  width: 0;  height: 0;  border-left: 30px solid #333;  border-top: 30px solid transparent;  border-bottom: 30px solid transparent;}@media screen and (max-width: 767px) {  .triangle1{    width: 0;  height: 0;  border-left: 30px solid transparent;  border-right: 30px solid transparent;  border-top: 30px solid #333;}}.casetxt{  text-align: center;  font-size: 20px;  font-weight: 600;  background: #1646b1;  color: #fff;}#page-top a{  display: flex;  justify-content:center;  align-items:center;  width: 60px;  height: 60px;  color: #fff;  text-align: center;  text-transform: uppercase;   text-decoration: none;  font-size:0.6rem;  transition:all 0.3s;}#page-top a:hover{opacity: 0.6;}/*リンクを右下に固定*/#page-top {  position: fixed;  right: 10px;  bottom:10px;  z-index: 2;    /*はじめは非表示*/  opacity: 0;  transform: translateX(100px);}/*　左の動き　*/#page-top.LeftMove{  animation: LeftAnime 0.5s forwards;}@keyframes LeftAnime{  from {    opacity: 0;  transform: translateX(100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/*　右の動き　*/#page-top.RightMove{  animation: RightAnime 0.5s forwards;}@keyframes RightAnime{  from {    opacity: 1;  transform: translateX(0);  }  to {    opacity: 1;  transform: translateX(100px);  }}