@charset "UTF-8";
/* ================================================================= 
 License : e-TRUST Inc.
 File name : common2.css
 Style : common
================================================================= */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@font-face {
  font-family: "Noto Serif Japanese";
  font-style: normal;
  font-weight: 400;
  /*-Normal-*/
  src: url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff") format("woff"),
    url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Serif Japanese";
  font-style: normal;
  font-weight: 500;
  /*-Medium-*/
  src: url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff") format("woff"),
    url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Serif Japanese";
  font-style: normal;
  font-weight: 700;
  /*-Bold-*/
  src: url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff") format("woff"),
    url("../font/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff2") format("woff2");
}
.bor0 td {
  border: none !important;
}

li {
  list-style: none;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  counter-reset: number 0;
  line-height: 2em;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #000;
  font-family: "Noto Sans Japanese", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  word-wrap: break-word;
  overflow: hidden;
  font-size: 14px;
}

.inner {
  margin: 0 auto;
  max-width: 1200px;
}

#contents_wrap {
  width: 100%;
  min-width: 100%;
  margin-bottom: 30px;
}

#contents {
  width: 100%;
  max-width: 1200px;
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  #contents {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
@media only screen and (max-width: 540px) {
  #contents {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

#main {
  width: 100%;
}

#main #col_main {
  width: 100%;
}

#side {
  width: 18.75000%;
}

.map {
  margin: 56px 20px 0;
}

.map li {
  border-left: 5px solid #cccccc;
  list-style: none;
  margin: 0 0 15px;
  padding: 0 0 0 10px;
  text-align: left;
}

.policy h2 {
  border-bottom: 2px solid #bbbbbb;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 15px;
  padding: 0 0 5px;
}

.policy p {
  margin: 0 0 20px;
}

table {
  table-layout: fixed;
}

table td {
  padding: 0 !important;
}

.tlauto table {
  table-layout: auto;
}

table td img {
  height: auto !important;
}

.pdtd10 td {
  padding: 10px !important;
}

pre {
  margin: 0;
  padding: 0;
  white-space: pre-line;
}

b,
strong {
  font-weight: bold;
}

u {
  text-decoration: line-through;
}

img {
  max-width: 100%;
  height: auto !important;
}

small {
  font-size: 80%;
}

hr {
  border: none;
  height: 0;
  border-bottom: 1px dashed #b3b3b3;
}

span {
  font-weight: inherit;
}

u {
  text-decoration: underline;
}

b {
  font-weight: 500;
}

input[type="button"] {
  cursor: pointer;
  padding: 5px 10px;
}

a {
  text-decoration: none;
}

a:hover {
  opacity: 0.6;
}

@media screen and (min-width: 541px) and (max-width: 768px) {
  .imgR,
  .imgL {
    max-width: 30% !important;
  }
}
@media only screen and (max-width: 540px) {
  .imgR,
  .imgL {
    display: block;
    float: none;
    margin: 0 auto 10px;
    max-width: 100% !important;
    text-align: center;
  }
}

.mincho {
  font-family: "Noto Serif Japanese", "游明朝体", "Yu Mincho", YuMincho,
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.gothic {
  font-family: "Noto Sans Japanese", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
}

.center {
  text-align: center;
}

.tdpd10 td {
  padding: 10px !important;
}

@media only screen and (max-width: 540px) {
  .fltL {
    float: none;
    width: 100% !important;
  }

  .fltR {
    float: none;
    width: 100% !important;
  }

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

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

  .sptac {
    text-align: center !important;
  }

  .spcenter {
    text-align: center;
    display: block;
    margin-top: 10px;
  }
}
@-webkit-keyframes zoom {
  50% {
    -webkit-transform: scale(1.1);
  }
}
@keyframes zoom {
  50% {
    transform: scale(1.1);
  }
}
header#global_header {
  max-width: 100%;
  width: 100%;
  min-width: 100%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  header#global_header {
    margin-bottom: 50px;
  }
}

#header {
  width: 100%;
}
#header .hedwrap {
  position: relative;
  background: url(../images/common/bg_1.png);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.6);
  margin-bottom: 45px;
}
#header .hedwrap:before {
  content: url(../images/common/lefttop.png);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}
#header .hedwrap:after {
  content: url(../images/common/righttop.png);
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
}
#header .hedwrap h1,
#header .hedwrap p {
  position: relative;
  z-index: 1;
  text-align: left;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 40px;
}
@media only screen and (max-width: 540px) {
  #header .hedwrap h1,
  #header .hedwrap p {
    z-index: -1;
  }
}
#header .flexwrap {
  font-family: 'Quicksand', sans-serif;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  #header .flexwrap {
    padding: 0 10px;
  }
}
@media only screen and (max-width: 540px) {
  #header .flexwrap {
    display: block;
  }
}
#header .flexwrap .flxL {
  width: 28%;
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxL {
    width: 100%;
  }
}
#header .flexwrap .flxL #siteID a {
  display: block;
  opacity: 1;
  text-align: left;
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxL #siteID a {
    text-align: center;
    margin-bottom: 30px;
  }
}
#header .flexwrap .flxR {
  width: 70%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR {
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: start;
  }
}
#header .flexwrap .flxR .tel {
  color: #000;
  margin-right: 1vw;
  font-size: 30px;
  font-size: 3.125vw;
}
@media only screen and (min-width: 960px) {
  #header .flexwrap .flxR .tel {
    font-size: 30px;
  }
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .tel {
    display: table;
    width: 49%;
    margin-right: 0;
    margin-bottom: 5px;
  }
}
#header .flexwrap .flxR .tel address {
  margin-bottom: 5px;
  font-size: 13px;
  font-size: 1.3541666667vw;
}
@media only screen and (min-width: 960px) {
  #header .flexwrap .flxR .tel address {
    font-size: 13px;
  }
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .tel address {
    display: none;
    font-size: 10px;
  }
}
#header .flexwrap .flxR .tel i {
  font-size: 25px;
  margin-right: 10px;
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .tel i {
    font-size: 25px;
    font-size: 2.6041666667vw;
    display: block;
    margin-right: 0;
  }
}
@media only screen and (max-width: 540px) and (min-width: 960px) {
  #header .flexwrap .flxR .tel i {
    font-size: 25px;
  }
}

#header .flexwrap .flxR .tel a {
  color: #000;
  display: block;
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .tel a {
    line-height: 1.7em;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    background: #ad9e81;
    color: #fff;
    padding: 15px 5px;
    font-weight: 700;
    font-size: 11px;
  }
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .cont2 {
    margin-bottom: 5px;
  }
}
#header .flexwrap .flxR .cont {
  width: 100px;
  height: 100px;
  display: table;
  margin-right: 0.5vw;
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .cont {
    height: auto;
    width: 49%;
    margin-right: 0;
  }
}
#header .flexwrap .flxR .cont a {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  background: #ad9e81;
  color: #fff;
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .cont a {
    padding: 15px 5px;
  }
}
#header .flexwrap .flxR .cont a i {
  font-weight: 500;
  color: #fff;
  display: block;
  font-size: 20px;
  font-size: 2.0833333333vw;
}
@media only screen and (min-width: 960px) {
  #header .flexwrap .flxR .cont a i {
    font-size: 20px;
  }
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .cont a i {
    font-size: 11px;
  }
}
#header .flexwrap .flxR .cont a span {
  font-weight: 700;
  display: block;
  line-height: 1.7em;
  font-size: 13px;
  font-size: 1.3541666667vw;
}
@media only screen and (min-width: 960px) {
  #header .flexwrap .flxR .cont a span {
    font-size: 13px;
  }
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .cont a span {
    font-size: 11px;
  }
}
#header .flexwrap .flxR .access {
  width: 100px;
  height: 100px;
  display: table;
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .access {
    height: auto;
    width: 49%;
  }
}
#header .flexwrap .flxR .access a {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  background: #ad9e81;
  color: #fff;
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .access a {
    padding: 15px 5px;
  }
}
#header .flexwrap .flxR .access a i {
  color: #fff;
  display: block;
  font-size: 20px;
  font-size: 2.0833333333vw;
}
@media only screen and (min-width: 960px) {
  #header .flexwrap .flxR .access a i {
    font-size: 20px;
  }
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .access a i {
    font-size: 11px;
  }
}
#header .flexwrap .flxR .access a span {
  font-weight: 700;
  display: block;
  line-height: 1.7em;
  font-size: 13px;
  font-size: 1.3541666667vw;
}
@media only screen and (min-width: 960px) {
  #header .flexwrap .flxR .access a span {
    font-size: 13px;
  }
}
@media only screen and (max-width: 540px) {
  #header .flexwrap .flxR .access a span {
    font-size: 11px;
  }
}

#nav_global {
  margin: 0 auto;
  clear: both;
  position: relative;
}
#nav_global:before {
  content: url(../images/common/leftbottom.png);
  position: absolute;
  left: -100px;
  top: 0;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  #nav_global:before {
    z-index: -1;
  }
}
#nav_global:after {
  content: url(../images/common/rightbottom.png);
  position: absolute;
  right: -100px;
  top: 0;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  #nav_global:after {
    z-index: -1;
  }
}
@media only screen and (max-width: 768px) {
  #nav_global {
    float: none;
    margin: 0;
    height: 0;
  }
}
#nav_global .btn {
  display: none;
}
@media only screen and (max-width: 768px) {
  #nav_global .btn {
    position: fixed;
    color: #fff;
    display: block;
    right: 10px;
    top: 10px;
    z-index: 9999;
    background-color: #0044f7;
    cursor: pointer;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    text-align: center;
    font-size: 20px;
    line-height: 44px;
  }
}
#nav_global .btn:hover {
  filter: alpha(opacity=90);
  opacity: .90;
}
#nav_global .check {
  display: none;
}
#nav_global .check:checked + ul {
  top: 64px;
}
#nav_global .check:checked + ul + .cbtn {
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}
#nav_global ul {
  padding: 50px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  #nav_global ul {
    padding: 0;
    position: fixed;
    z-index: 999;
    display: block;
    background-color: #fff;
    width: 90%;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -600px;
    list-style-type: none;
    border-radius: 10px;
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
  }
}
@media only screen and (max-width: 768px) {
  #nav_global ul li {
    float: none;
  }
  #nav_global ul li + li {
    border-top: 1px dotted #ddd;
  }
}
#nav_global ul li a {
  font-weight: 500;
  display: block;
  font-size: 14px;
  color: #484848;
  text-decoration: none;
}
@media only screen and (max-width: 768px) {
  #nav_global ul li a {
    padding: 15px 10px;
    display: block;
    padding: 10px;
    text-align: center;
    text-decoration: none;
  }
}
#nav_global ul li a:hover {
  opacity: 1;
  -webkit-animation: .3s;
  animation: zoom .3s;
}
@media only screen and (max-width: 768px) {
  #nav_global .cbtn {
    z-index: 99;
    display: none;
    top: 0;
    left: 0;
    position: fixed;
  }
}

#mainArea {
  width: 100%;
  z-index: 0;
}
#mainArea #slider {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #mainArea #slider {
    margin: 0 auto;
  }
}
#mainArea #slider li img {
  width: 100%;
  height: 40vw !important;
  object-position: center;
  object-fit: cover;
  font-family: 'object-fit: cover; object-position: bottom;';
}
#mainArea .slick-prev,
#mainArea .slick-next {
  display: none !important;
}
#mainArea .slick-prev:before,
#mainArea .slick-next:before {
  display: none;
}

.mean-container .mean-bar {
  background: #ef9916 !important;
  position: fixed !important;
}

.mean-container .mean-nav {
  background: #ef9916 !important;
}

.mean-container .mean-nav ul li a {
  border-top: 1px solid #fff !important;
}

.mean-container .mean-nav ul li a.mean-expand:hover {
  /*background-color: #e9832f !important;*/
}

body header #local-keyvisual {
  position: relative;
}

body header #local-keyvisual h1 {
  color: #fff;
  font-size: 2.813em;
  padding: 150px 0;
  background: rgba(28, 28, 28, 0.5);
  z-index: 1;
  position: relative;
  font-family: 'Quicksand', sans-serif;
}
@media only screen and (max-width: 540px) {
  body header #local-keyvisual h1 {
    padding: 100px 0;
  }
}

body header #local-keyvisual #local-keyvisual-bg,
body header #local-keyvisual .local-keyvisual-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background-size: cover;
  background-position: center center;
}

footer#global_footer {
  width: 100%;
  min-width: 100% !important;
  height: auto;
  font-size: 16px;
  color: #000;
  font-weight: 700;
  margin-top: auto;
}
footer#global_footer a {
  color: #000;
  text-decoration: none;
}
footer#global_footer a:hover {
  text-decoration: underline;
}
footer#global_footer #nav_footer {
  font-family: 'Quicksand', sans-serif;
  margin-bottom: 30px;
  display: inline-block;
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  footer#global_footer #nav_footer {
    display: none;
  }
}
@media only screen and (max-width: 540px) {
  footer#global_footer #nav_footer {
    display: none;
  }
}
footer#global_footer #nav_footer li {
  float: left;
}
footer#global_footer #nav_footer li:before {
  content: "";
  padding: 0 10px;
}
footer#global_footer #nav_footer li a {
  color: #000;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}
footer#global_footer #nav_footer li a:hover {
  opacity: 0.6;
}
footer#global_footer #copy {
  text-align: center;
  font-size: 13px;
  display: block;
}
footer#global_footer #copy a {
  text-decoration: none;
}
footer#global_footer #copy a:hover {
  opacity: 0.6;
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  footer#global_footer #copy a {
    line-height: 60px;
  }
}

@font-face {
  font-family: 'WF_matchbook';
  src: url("../font/WF_matchbook.eot") format("oldIE"),
    url("../font/WF_matchbook.woff") format("woff"),
    url("../font/WF_matchbook.otf") format("truetype");
}
.cont_1 {
  position: relative;
  width: 100vw;
  height: 100%;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/common/bg_1.png);
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  .cont_1 {
    margin-bottom: 50px;
  }
}
.cont_1:before {
  content: url(../images/common/leftcon.png);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}
.cont_1:after {
  content: url(../images/common/rightcon.png);
  position: absolute;
  right: 0;
  bottom: 100px;
  z-index: 0;
}

.bg_100per_wrap {
  z-index: 1;
  position: relative;
  padding: 50px 0 20px !important;
  margin-left: -2.4390243902% !important;
  margin-top: 0px;
}
@media only screen and (max-width: 768px) {
  .bg_100per_wrap {
    margin-top: 50px;
  }
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .bg_100per_wrap {
    margin-left: -3.2258064516% !important;
  }
}
@media only screen and (max-width: 540px) {
  .bg_100per_wrap {
    margin-left: 0 !important;
  }
}
@media only screen and (max-width: 768px) {
  .bg_100per_wrap .inner {
    padding: 0 10px;
  }
}
.bg_100per_wrap .box {
  position: relative;
  background: #fff;
  padding: 10px;
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.6);
  font-family: 'WF_matchbook';
  font-size: 13px;
  float: left;
  width: 30.8943089431% !important;
  margin-left: 2.4390243902% !important;
  margin-bottom: 2.4390243902% !important;
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .bg_100per_wrap .box {
    width: 46.7741935484% !important;
    margin-left: 3.2258064516% !important;
    display: block;
  }
}
@media only screen and (max-width: 540px) {
  .bg_100per_wrap .box {
    width: 100% !important;
    margin-left: 0 !important;
    margin-bottom: 20px !important;
  }
}
.bg_100per_wrap .box td {
  border: 0 !important;
}
.bg_100per_wrap .box img {
  margin-bottom: 15px;
  width: 100% !important;
}
.bg_100per_wrap .box .no {
  color: #2e2e2e;
  font-size: 150px;
  font-size: 15.625vw;
  padding-bottom: 20px !important;
}
@media only screen and (min-width: 960px) {
  .bg_100per_wrap .box .no {
    font-size: 150px;
  }
}
@media only screen and (max-width: 540px) {
  .bg_100per_wrap .box .no {
    font-size: 100px;
  }
}
.bg_100per_wrap .box .no p {
  z-index: 1;
  position: relative;
}
.bg_100per_wrap .box .ttl {
  font-size: 16px;
  font-weight: 700;
}

.cont_2 {
  position: relative;
  width: 100vw;
  height: 100%;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/common/pt_2.png);
}
.cont_2:before {
  content: url(../images/common/leftcon2.png);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
}
.cont_2:after {
  content: url(../images/common/rightcon2.png);
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
}

.bg_100per_wrap2 {
  z-index: 1;
  position: relative;
  padding: 50px 0 45px !important;
  margin-left: -1.2345679012% !important;
  margin-top: 100px;
}
@media only screen and (max-width: 768px) {
  .bg_100per_wrap2 {
    margin-top: 50px;
  }
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .bg_100per_wrap2 {
    margin-left: -3.2258064516% !important;
  }
}
@media only screen and (max-width: 540px) {
  .bg_100per_wrap2 {
    margin-left: -1.6393% !important;
  }
}
@media only screen and (max-width: 768px) {
  .bg_100per_wrap2 .inner {
    padding: 0 10px;
  }
}
.bg_100per_wrap2 li {
  position: relative;
  background: #fff;
  float: left;
  width: 18.7654320988% !important;
  margin-left: 1.2345679012% !important;
  margin-bottom: 1.2345679012% !important;
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .bg_100per_wrap2 li {
    width: 46.7741935484% !important;
    margin-left: 3.2258064516% !important;
    display: block;
  }
}
@media only screen and (max-width: 540px) {
  .bg_100per_wrap2 li {
    width: 48.3606% !important;
    margin-left: 1.6393% !important;
  }
}
.bg_100per_wrap2 li td {
  border: 0 !important;
}
.bg_100per_wrap2 li img {
  font-family: 'object-fit: cover;';
  object-fit: cover;
  height: 18vw !important;
  width: 100% !important;
}
@media only screen and (min-width: 1200px) {
  .bg_100per_wrap2 li img {
    height: 220px !important;
  }
}
@media only screen and (max-width: 768px) {
  .bg_100per_wrap2 li img {
    height: 45vw !important;
  }
}

.news {
  font-size: 13px;
  height: 400px;
  overflow-y: scroll;
}
.news div {
  border-bottom: 0 !important;
}
.news ul {
  padding-right: 10px;
}
.news li {
  width: 100% !important;
  border-top: 1px solid #000;
  padding: 30px 0;
}
.news li span {
  width: 150px;
  display: table-cell;
  vertical-align: middle;
  color: #000;
}
@media only screen and (max-width: 540px) {
  .news li span {
    width: 100px;
  }
}

.pankuzu {
  margin: 30px 0;
}
.pankuzu a {
  color: #000;
}

/* title */
.midashi {
  margin-bottom: 50px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .midashi {
    margin-bottom: 30px;
  }
}
.midashi h2 {
  padding: 0 20px 15px 20px;
  display: inline-block;
  line-height: 1.7em;
  color: #72bfe8;
  font-weight: 700;
  background: url(../images/common/midashi_1.png) repeat-x left bottom;
  font-size: 30px;
  font-size: 3.125vw;
}
@media only screen and (min-width: 960px) {
  .midashi h2 {
    font-size: 30px;
  }
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .midashi h2 {
    font-size: 30px;
  }
}
@media only screen and (max-width: 540px) {
  .midashi h2 {
    font-size: 25px;
  }
}
.midashi h2 i {
  color: #484848;
  padding-right: 10px;
}

.midashi2 {
  margin-bottom: 50px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .midashi2 {
    margin-bottom: 30px;
  }
}
.midashi2 h2 {
  padding: 0 20px 15px 20px;
  display: inline-block;
  line-height: 1.7em;
  color: #6f5118;
  font-weight: 700;
  background: url(../images/common/midashi_2.png) repeat-x left bottom;
  font-size: 30px;
  font-size: 3.125vw;
}
@media only screen and (min-width: 960px) {
  .midashi2 h2 {
    font-size: 30px;
  }
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .midashi2 h2 {
    font-size: 30px;
  }
}
@media only screen and (max-width: 540px) {
  .midashi2 h2 {
    font-size: 25px;
  }
}
.midashi2 h2 i {
  color: #484848;
  padding-right: 10px;
}

.midashi3 {
  margin-bottom: 50px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .midashi3 {
    margin-bottom: 30px;
  }
}
.midashi3 h2 {
  padding: 0 20px 15px 20px;
  display: inline-block;
  line-height: 1.7em;
  color: #fff;
  font-weight: 700;
  background: url(../images/common/midashi_3.png) repeat-x left bottom;
  font-size: 30px;
  font-size: 3.125vw;
}
@media only screen and (min-width: 960px) {
  .midashi3 h2 {
    font-size: 30px;
  }
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .midashi3 h2 {
    font-size: 30px;
  }
}
@media only screen and (max-width: 540px) {
  .midashi3 h2 {
    font-size: 25px;
  }
}
.midashi3 h2 i {
  color: #484848;
  padding-right: 10px;
}

.midashi4 {
  margin-bottom: 30px;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .midashi4 {
    margin-bottom: 20px;
  }
}
.midashi4 h2 {
  padding: 0 0 15px 0;
  line-height: 1.7em;
  color: #000;
  font-weight: 700;
  border-bottom: solid 3px #0052fa;
  font-size: 30px;
  font-size: 3.125vw;
}
@media only screen and (min-width: 960px) {
  .midashi4 h2 {
    font-size: 30px;
  }
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .midashi4 h2 {
    font-size: 30px;
  }
}
@media only screen and (max-width: 540px) {
  .midashi4 h2 {
    font-size: 20px;
  }
}
.midashi4 h2 span {
  display: block;
  font-size: 16px;
}

.midashi5 {
  margin-bottom: 50px;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .midashi5 {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 540px) {
  .midashi5 {
    width: 100%;
  }
}
.midashi5 h2 {
  position: relative;
  padding-left: 45px;
  color: #191919;
  font-weight: 700;
  font-family: "Noto Serif Japanese", "游明朝体", "Yu Mincho", YuMincho,
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 30px;
  font-size: 3.125vw;
}
@media only screen and (min-width: 960px) {
  .midashi5 h2 {
    font-size: 30px;
  }
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .midashi5 h2 {
    font-size: 30px;
  }
}
@media only screen and (max-width: 540px) {
  .midashi5 h2 {
    font-size: 25px;
  }
}
.midashi5 h2 span {
  font-size: 20px;
}
.midashi5 h2:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  margin-top: 0;
  background: #191919;
  height: 2px;
}

.midashi6 {
  margin-bottom: 50px;
  text-align: left;
  width: 50%;
}
@media only screen and (max-width: 768px) {
  .midashi6 {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 540px) {
  .midashi6 {
    width: 100%;
  }
}
.midashi6 h2 {
  position: relative;
  padding-left: 45px;
  color: #191919;
  font-weight: 700;
  font-family: "Noto Serif Japanese", "游明朝体", "Yu Mincho", YuMincho,
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 20px;
  font-size: 2.0833333333vw;
}
@media only screen and (min-width: 960px) {
  .midashi6 h2 {
    font-size: 20px;
  }
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .midashi6 h2 {
    font-size: 20px;
  }
}
@media only screen and (max-width: 540px) {
  .midashi6 h2 {
    font-size: 18px;
  }
}
.midashi6 h2 span {
  font-size: 16px;
}
.midashi6 h2:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  margin-top: 0;
  background: #191919;
  height: 2px;
}

.menuov:nth-of-type(even) .midashi6 {
  float: right;
}

@media only screen and (max-width: 540px) {
  .dlwrap dl {
    display: block !important;
  }
  .dlwrap dl dt {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    border-right: 1px solid #ccc !important;
  }
  .dlwrap dl dd {
    width: 100% !important;
    text-align: center !important;
  }
}

.staff {
  display: flex;
  justify-content: space-between;
  align-items: top;
  border-bottom: 1px dashed #ccc;
  padding-bottom: 50px;
}
@media only screen and (max-width: 540px) {
  .staff {
    display: block;
  }
}
.staff .flxL {
  width: 15%;
}
@media only screen and (max-width: 540px) {
  .staff .flxL {
    width: 100%;
  }
}
.staff .flxL img {
  width: 100% !important;
}
.staff .flxR {
  width: 83%;
}
@media only screen and (max-width: 540px) {
  .staff .flxR {
    width: 100%;
  }
}

/* box */
.style {
  margin-left: -1.6393442623% !important;
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  .style {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 768px) {
  .style {
    margin-left: -3.2258064516% !important;
  }
}
.style .box {
  font-size: 16px;
  text-align: center;
  float: left;
  width: 18.3606557377% !important;
  margin-left: 1.6393442623% !important;
  margin-bottom: 1.6393442623% !important;
}
@media only screen and (max-width: 768px) {
  .style .box {
    width: 46.7741935484% !important;
    margin-left: 3.2258064516% !important;
    display: block;
  }
}
.style .box img {
  font-family: 'object-fit: cover;';
  object-fit: cover;
  height: 18vw !important;
  width: 100% !important;
}
@media only screen and (min-width: 1200px) {
  .style .box img {
    height: 220px !important;
  }
}
@media only screen and (max-width: 768px) {
  .style .box img {
    height: 45vw !important;
  }
}

/* box */
.style2 {
  margin-left: -1.6393442623% !important;
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  .style2 {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 768px) {
  .style2 {
    margin-left: -3.2258064516% !important;
  }
}
.style2 .box {
  font-size: 16px;
  text-align: center;
  width: 18.3606557377% !important;
  margin-left: 1.6393442623% !important;
  margin-bottom: 1.6393442623% !important;
}
@media only screen and (max-width: 768px) {
  .style2 .box {
    width: 46.7741935484% !important;
    margin-left: 3.2258064516% !important;
    display: block;
  }
}
.style2 .box img {
  width: 100% !important;
}

.menuwrap {
  display: flex;
  justify-content: space-between;
  align-items: top;
  border-bottom: 1px dashed #ccc;
  padding-bottom: 100px;
  margin-bottom: 100px;
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .menuwrap {
    padding-bottom: 50px;
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 540px) {
  .menuwrap {
    display: block;
    padding-bottom: 0;
    margin-bottom: 50px;
  }
}
.menuwrap .flxL {
  width: 100%;
}
@media only screen and (max-width: 540px) {
  .menuwrap .flxL {
    width: 100%;
  }
}
.menuwrap .flxL .menudl dt,
.menuwrap .flxL .menudl dd {
  font-size: 13px;
  border: 0 !important;
  border-bottom: 1px dashed #ccc !important;
  background-color: inherit !important;
  padding: 8px 0 !important;
}
.menuwrap .flxL .menudl dd {
  text-align: right !important;
}
.menuwrap .flxR {
  width: 0;
}
@media only screen and (max-width: 540px) {
  .menuwrap .flxR {
    width: 100%;
  }
}
.menuwrap .flxR img {
  width: 100% !important;
}

.menuwrap2 {
  display: flex;
  justify-content: space-between;
  align-items: top;
  border-bottom: 1px dashed #ccc;
  padding-bottom: 100px;
  margin-bottom: 100px;
}
@media screen and (min-width: 541px) and (max-width: 768px) {
  .menuwrap2 {
    padding-bottom: 50px;
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 540px) {
  .menuwrap2 {
    display: block;
    padding-bottom: 0;
    margin-bottom: 50px;
  }
}
.menuwrap2 .flxL {
  width: 48%;
}
@media only screen and (max-width: 540px) {
  .menuwrap2 .flxL {
    width: 100%;
  }
}
.menuwrap2 .flxL .menudl dt,
.menuwrap2 .flxL .menudl dd {
  font-size: 13px;
  border: 0 !important;
  border-bottom: 1px dashed #ccc !important;
  background-color: inherit !important;
  padding: 8px 0 !important;
}
.menuwrap2 .flxL .menudl dd {
  text-align: right !important;
}
.menuwrap2 .flxR {
  width: 48%;
}
@media only screen and (max-width: 540px) {
  .menuwrap2 .flxR {
    width: 100%;
  }
}
.menuwrap2 .flxR img {
  width: 100% !important;
}

.menuov2:nth-of-type(even) .menuwrap2 {
  flex-direction: row-reverse;
}

.rec h3 {
  font-weight: 700;
  font-size: 18px;
  border-bottom: 1px dashed #ccc;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.rec p {
  color: #363636;
  font-size: 13px;
}

.auj {
  display: flex;
  justify-content: space-between;
  align-items: top;
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  .auj {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 540px) {
  .auj {
    display: block;
  }
}
.auj h2 {
  font-size: 25px;
  margin-bottom: 30px;
}
@media only screen and (max-width: 540px) {
  .auj h2 {
    font-size: 20px;
  }
}
.auj h2 a {
  color: #000;
}
.auj h3 {
  font-size: 20px;
}
.auj table td {
  vertical-align: top;
  border: 0;
  padding: 10px !important;
}
@media only screen and (max-width: 540px) {
  .auj table td {
    width: 100% !important;
    padding: 0 !important;
  }
}
.auj table td img {
  width: 100%;
}
.auj .flxL {
  width: 48%;
}
@media only screen and (max-width: 540px) {
  .auj .flxL {
    width: 100%;
  }
}
.auj .flxR {
  width: 48%;
}
@media only screen and (max-width: 540px) {
  .auj .flxR {
    width: 100%;
    margin-top: 50px;
  }
}

.contact {
  margin-top: 15px;
  display: block;
  height: auto;
  padding: 5%;
  background-color: #f2f2ef;
}
.contact dt {
  display: block;
  margin-bottom: 10px;
  color: #194926;
  font-size: 10pt;
  text-align: left;
  background: none !important;
}
.contact dd {
  display: block;
  margin-bottom: 50px;
  color: #194926;
  font-size: 10pt;
}
.contact dd input {
  border-radius: 5px;
}
.contact dt,
.contact dd {
  border: 0 !important;
  padding: 0 !important;
  background: none !important;
  text-align: left !important;
}

.contact_txt a {
  color: #000;
}

/*# sourceMappingURL=common2.css.map */
