@charset "UTF-8";
/* entryTitle */
.entryTitle {
  position: relative;
  min-width: 1280px;
  max-width: 1920px;
  /*height: 560px;*/
  height: 540px;
  margin: 100px auto 0;
  /*background: #da6992;*/
  /*overflow: hidden;*/
}
.entryTitle .entry {
  /*text-align: right;*/
  /*width: 1920px;*/
  width: 100%;
  display: block;
  /*position: absolute;*/
  /*top: 50%;*/
  /*left: 50%;*/
  /*transform: translate(-50%, -50%);*/
  /*z-index: 0;*/
}
.entryTitle h1 {
  /*position: relative;*/
  /*width: 1280px;*/
  width: 1000px;
  position: absolute;
  /*top: 50%;*/
  bottom: -2.5%;
  /*left: 50%;*/
  left: 0;
  right: 0;
  /*transform: translate(-50%, -50%);*/
  z-index: 1;
  color: #b90746;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 32px;
  font-weight: bold;
  margin: 0 auto ;
  background:#e1d1d199;
  text-align: center;
  padding: 15px;
}
/*
.entryTitle h1::before {
  content: "";
  position: absolute;
  top: -80px;
  left: -100px;
  margin: auto;
  width: 249px;
  height: 44px;
  background: url(../images/deco_entrytitle.png) no-repeat top center;
  background-size: 100% auto;
}
.entryTitle h1::after {
  content: "";
  position: absolute;
  bottom: -80px;
  left: 140px;
  margin: auto;
  width: 249px;
  height: 44px;
  background: url(../images/deco_entrytitle.png) no-repeat top center;
  background-size: 100% auto;
}
*/
.entryTitle h1 span {
  display: block;
  /*color: #f5e1e4;*/
  /*font-family: "Sacramento", cursive;*/
  font-size: 21px;
  font-weight: normal;
  letter-spacing: 0;
}
.entryTitle img{
  width: 100%;
  height: 500px;
  object-fit: cover;
  vertical-align: middle;

}
/* entryTitle */
/*--- breadcrumb ---*/
.breadcrumb {
  position: relative;
  margin: 3% 0 0;
}
.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  list-style: none;
  font-size: 13px;
  width: 1280px;
  padding: 15px 40px;
  margin: auto;
}
.breadcrumb ol li {
  display: block;
  white-space: nowrap;
}
.breadcrumb ol li a {
  color: #c54d78;
  display: block;
  font-weight: normal;
}
.breadcrumb ol li a::after {
  content: ">";
  display: inline-block;
  color: #34323d;
  margin: 0 10px;
}
.breadcrumb ol li a:hover {
  color: #900808;
}
.breadcrumb ol li:last-child::after {
  display: none;
}

/*--- important ---*/
.important {
  color: #b80c0c;
}

.under {
  background: linear-gradient(transparent 70%, #fbd6e8 70%);
}

.container {
  max-width: 1920px;
  min-width: 1280px;
  padding: 80px 0 80px;
  margin: auto;
}

/*--- main ---*/
main {
  /*--- flexBox ---*/
  /*--- area01 ---*/
  /*--- area02 ---*/
  /*--- area03 ---*/
  /*--- intro ---*/
  /*--- btn01 ---*/
  /*================================ indexMenuCol ===============================*/
  /*--- table ---*/
  /*--- gmap ---*/
  /*================================ photoGallery ===============================*/
  /*--- photoGallery ---*/
  /*================================ multiple-item04 ===============================*/
  /*================================ contentsSubNavi ===============================*/
  /*================================ campaignArea ===============================*/
  /*================================ blogArea ===============================*/
  /*================================ bannerArea ===============================*/
  /*================================ bannerArea02 ===============================*/
}
main .inner {
  position: relative;
  z-index: 0;
  width: 1280px;
  margin: auto;
  padding: 0 40px;
}
/*
main .inner::after {
  content: "";
  opacity: 0.3;
  position: absolute;
  top: 300px;
  right: -250px;
  z-index: -1;
  width: 527px;
  height: 504px;
  background: url(../images/deco_ryusen.png) no-repeat;
  background-size: 100% auto;
  transform: scale(-1, 1);
}
main .inner::before {
  content: "";
  opacity: 0.3;
  position: absolute;
  top: 0px;
  left: -250px;
  z-index: -1;
  width: 527px;
  height: 504px;
  background: url(../images/deco_ryusen.png) no-repeat;
  background-size: 100% auto;
}
*/
main section {
  margin: 0;
}
main p {
  line-height: 1.8;
  margin: 0.5em 0;
}
main .catch {
  color: #333333;
  font-size: 20px;
  font-weight: bold;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  line-height: 1.3;
  margin: 0 0 10px 0;
  padding: 0 15px;
}
main .lead {
  font-family: "Kosugi Maru", sans-serif;
  font-weight: normal;
  font-size: 18px;
  margin: 3em 0 3em;
  line-height: 1.5;
  letter-spacing: 0;
}
main .bld {
  font-weight: bold;
}
main .tCenter {
  text-align: center;
}
main .inlineB {
  text-align: center;
}
main .inlineB p {
  display: inline-block;
  text-align: left;
}
main .imgC {
  text-align: center;
  display: block;
  margin: 50px auto;
  width: 100%;
}
main .imgC img {
  max-width: 1120px;
  height: auto;
}
main .imgF {
  display: block;
  margin: 50px auto;
  width: 100%;
  max-width: 1000px;
}
main ol {
  margin: 10px 0;
  padding-left: 2em;
}
main ol li {
  line-height: 1.6;
}
main ul li {
  line-height: 1.6;
}
main ul.listD {
  padding-left: 2em;
  margin: 0.5em 0;
  list-style-type: disc;
}
main ul.listT {
  display: flex;
  flex-wrap: wrap;
}
main ul.listT li {
  color: #fff;
  font-size: 14px;
  padding: 5px 10px;
  margin: 5px;
  border-radius: 5px;
  background: #64c4d0;
}
main .mt-0 {
  margin-top: 0 !important;
}
main .mt-10 {
  margin-top: 10px !important;
}
main .mt-20 {
  margin-top: 20px !important;
}
main .mt-30 {
  margin-top: 30px !important;
}
main .mt-40 {
  margin-top: 40px !important;
}
main .mt-50 {
  margin-top: 50px !important;
}
main .mt-100 {
  margin-top: 100px !important;
}
main .mt-150 {
  margin-top: 180px !important;
}
main .mt-180 {
  margin-top: 180px !important;
}
main .mb-0 {
  margin-bottom: 0 !important;
}
main .mb-10 {
  margin-bottom: 10px !important;
}
main .mb-20 {
  margin-bottom: 20px !important;
}
main .mb-30 {
  margin-bottom: 30px !important;
}
main .mb-50 {
  margin-bottom: 50px !important;
}
main .ml-10 {
  margin-left: 10px !important;
}
main .ml-20 {
  margin-left: 20px !important;
}
main .mr-10 {
  margin-right: 10px !important;
}
main .mr-20 {
  margin-right: 20px !important;
}
main .f-jc {
  justify-content: center;
}
main h1 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 165px;
  text-align: center;
  margin-top: -80px;
  background: #76655d url(../images/bgH1.png) no-repeat top center;
}
main h1::before {
  content: "";
  position: absolute;
  left: -849px;
  right: 0;
  bottom: -60px;
  width: 351px;
  height: 177px;
  margin: auto;
  background: url(../images/decoH1.png) no-repeat top center;
}
main h1 P {
  display: flex;
  align-items: center;
  text-align: center;
  color: #fff;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.5;
}
main h1 P::before {
  display: block;
  content: "";
  width: 70px;
  height: 3px;
  background: #fff;
  margin-right: 20px;
}
main h1 P::after {
  display: block;
  content: "";
  width: 70px;
  height: 3px;
  background: #fff;
  margin-left: 20px;
}
main h2 {
  position: relative;
  display: block;
  color: #333333;
  font-family: "Kosugi Maru", sans-serif;
  font-weight: 500;
  font-size: 26px;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  /*background: url(../images/deco_h2_common.png) no-repeat top center;*/
  padding-top: 60px;
  margin: 2.5em 0 2em;
}
main h2 span,
main h3 span {
  display: block;
  font-size: 18px;
}
main h3 {
  display: block;
  color: #fff;
  font-weight: normal;
  font-family: "Kosugi Maru", sans-serif;
  font-size: 20px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0;
  border-top: 5px solid #e37ca1;
  border-bottom: 5px solid #e37ca1;
  padding: 25px;
  margin: 4em 0 2em;
  background: #c54d78 url(../images/bg_h3.png) repeat-y top center;
}
#items main h3 {
  border: none;
  background: #fff;
  position: relative;
  /*border-bottom: 1px solid #ddd;*/
  color: #858383;
  padding: 40px 0 30px;
  margin: 10% 0 5%;
  font-size: 36px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
#items main h3::before {
  content:'';
  display: block;
  margin: 0 auto 15px;
  height:93px;
  width: 610px;
  background-image: url(../item/images/flm1.png);
  background-size: contain;
  background-repeat: no-repeat;
}
#items main h3::after {
  content: '';
  display: block;
  margin: 15px auto 0;
  height: 51px;
  width: 610px;
  background-image: url(../item/images/flm2.png);
  background-size: contain;
  background-repeat: no-repeat;
}
#items main .go_a_page{
  background: url(/item/images/entrytitle2.jpg) no-repeat center center;
  width: 100%;
  height: 100%;
  padding: 8% 5%;
  display: block;
}
#items main .go_a_page .go_a_page_txt{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  color:#1c9b99;
  text-shadow: 1px 1px 0px #ffffff;
}
#items main .go_a_page .go_a_page_subtxt{
  color:#fff2e9;
  text-shadow: 2px 2px #0b3057;
}

main h4 {
  display: block;
  color: #333;
  width: 100%;
  font-weight: bold;
  font-size: 20px;
  text-align: left;
  padding: 0 0 20px;
  margin: 3em 0 1em;
  line-height: 1.5;
  border-bottom: 5px dotted #f4d2de;
}
main h5 {
  display: block;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  margin: 2.5em 0 0.5em;
}
main .txts {
  font-size: 16px;
}
main .txtxs {
  font-size: x-small;
}
main .flexBox {
  display: flex;
  align-items: flex-start;
  margin: 3em 0;
}
main .flexBox .imageBox {
  width: 400px;
  flex-shrink: 0;
  padding: 3px;
  box-sizing: border-box;
}
main .flexBox .imageBox.wh-320 {
  width: 320px;
  height: auto;
}
main .flexBox .imageBox.wh-600 {
  width: 600px;
  height: auto;
}
main .flexBox .imageBox img {
  width: 100%;
  height: auto;
}
main .flexBox .wrap {
  line-height: 1.8;
  width: 100%;
  padding: 0 0 0 30px;
}
main .flexBox .wrap p {
  margin: 0 0 0.5em;
}
main .flexBox h3 {
  display: block;
  width: 100%;
  line-height: 1.5;
  font-size: 18px;
  font-weight: 500;
  text-align: left;
  padding: 0;
  margin: 0 0 1em;
  border: none;
  background: none;
}
main .colRight .imageBox {
  order: 2;
  padding: 3px;
  box-sizing: border-box;
}
main .colRight .wrap {
  order: 1;
  padding: 0 30px 0 0;
}
main .notes {
  font-size: 14px;
  padding: 15px;
  border: 4px solid #e0d4a6;
  background: #fff;
}
#items main .notes {
  /*border: none;*/
  border: 1px solid #eee;
  /*background: #f7f2f2;*/
}
main .annotation {
  font-size: 14px;
  padding: 15px;
  border-radius: 8px;
  background: #f0ecd3;
  margin: 1em 0;
}
main .areaBox01 {
  margin: 80px auto 50px;
  padding: 24px;
  background: url(../images/bg_areabox01.png) repeat;
}
main .areaBox01 .areaBoxInner {
  padding: 40px;
  background: #fff;
}
main .areaBox01 .areaBoxInner .flexBox {
  margin: 0;
}
main .areaBox01 .areaBoxInner h3 {
  display: block;
  color: #333333;
  width: 100%;
  font-size: 24px;
  text-align: center;
  padding: 0 0 30px;
  margin: 0 0 2em;
  border: none;
  background: url(../images/bg_areabox_h3.png) no-repeat center bottom;
}
main .areaBox01 .areaBoxInner h4 {
  font-size: 16px;
  padding: 0 0 10px;
  margin: 0 0 1em;
}
main .areaBox01 .areaBoxInner h5 {
  margin: 0 0 0.5em;
}
main .areaBox01 .areaBoxInner .lead {
  font-size: 20px;
  padding: 0;
  margin: 0 0 0.5em;
}
main .areaBox01 .areaBoxInner p {
  margin: 0 0 1em;
  line-height: 1.58;
  text-align: left;
  letter-spacing: 0.1em;
}
main .areaBox01 .areaBoxInner .btn01 a {
  margin: 0 0 1em;
}
main .areaBox02 {
  margin: 80px auto 50px;
  padding: 6px;
  background: #e0d4a6;
}
main .areaBox02 .areaBoxInner {
  padding: 40px;
  background: #fff;
}
main .areaBox02 .areaBoxInner .flexBox {
  margin: 0;
}
main .areaBox02 .areaBoxInner h3 {
  display: block;
  color: #333333;
  width: 100%;
  font-size: 24px;
  text-align: center;
  padding: 0;
  margin: 0 0 1em;
  border: none;
  background: none;
}
main .areaBox02 .areaBoxInner h4 {
  font-size: 16px;
  padding: 0 0 10px;
  margin: 2em 0 1em;
}
main .areaBox02 .areaBoxInner h5 {
  margin: 0 0 0.5em;
}
main .areaBox02 .areaBoxInner .lead {
  font-size: 24px;
  margin: 0 0 0.5em;
}
main .areaBox02 .areaBoxInner p {
  margin: 0 0 1em;
  line-height: 1.58;
  text-align: left;
}
main .areaBox02 .areaBoxInner .btn01 a {
  margin: 0 0 1em;
}
main .areaBox03 {
  position: relative;
  margin: 80px auto 50px;
  padding: 24px;
  background: url(../images/bg_areabox03.png) repeat;
}
main .areaBox03 .areaBoxInner {
  padding: 40px;
  background: #fff;
}
main .areaBox03 .areaBoxInner .flexBox {
  margin: 0;
}
main .areaBox03 .areaBoxInner h3 {
  display: block;
  color: #333333;
  width: 100%;
  font-size: 24px;
  text-align: center;
  padding: 0 0 30px;
  margin: 0 0 2em;
  border: none;
  background: url(../images/bg_areabox_h3.png) no-repeat center bottom;
}
main .areaBox03 .areaBoxInner h4 {
  font-size: 16px;
  padding: 0 0 10px;
  margin: 0 0 1em;
}
main .areaBox03 .areaBoxInner h5 {
  margin: 0 0 0.5em;
}
main .areaBox03 .areaBoxInner .lead {
  font-size: 24px;
  margin: 0 0 0.5em;
}
main .areaBox03 .areaBoxInner p {
  margin: 0 0 1em;
  line-height: 1.58;
  text-align: left;
}
main .areaBox03 .areaBoxInner .btn01 a {
  margin: 0 0 1em;
}
main .areaBox03 .areaBoxInner .special {
  position: absolute;
  top: 60px;
  left: 0;
  display: inline-block;
  padding: 10px 60px;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  background: #c54d78;
}
main .areaBox03_2 {
  position: relative;
  margin: 80px auto 50px;
  padding: 24px;
  background: url(../images/bg_areabox03_2.png) repeat;
}
main .imageList {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 5px 0;
}
main .imageList li {
  margin: 5px;
}
main .imageList li img {
  width: 100%;
}
main .imageList.col2 li {
  width: calc(100% / 2 - 10px);
}
main .imageList.col3 li {
  width: calc(100% / 3 - 10px);
}
main .imageList.col4 li {
  width: calc(100% / 4 - 10px);
}
main .imageList.col5 li {
  width: calc(100% / 5 - 10px);
}

.ktab {
  max-width: 100%;
  margin: auto;
}
.ktab-menu {
  display: flex;
  margin: 5% 0;
}
.ktab-item {
  text-align: center;
  padding: 0;
  margin: 5%;
  cursor: pointer;
  flex-grow: 1;
}
.ktab-item:not(:first-child) {
  border-left: none;
}
.ktab-item img{
  filter: grayscale(100%)
}
.ktab-item.active img{
  filter: grayscale(0%)
}

.ktab-box {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ktab-content {
  display: none;
  width: 1280px;
}
.ktab-content.show {
  display: block;
}

main .introBox {
  position: relative;
  left: 50%;
  width: 1920px;
  min-width: 1280px;
  transform: translateX(-50%);
  padding: 0 0 50px;
  margin: 0 0 50px;
  background: url(../images/bg_intro.jpg) no-repeat top center;
}
main .introBox2 {
  position: relative;
  left: 50%;
  width: 1920px;
  min-width: 1280px;
  transform: translateX(-50%);
  padding: 0 0 50px;
  margin: 0 0 50px;
  background: url(../images/bg_intro2.jpg) no-repeat top center;
}
main .introBox .flexBox {
  width: 1280px;
  position: relative;
  padding: 0 40px;
  margin: auto;
}
main .introBox .flexBox .imageBox {
  width: 600px;
  height: auto;
}
/*
main .introBox .flexBox .imageBox::before {
  content: "";
  position: absolute;
  top: -90px;
  left: 10px;
  z-index: 0;
  width: 299px;
  height: 168px;
  background: url(../images/deco_item.png) no-repeat top center;
}
*/
main .introBox .flexBox .imageBox img {
  width: 100%;
  height: auto;
  border: 10px solid #fff;
}
main .introBox .flexBox .wrap {
  flex-shrink: 0;
  width: 587px;
  margin: 10px 0 0;
}
main .introBox .flexBox .wrap strong {
  font-weight: normal;
}
main .introBox .flexBox .wrap h2 {
  line-height: 1.3;
  display: block;
  width: auto;
  color: #c54d78;
  font-size: 28px;
  padding: 10px 0 0 0;
  text-align: left;
  margin: 0 0 20px;
  border: 0;
  background: none;
}
main .introBox .flexBox .wrap h2.row1 {
  padding: 30px 0 0 0;
}
main .introBox .flexBox .wrap h2 span {
  display: block;
  color: #333333;
  font-size: 20px;
}
main .introBox .flexBox .wrap .lead {
  margin: 70px 0 10px;
}
main .introBox .flexBox .wrap p {
  text-align: left;
}
main .btn01 a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 400px;
  height: 60px;
  color: #333333;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  text-decoration: none;
  border-style: solid;
  border-width: 1px 50px 1px 50px;
  border-image: url(../images/ninepatch03.png) 1 50 1 50 fill;
  margin: auto;
}
main .btn01 a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -15px;
  width: 30px;
  height: 30px;
  margin: auto;
  background: url(../images/arrow04.svg) no-repeat right center;
}
main .btn01 a:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .indexMenuCol1 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: auto;
}
main .indexMenuCol1 li {
  position: relative;
  width: 100%;
  margin: 0 0 20px;
  padding: 25px 25px 70px;
  background: #ccc;
  border-radius: 8px;
}
main .indexMenuCol1 li:hover .btn01 {
  background: url(../images/icon/iconArrow02.svg) no-repeat center right 10px, linear-gradient(to bottom, #d5a219 0%, #d8891a 100%);
}
main .indexMenuCol1 li a {
  position: relative;
  display: block;
  color: #333333;
  width: 100%;
  text-decoration: none;
  padding: 0;
  background: url(../images/bgCommon.png) repeat;
}
main .indexMenuCol1 li a .imageBox {
  position: relative;
  width: 100%;
  height: auto;
}
main .indexMenuCol1 li a .imageBox img {
  display: block;
  width: 100%;
  height: auto;
}
main .indexMenuCol1 li a:hover .imageBox {
  opacity: 0.7;
  transition: 0.3s;
}
main .indexMenuCol1 li a .wrap {
  width: 100%;
  text-align: center;
  padding: 0 0 15px;
}
main .indexMenuCol1 li a .wrap .title {
  color: #76655d;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  padding: 10px 0;
  border: none;
  margin: 0;
  border-bottom: 2px dotted #76655d;
}
main .indexMenuCol1 li a .wrap .title span {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 20px;
  display: block;
}
main .indexMenuCol1 li a .wrap p {
  line-height: 1.5;
  text-align: left;
  margin: 15px 0 20px;
  padding: 0 0 0 0;
}
main .indexMenuCol1 li .btn01 {
  position: absolute;
  bottom: 25px;
  left: 0;
  right: 0;
  margin: auto;
  width: calc(100% - 50px );
}
main .indexMenuCol2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin: auto;
}
main .indexMenuCol2 li {
  position: relative;
  width: calc(100% / 2 - 20px);
  margin: 0 0 35px;
  background: #fff;
  border: 6px solid #fdf7f8;
}
main .indexMenuCol2 li:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .indexMenuCol2 li:hover .btn01 {
  background: #e8bbc3;
}
main .indexMenuCol2 li a {
  position: relative;
  display: block;
  color: #333333;
  width: 100%;
  height: 100%;
  text-decoration: none;
  padding: 0 0 30px;
}
main .indexMenuCol2 li a .imageBox {
  position: relative;
  width: 100%;
  height: auto;
}
main .indexMenuCol2 li a .imageBox img {
  display: block;
  width: 100%;
  height: auto;
}
main .indexMenuCol2 li a .wrap {
  width: 100%;
  text-align: center;
  padding: 0 0 15px;
}
main .indexMenuCol2 li a .wrap .title {
  display: block;
  color: #333333;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0;
  border: none;
  border-bottom: 1px dotted #f6d8e4;
  padding: 0 0 20px;
  margin: 20px 0 15px;
  background: none;
}
main .indexMenuCol2 li a .wrap .title span {
  display: block;
  color: #333333;
  font-size: 15px;
}
main .indexMenuCol2 li a .wrap p {
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  margin: 15px 20px 20px;
}
main .indexMenuCol2 li a .wrap p span {
  display: block;
  font-weight: normal;
  font-size: 12px;
}
main .indexMenuCol2 li .btn01 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: inline-block;
  width: 100%;
  color: #fff;
  font-weight: 500;
  font-size: 15px;
  padding: 10px 20px 10px 10px;
  text-align: center;
  text-decoration: none;
  background: #89c9b7;
}
main .indexMenuCol2 li .btn01:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 20px;
  height: 20px;
  background: url(../images/arrow02.svg) no-repeat center right;
  background-size: 20px auto;
}
main .indexMenuCol2_t2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  margin: auto;
}
main .indexMenuCol2_t2 li {
  position: relative;
  width: calc(100% / 2 - 20px);
  margin: 10px;
  background: #fff;
  border: 6px solid #fdf7f8;
}
main .indexMenuCol2_t2 li:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .indexMenuCol2_t2 li:hover .btn01 {
  background: #e8bbc3;
}
main .indexMenuCol2_t2 li a {
  position: relative;
  display: flex;
  color: #333333;
  width: 100%;
  text-decoration: none;
  z-index: 999;
  padding: 0 0 65px;
}
main .indexMenuCol2_t2 li a .imageBox {
  position: relative;
  width: 60%;
  height: auto;
}
main .indexMenuCol2_t2 li a .imageBox img {
  display: block;
  width: 100%;
  height: auto;
}
main .indexMenuCol2_t2 li a .wrap {
  width: 100%;
  text-align: center;
}
main .indexMenuCol2_t2 li a .wrap .title {
  display: block;
  color: #333333;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  line-height: 1.5;
  letter-spacing: 0;
  border: none;
  border-bottom: 1px dotted #f6d8e4;
  padding: 5px 0 20px;
  margin: 15px 20px 15px;
  background: none;
}
main .indexMenuCol2_t2 li a .wrap .title span {
  display: block;
  color: #333333;
  font-size: 15px;
}
main .indexMenuCol2_t2 li a .wrap p {
  font-weight: bold;
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
  margin: 10px 20px 10px;
}
main .indexMenuCol2_t2 li a .wrap p span {
  display: block;
  font-weight: normal;
  font-size: 12px;
}
main .indexMenuCol2_t2 li .btn01 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 2% auto 2%;
  /*display: inline-block;*/
  width: 95%;
  color: #fff;
  font-weight: 500;
  font-size: 15px;
  padding: 10px 20px 10px 10px;
  text-align: center;
  text-decoration: none;
  background: #89c9b7;
  border-radius: 15px;
}
main .indexMenuCol2_t2 li .btn01:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 20px;
  height: 20px;
  background: url(../images/arrow02.svg) no-repeat center right;
  background-size: 20px auto;
}
main .indexMenuCol2_t2 li.col1 {
  width: 100%;
  margin: 10px 0;
}
main .indexMenuCol2_t2 li.col1 .imageBox {
  position: relative;
  width: 400px;
  height: auto;
}
main .indexMenuCol2_t2 li.col1 .imageBox img {
  display: block;
  width: 100%;
  height: auto;
}
main .indexMenuCol3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin: auto;
}
main .indexMenuCol3::after {
  content: "";
  width: calc(100% / 3 - 20px);
}
main .indexMenuCol3 li {
  position: relative;
  width: calc(100% / 3 - 20px);
  margin: 0 0 35px;
  background: #fff;
  border: 6px solid #fdf7f8;
}
main .indexMenuCol3 li:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .indexMenuCol3 li:hover .btn01 {
  background: #e8bbc3;
}
main .indexMenuCol3 li .lBox {
  position: relative;
  display: block;
  color: #333333;
  width: 100%;
  height: 100%;
  text-decoration: none;
  padding: 0 0 30px;
}
main .indexMenuCol3 li .lBox .imageBox {
  position: relative;
  width: 100%;
  height: auto;
}
main .indexMenuCol3 li .lBox .imageBox img {
  display: block;
  width: 100%;
  height: auto;
}
main .indexMenuCol3 li .lBox .wrap {
  width: 100%;
  text-align: center;
  padding: 0 0 15px;
}
main .indexMenuCol3 li .lBox .wrap .title {
  display: block;
  color: #333333;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0;
  border: none;
  border-bottom: 1px dotted #f6d8e4;
  padding: 0 0 20px;
  margin: 20px 0 15px;
  background: none;
}
main .indexMenuCol3 li .lBox .wrap .title span {
  display: block;
  color: #333333;
  font-size: 15px;
}
main .indexMenuCol3 li .lBox .wrap p {
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  margin: 15px 20px 20px;
}
main .indexMenuCol3 li .lBox .wrap p span {
  display: block;
  font-weight: normal;
  font-size: 12px;
}
main .indexMenuCol3 li a {
  position: relative;
  display: block;
  color: #333333;
  width: 100%;
  height: 100%;
  text-decoration: none;
  padding: 0 0 30px;
  z-index: 999;
}
main .indexMenuCol3 li a .imageBox {
  position: relative;
  width: 100%;
  height: auto;
}
main .indexMenuCol3 li a .imageBox img {
  display: block;
  width: 100%;
  height: auto;
}
main .indexMenuCol3 li a .wrap {
  width: 100%;
  text-align: center;
  padding: 0 0 15px;
}
main .indexMenuCol3 li a .wrap .title {
  display: block;
  color: #333333;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0;
  border: none;
  border-bottom: 1px dotted #f6d8e4;
  padding: 0 0 20px;
  margin: 20px 0 15px;
  background: none;
}
main .indexMenuCol3 li a .wrap .title span {
  display: block;
  color: #333333;
  font-size: 15px;
}
main .indexMenuCol3 li a .wrap p {
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  margin: 15px 20px 20px;
}
main .indexMenuCol3 li a .wrap p span {
  display: block;
  font-weight: normal;
  font-size: 12px;
}
main .indexMenuCol3 li .btn01 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto 4%;
  display: inline-block;
  width: 95%;
  color: #fff;
  font-weight: 500;
  font-size: 15px;
  padding: 10px 20px 10px 10px;
  text-align: center;
  text-decoration: none;
  background: #89c9b7;
  border-radius: 15px;
}
main .indexMenuCol3 li .btn01:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 20px;
  height: 20px;
  background: url(../images/arrow02.svg) no-repeat center right;
  background-size: 20px auto;
}
main .indexMenuCol3_noLink {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin: auto;
}
main .indexMenuCol3_noLink::after {
  content: "";
  width: calc(100% / 3 - 20px);
}
main .indexMenuCol3_noLink li {
  position: relative;
  width: calc(100% / 3 - 20px);
  background: #fff;
  display: block;
  color: #333333;
  margin: 0 0 20px;
}
main .indexMenuCol3_noLink li .imageBox {
  position: relative;
  width: 100%;
  height: auto;
  display: inline-block;
  overflow: hidden;
  padding: 7px;
}
main .indexMenuCol3_noLink li .imageBox img {
  display: block;
  width: 100%;
  height: auto;
}

main .indexMenuCol3_noLink li .wrap {
  width: 100%;
  text-align: center;
  padding: 0 0 15px;
}
main .indexMenuCol3_noLink li .wrap .title {
  display: block;
  color: #333333;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0;
  border: none;
  border-bottom: 1px dotted #f6d8e4;
  padding: 0 0 20px;
  margin: 20px 0 15px;
  background: none;
}
main .indexMenuCol3_noLink li .wrap .title span {
  display: block;
  color: #333333;
  font-size: 15px;
}
main .indexMenuCol3_noLink li .wrap p {
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  margin: 15px 20px 20px;
}
main .indexMenuCol3_noLink li .wrap p span {
  display: block;
  font-weight: normal;
  font-size: 12px;
}
main .indexMenuCol3_noLink li .btn01 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: inline-block;
  width: 100%;
  color: #fff;
  font-weight: 500;
  font-size: 15px;
  padding: 10px 20px 10px 10px;
  text-align: center;
  text-decoration: none;
  background: #89c9b7;
}
main .indexMenuCol3_noLink li .btn01:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 20px;
  height: 20px;
  background: url(../images/arrow02.svg) no-repeat center right;
  background-size: 20px auto;
}
main .indexMenuCol3_gallery {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: auto;
}
main .indexMenuCol3_gallery li {
  position: relative;
  width: calc(100% / 3 - 16px);
  margin: 0 8px 16px;
  background: #ccc;
}
main .indexMenuCol3_gallery li:hover .btn01 {
  background: #444;
}
main .indexMenuCol3_gallery li a {
  position: relative;
  display: block;
  color: #333333;
  width: 100%;
  text-decoration: none;
  padding: 8px;
  background: url(../images/bgCommon.png) repeat;
}
main .indexMenuCol3_gallery li a .imageBox {
  position: relative;
  width: 100%;
  height: auto;
}
main .indexMenuCol3_gallery li a .imageBox img {
  display: block;
  width: 100%;
  height: auto;
}
main .indexMenuCol3_gallery li a:hover .imageBox {
  opacity: 0.7;
  transition: 0.3s;
}
main .indexMenuCol3_gallery li a .wrap {
  width: 100%;
  text-align: center;
  background: #fff;
}
main .indexMenuCol3_gallery li a .wrap .title {
  color: #333;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  padding: 10px 0;
  border: none;
  margin: 0;
}
main .indexMenuCol3_gallery li a .wrap .title span {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 20px;
  display: block;
}
main .indexMenuCol3_gallery li a .wrap p {
  line-height: 1.5;
  text-align: left;
  margin: 15px 0 20px;
  padding: 0 0 0 0;
}
main .indexMenuCol3_gallery li .btn01 {
  position: absolute;
  bottom: 25px;
  left: 0;
  right: 0;
  margin: auto;
  display: inline-block;
  width: calc(100% - 50px );
  color: #fff;
  font-weight: 500;
  font-size: 15px;
  padding: 10px 20px 10px 10px;
  text-align: center;
  text-decoration: none;
  background: #333;
}
main .indexMenuCol4 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: auto;
}
main .indexMenuCol4 li {
  position: relative;
  width: calc(100% / 4 - 10px);
  margin: 0 5px 20px;
  background: #fff;
  border: 6px solid #fdf7f8;
}
main .indexMenuCol4 li:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .indexMenuCol4 li:hover .btn01 {
  background: #e8bbc3;
}
main .indexMenuCol4 li a {
  position: relative;
  display: block;
  color: #333333;
  width: 100%;
  height: 100%;
  text-decoration: none;
  padding: 0 0 50px;
  z-index: 999;
}
main .indexMenuCol4 li a .imageBox {
  position: relative;
  width: 100%;
  height: auto;
}
main .indexMenuCol4 li a .imageBox img {
  display: block;
  width: 100%;
  height: auto;
}
main .indexMenuCol4 li a .wrap {
  width: 100%;
  text-align: center;
}
main .indexMenuCol4 li a .wrap .title {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  height: 70px;
  color: #333333;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0;
  border: none;
  border-bottom: 1px dotted #f6d8e4;
  padding: 0;
  margin: 0 0 15px;
  background: none;
}
main .indexMenuCol4 li a .wrap .title span {
  width: 100%;
  color: #333333;
  font-size: 14px;
}
main .indexMenuCol4 li a .wrap p {
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  margin: 15px 20px 20px;
}
main .indexMenuCol4 li a .wrap p span {
  display: block;
  font-weight: normal;
  font-size: 12px;
}
main .indexMenuCol4 li a h3 {
  display: block;
  color: #c54d78;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0;
  border: none;
  padding: 15px 0 15px;
  margin: 0;
  background: none;
}
main .indexMenuCol4 li a h3.row1 {
  padding: 25px 0 25px;
  margin: 0;
}
main .indexMenuCol4 li a h3 span {
  display: block;
  color: #333333;
  font-size: 13px;
}
main .indexMenuCol4 li .btn01 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto 4%;
  display: inline-block;
  width: 95%;
  color: #fff;
  font-weight: 500;
  font-size: 15px;
  padding: 10px 20px 10px 10px;
  text-align: center;
  text-decoration: none;
  background: #89c9b7;
  cursor: pointer;
  border-radius: 15px;
}
main .indexMenuCol4 li .btn01:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 20px;
  height: 20px;
  background: url(../images/arrow02.svg) no-repeat center right;
  background-size: 20px auto;
}
main .indexMenuCol3_gallery {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: auto;
}
main .indexMenuCol3_gallery li {
  position: relative;
  width: calc(100% / 3 - 16px);
  margin: 0 8px 16px;
  background: #fdf7f8;
}
main .indexMenuCol3_gallery li:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .indexMenuCol3_gallery li a {
  position: relative;
  display: block;
  color: #333333;
  width: 100%;
  text-decoration: none;
  padding: 6px;
}
main .indexMenuCol3_gallery li a .imageBox {
  position: relative;
  width: 100%;
  height: auto;
}
main .indexMenuCol3_gallery li a .imageBox img {
  display: block;
  width: 100%;
  height: auto;
}
main .indexMenuCol3_gallery li a .wrap {
  width: 100%;
  text-align: center;
  background: #fff;
}
main .indexMenuCol3_gallery li a .wrap .title {
  color: #333333;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.5;
  padding: 15px 0;
  border: none;
  margin: 0;
}
main .indexMenuCol3_gallery li a .wrap .title span {
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 20px;
  display: block;
}
main .indexMenuCol4_gallery {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: auto;
}
main .indexMenuCol4_gallery li {
  position: relative;
  width: calc(100% / 4 - 16px);
  margin: 0 8px 16px;
  background: #fdf7f8;
}
main .indexMenuCol4_gallery li:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .indexMenuCol4_gallery li a {
  position: relative;
  display: block;
  color: #333333;
  width: 100%;
  text-decoration: none;
  padding: 6px;
}
main .indexMenuCol4_gallery li a .imageBox {
  position: relative;
  width: 100%;
  height: auto;
}
main .indexMenuCol4_gallery li a .imageBox img {
  display: block;
  width: 100%;
  height: auto;
}
main .indexMenuCol4_gallery li a .wrap {
  width: 100%;
  text-align: center;
  background: #fff;
}
main .indexMenuCol4_gallery li a .wrap .title {
  color: #333333;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.5;
  padding: 15px 0;
  border: none;
  margin: 0;
}
main .indexMenuCol4_gallery li a .wrap .title span {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 20px;
  display: block;
}
main .indexMenuCol4_instagram {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  margin: auto;
}
main .indexMenuCol4_instagram.t-L {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
main .indexMenuCol4_instagram li {
  position: relative;
  width: calc(100% / 4 - 10px);
  margin: 0 5px 20px;
  background: #fff;
  border: 6px solid #f9e8e9;
}
main .indexMenuCol4_instagram li:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .indexMenuCol4_instagram li:hover .btn01 {
  background: #fff;
}
main .indexMenuCol4_instagram li a {
  position: relative;
  display: block;
  color: #333333;
  width: 100%;
  height: 100%;
  text-decoration: none;
  padding: 0 0 75px;
}
main .indexMenuCol4_instagram li a img {
  display: block;
  width: 156px;
  height: auto;
  padding-top: 15px;
  margin: auto;
}
main .indexMenuCol4_instagram li a h3 {
  display: block;
  color: #c54d78;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0;
  padding: 15px 0 15px;
  margin: 0 15px;
  background: none;
  border: none;
  border-bottom: 2px dotted #f4d8df;
}
main .indexMenuCol4_instagram li a h3.row1 {
  padding: 25px 0 25px;
  margin: 0 15px;
}
main .indexMenuCol4_instagram li a h3 span {
  display: block;
  color: #333333;
  font-size: 13px;
}
main .indexMenuCol4_instagram li .btn01 {
  position: absolute;
  bottom: 15px;
  left: 0;
  right: 0;
  margin: auto;
  display: inline-block;
  width: calc(100% - 30px);
  color: #333;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0;
  padding: 5px 10px 5px 10px;
  text-align: center;
  text-decoration: none;
  background: #fff;
  border: 2px solid #333;
  border-radius: 80px;
}
main .indexMenuCol4_instagram li .btn01:after {
  content: "";
  position: absolute;
  left: 10px;
  right: initial;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 25px;
  height: 25px;
  background: url(../images/icon/icon_inst.svg) no-repeat center left;
  background-size: 100% auto;
}
main .indexMenuCol4_campaign {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: auto;
}
main .indexMenuCol4_campaign li {
  position: relative;
  width: calc(100% / 4 - 10px);
  margin: 0 5px 20px;
  background: #fff;
  border: 6px solid #daedf2;
}
main .indexMenuCol4_campaign li:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .indexMenuCol4_campaign li:hover .btn01 {
  background: #333;
}
main .indexMenuCol4_campaign li a {
  position: relative;
  display: block;
  color: #333333;
  width: 100%;
  height: 100%;
  text-decoration: none;
  padding: 0 0 75px;
}
main .indexMenuCol4_campaign li a img {
  display: block;
  width: 156px;
  height: auto;
  padding-top: 15px;
  margin: auto;
}
main .indexMenuCol4_campaign li a h3 {
  display: block;
  color: #c54d78;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0;
  padding: 15px 0 15px;
  margin: 0 15px;
  background: none;
  border: none;
  border-bottom: 2px dotted #f4d8df;
}
main .indexMenuCol4_campaign li a h3.row1 {
  padding: 25px 0 25px;
  margin: 0 15px;
}
main .indexMenuCol4_campaign li a h3 span {
  display: block;
  color: #333333;
  font-size: 13px;
}
main .indexMenuCol4_campaign li .btn01 {
  position: absolute;
  bottom: 15px;
  left: 0;
  right: 0;
  margin: auto;
  display: inline-block;
  width: calc(100% - 30px);
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0;
  padding: 5px 10px 5px 10px;
  text-align: center;
  text-decoration: none;
  background: #333;
  border-radius: 8px;
}
main .indexMenuCol4_campaign li .btn01:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 12px;
  height: 12px;
  background: url(../images/arrow03.svg) no-repeat center left;
  background-size: 100% auto;
}
main table {
  width: 100%;
  border-collapse: collapse;
  line-height: 1.5;
  margin: 1.5em 0;
  border-bottom: 1px solid #dc7097;
  font-size: 14px;
}
main table thead th {
  font-weight: normal;
  color: #fff;
  text-align: center;
  background: #333;
  padding: 18px 0;
}
main table tbody th, main table tbody td {
  font-weight: normal;
  font-size: 14px;
  padding: 15px 16px;
}
main table tbody th {
  width: 25%;
  text-align: left;
  background: #fdf7f8;
  border-bottom: 1px dotted #ddd;
}
main table tbody td {
  border: 1px dotted #ddd;
  border-top: none;
  background: #fff;
}
main .gMap iframe {
  width: 100%;
  height: 600px;
  margin: 30px 0;
  border: 1px solid #ccc !important;
}
main .photoGallery {
  position: relative;
  margin: 30px 0 0;
}
main .photoGallery #loading {
  padding: 100px 0;
  background: url(../images/icon_loader.gif) no-repeat center;
  background-size: 33px;
}
main .photoGallery #loading img {
  width: 33px;
  height: 33px;
}
main .photoGallery .wrap ul {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: auto;
}
main .photoGallery .wrap ul li {
  width: calc(100% / 4 - 10px);
  margin: 5px;
  height: auto;
}
main .photoGallery .wrap ul li img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  main .photoGallery .wrap ul li:hover {
    opacity: 0.5;
  }
}
main .multiple-item04 {
  margin-top: 70px;
}
main .multiple-item04 li {
  width: calc(1920px / 4);
  border-top: 8px solid #fff;
  border-bottom: 8px solid #fff;
  border-left: 4px solid #fff;
  border-right: 4px solid #fff;
}
main .contentsSubNavi dl {
  display: flex;
  flex-wrap: wrap;
  border-top: 5px dotted #f4d2de;
  position: relative;
  /* width: 1280px; */
  width: 100%;
  padding: 40px 50px 20px;
  margin: 100px auto 0;
  text-align: center;
}
main .contentsSubNavi dl.col2 {
  width: 850px;
  margin: auto;
}
main .contentsSubNavi dl.col2 dd {
  width: calc(100% / 2 - 10px);
}
main .contentsSubNavi dl dt {
  width: 100%;
  margin-bottom: 30px;
}
main .contentsSubNavi dl dt a {
  text-decoration: none;
  color: #333333;
  font-family: "Kosugi Maru", sans-serif;
  font-weight: normal;
  font-size: 24px;
}
main .contentsSubNavi dl dd {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% / 3 - 10px);
  background: #fff;
  margin: 5px;
  border: 4px solid #efeaec;
  border-radius: 100px;
}
main .contentsSubNavi dl dd.act {
  background: #333;
}
main .contentsSubNavi dl dd.act a {
  color: #fff;
  background: url(../images/arrow01.svg) no-repeat right 10px center;
  background-size: 16px auto;
}
main .contentsSubNavi dl dd a {
  width: 100%;
  text-decoration: none;
  position: relative;
  display: block;
  color: #333333;
  font-weight: bold;
  text-decoration: none;
  outline-style: none;
  text-align: center;
  padding: 12px 10px;
  font-size: 14px;
  background: url(../images/arrow01.svg) no-repeat right 10px center;
  background-size: 16px auto;
  letter-spacing: 0.1em;
}
main .contentsSubNavi dl dd a span {
  display: block;
}
main .contentsSubNavi dl dd a:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .campaignArea {
  width: 100%;
  background: url(../images/bg_common02.png) repeat;
}
main .campaignArea ul {
  position: relative;
  z-index: 1;
  width: 1200px;
  margin: auto;
}
main .campaignArea ul li {
  width: 380px;
  height: auto;
  margin: 0 10px;
  transition: 0.3s;
}
main .campaignArea ul li:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .campaignArea ul li a {
  display: block;
}
main .campaignArea ul li a img {
  width: 100%;
  height: auto;
}
main .blogArea {
  position: relative;
  max-width: 1920px;
  margin: auto;
  padding: 0 0 0;
}
main .blogArea::before {
  content: "";
  opacity: 0.3;
  position: absolute;
  top: -50px;
  left: -250px;
  z-index: -1;
  width: 527px;
  height: 504px;
  background: url(../images/deco_ryusen.png) no-repeat;
  background-size: 100% auto;
}
main .blogArea::after {
  content: "";
  opacity: 0.3;
  position: absolute;
  top: -50px;
  right: -250px;
  z-index: -1;
  width: 527px;
  height: 504px;
  background: url(../images/deco_ryusen.png) no-repeat;
  background-size: 100% auto;
  transform: scale(-1, 1);
}
main .blogArea h2 {
  text-align: center;
  padding: 0 0 60px;
}
main .blogArea h2 p {
  min-width: 140px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: bold;
  font-size: 30px;
  padding-top: 100px;
  background: url(../images/icon/icon_news.svg) no-repeat top center;
}
main .blogArea h2 a {
  color: #333333;
  text-decoration: none;
  display: inline-block;
}
main .blogArea h2 a:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .blogArea ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 70px;
  padding: 0 0;
}
main .blogArea ul::before {
  width: calc(100% / 4 - 24px);
}
main .blogArea ul li {
  width: calc(100% / 4 - 24px);
}
main .blogArea ul li:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .blogArea ul li a {
  text-decoration: none;
  color: #333333;
}
main .blogArea ul li a .pickup_image {
  position: relative;
  background: #f6e8e8;
  width: 100%;
}
main .blogArea ul li a .pickup_image::before {
  content: "";
  display: block;
  padding-top: 100%;
}
main .blogArea ul li a .pickup_image::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: -5px;
  width: 92px;
  height: 18px;
  background: url(../images/deco_wave.svg) no-repeat;
}
main .blogArea ul li a .pickup_image img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  line-height: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.5s;
}
main .blogArea ul li a time {
  display: inline-block;
  color: #c54d78;
  font-size: 12px;
  padding: 15px 0 5px;
}
main .blogArea ul li a .title {
  /*
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  */
  font-weight: bold;
  font-size: 14px;
}
main .blogArea ul li a .description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  font-size: 14px;
  line-height: 1.5;
}
main .bannerArea {
  width: 1200px;
  margin: 80px auto 50px;
}
main .bannerArea a {
  position: relative;
  color: #34323d;
  display: flex;
  align-items: flex-start;
  text-decoration: none;
  border: 8px solid #f4d8df;
  padding: 10px;
  background: #fff;
}
main .bannerArea a.important .title {
  color: #b80c0c;
}
main .bannerArea a:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .bannerArea a.important {
  border: 6px solid #b80c0c;
}
main .bannerArea a p {
  display: block;
  font-size: 15px;
  padding: 0;
  margin: 0;
  line-height: 1.5;
}
main .bannerArea a .title {
  display: block;
  font-size: 20px;
  font-weight: bold;
  margin: 10px 0;
}
main .bannerArea a img {
  width: 300px;
  height: auto;
  margin-right: 15px;
}
main .bannerArea a img.wh-400 {
  width: 400px;
  height: auto;
  margin-right: 15px;
}
main .bannerArea02 {
  width: 1200px;
  margin: 80px auto 50px;
}
main .bannerArea02 a {
  position: relative;
  color: #34323d;
  display: flex;
  align-items: flex-start;
  text-decoration: none;
  border: 12px solid #f4d8df;
  padding: 10px;
  background: #fff;
}
main .bannerArea02 a:hover {
  opacity: 0.7;
  transition: 0.3s;
}
main .bannerArea02 a p {
  display: block;
  font-size: 15px;
  padding: 0;
  margin: 0;
  line-height: 1.5;
}
main .bannerArea02 a .title {
  display: block;
  color: #c54d78;
  font-size: 20px;
  font-weight: bold;
  margin: 10px 0;
}
main .bannerArea02 a img {
  width: 300px;
  height: auto;
  margin-right: 15px;
}
main .bannerArea02 a img.wh-400 {
  width: 400px;
  height: auto;
  margin-right: 15px;
}
main .bannerArea02 a .btn01 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 400px;
  height: 60px;
  color: #333333;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  text-decoration: none;
  border-style: solid;
  border-width: 1px 50px 1px 50px;
  border-image: url(../images/ninepatch03.png) 1 50 1 50 fill;
}
main .bannerArea02 a .btn01::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -15px;
  width: 30px;
  height: 30px;
  margin: auto;
  background: url(../images/arrow04.svg) no-repeat right center;
}

/*--- main ---*/
/*================================ studioArea ===============================*/
.studioArea {
  position: relative;
  max-width: 1920px;
  margin: auto;
  padding: 70px 0 110px 0;
  /*background: url(../images/bg_common02.png) repeat center top;*/
  background: #d9d9d938;
}
.studioArea .inner h2 {
  position: relative;
  display: block;
  color: #333;
  font-family: "Kosugi Maru", sans-serif;
  font-weight: normal;
  font-size: 26px;
  line-height: 1.3;
  letter-spacing: 0.2em;
  text-align: center;
  background: url(../images/deco_h2_common.png) no-repeat top center;
  padding-top: 160px;
  margin: 0 0 1.5em;
}
.studioArea .inner h2 a {
  display: inline-block;
  color: #333333;
  text-decoration: none;
}
.studioArea .inner h2 a span:nth-child(1) {
  display: block;
  line-height: 1.5;
}
.studioArea .inner h2 a span:nth-of-type(2) {
  display: block;
  /*font-family: "Sacramento", cursive;*/
  color: #e37ca1;
  font-size: 21px;
  font-weight: normal;
  letter-spacing: 0;
}
.studioArea .inner h2 a:hover {
  opacity: 0.7;
  transition: 0.3s;
}
.studioArea .inner ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: 60px;
}
.studioArea .inner ul li {
  position: relative;
  /*width: calc(100% / 3 - 10px);*/
  /*margin: 5px;*/
  width: calc(100% / 3 - 50px);
  margin: 25px;
  /*background: #89c9b7;*/
  background: #cae9e0;
}
.studioArea .inner ul li.studioArea_close:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(100, 100, 100, .4);
  top: 0;
}

.studioArea .inner ul li:hover {
  opacity: 0.7;
  transition: 0.3s;
  /*background: #e8bbc3;*/
  background: #ffd6de;
}
.studioArea .inner ul li a {
  display: block;
  color: #333333;
  text-decoration: none;
}

.studioArea .inner ul li a h3 {
  transform: inherit;
  /*color: #c54d78;*/
  color: #747474;
  background: #fff;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 15px;
  font-weight: bold;
  white-space: nowrap;
  padding: 10px 0 10px 0;
}
.studioArea .inner ul li.studioArea_close object p {
  line-height: 120%;
  padding: 3px 0 0 0;
}
.studioArea .inner ul li a h3.row1 {
  padding: 20px 20px;
}
.studioArea .inner ul li a h3 span {
  display: block;
  /*color: #333333;*/
  color: #747474;
  font-size: 13px;
}
.studioArea .inner ul li a img {
  object-fit: cover;
  width: 110px;
  height: 110px;
  margin: 0 15px 0 0;
  float: left;
}
.studioArea .inner ul li a p > {
  font-size: 11px;
  line-height: 1.3;
}
.studioArea .inner ul li a .tel {
  display: inline-block;
  /*color: #fff;*/
  color: #747474;
  font-family: "Lato", sans-serif;
  font-size: 22px;
  line-height: 1;
  padding: 10px 10px 10px 20px;
  margin-top: 2px;
  background: url(../images/icon/icon_tel3.svg) no-repeat left center;
  background-size: 14px auto;
}

/*================================ flow ===============================*/
.flow > .lead {
  text-align: center;
  font-size: 20px;
  margin: 0;
}
.flow ol {
  list-style: none;
  padding: 0;
  margin: 30px 0 0;
}
.flow ol li {
  padding: 50px 30px;
  margin: 0;
  background: #fff url(../images/arrow06.svg) no-repeat top center;
  background-size: 60px auto;
}
.flow ol li:first-of-type {
  background: none;
}
.flow ol li:nth-of-type(even) {
  background: #faeded url(../images/arrow05.svg) no-repeat top center;
  background-size: 60px auto;
}
.flow ol li .flexBox {
  margin: 0;
}
.flow ol li .flexBox .lead {
  font-size: 20px;
}
.flow ol li .flexBox .btn01 a {
  margin: 0 0 1em;
}
.flow ol li h4 {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #4b071f;
  font-weight: bold;
  font-size: 24px;
  border: 0;
  padding: 0;
  margin: 0 0 1em;
}
.flow ol li h4 span {
  display: inline-block;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #c54d78;
  font-size: 30px;
  padding: 0;
  border-radius: 8px;
  margin: 0 10px 0 0;
}

/*================================ contentsCta ===============================*/
.contentsCta ul {
  display: flex;
  justify-content: center;
  margin: 100px 0;
}
.contentsCta ul li {
  /*width: calc(100% / 3 - 10px);*/
  width: calc(100% / 4 - 10px);
  margin: 0 5px;
}
.contentsCta ul li:nth-child(2) a P {
  /*
  background: url(../images/icon/icon_consultation.svg) no-repeat left 20px center;
  background-size: 30px auto;
  */
}
.contentsCta ul li:nth-child(3) a P {
  /*
  background: url(../images/icon/icon_charter.svg) no-repeat left 20px center;
  background-size: 30px auto;
  */
}
.contentsCta ul li a {
  display: block;
  color: #fff;
  font-family: "Kosugi Maru", sans-serif;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  border-radius: 100px;
  padding: 10px 10px;
  /*background: #c54d78 url(../images/arrow02.svg) no-repeat right 20px center;*/
  background: #c54d78;
  background-size: 16px auto;
  border: 5px solid #fdcbd6;
}
.contentsCta ul li a:hover {
  opacity: 0.7;
  transition: 0.3s;
}
.contentsCta ul li a P {
  font-size: 18px;
  /*
  background: url(../images/icon/icon_camera.svg) no-repeat left 20px center;
  background-size: 24px auto;
  */
}
.contentsCta ul li a P span {
  display: block;
  font-size: 12px;
  letter-spacing: 0.1em;
}

/*================================ contactArea ===============================*/
.contactArea {
  position: relative;
  width: 100%;
  margin: auto;
  padding: 50px 0 50px;
  margin: 0;
  background: url(../images/bg_common02.png);
  position: relative;
  left: 50%;
  width: 1920px;
  min-width: 1280px;
  transform: translateX(-50%);
}
.contactArea h2 {
  display: block;
  text-align: center;
  font-size: 25px;
  padding-top: 70px;
  margin: 0 0 1.5em;
}
.contactArea h3 {
  color: #333333;
  font-size: 24px;
  text-align: center;
  border: none;
  padding: 0 0 15px;
  margin: 0;
  background: none;
}
.contactArea p {
  display: inline-block;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 40px;
  font-weight: bold;
  padding: 0 0 0 30px;
  margin: 0 0 0 30px;
  text-align: left;
  line-height: 0.8;
  background: url(../images/icon/icon_tel2.svg) no-repeat left top;
  background-size: 24px auto;
}
.contactArea p span {
  font-size: 15px;
  text-align: left;
  line-height: 1;
}
.contactArea .tel {
  display: block;
  width: 1000px;
  color: #333333;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 25px;
  margin: 50px auto;
  padding: 50px 0;
  text-decoration: none;
  text-align: center;
  background: #fff;
  border: 6px solid #eee8c9;
}

/* faq */
.faq dl {
  width: 1200px;
  margin: 50px auto;
}
.faq dl dt {
  line-height: 1.3;
  color: #333;
  font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: bold;
  font-size: 16px;
  padding: 25px 25px 25px 70px;
  margin: 30px auto 0;
  background: url(../images/icon/icon_q.svg) no-repeat left 20px center;
  background-size: 30px auto;
  border-top: 2px dotted #bebbcf;
}
.faq dl dt:first-child {
  padding: 25px 25px 25px 70px;
}
.faq dl dd {
  width: 100%;
  font-size: 14px;
  background: #f9f4f4 url(../images/icon/icon_a.svg) no-repeat left 20px center;
  background-size: 30px auto;
  padding: 25px 25px 25px 70px;
  margin-left: auto;
  line-height: 1.5;
}


/* floating_menu */
.floating_menu {
  display: block;
  position: fixed;
  top: 150px;
  right: -100px;
  z-index: 99;
  opacity: 0;
  transition: .8s;
}
.floating_menu.smaller {
  right: 0;
  opacity: 1;
}
.floating_menu ul {
	display: flex;
	flex-direction: column;
  gap: 10px;
}
.floating_menu ul.pc {
	display: none;
}
.floating_menu ul li {
}
.floating_menu ul li a {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 1px;
	writing-mode: vertical-lr;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 20px 15px;
	transition: .4s;
}
.floating_menu ul li.contact a { background: rgba(235, 166, 191, .9);}
.floating_menu ul li.inquiry a { background: rgba(144, 169, 203, .9);}
.floating_menu ul li.contact a:hover { background: rgba(235, 166, 191, 1);}
.floating_menu ul li.inquiry a:hover { background: rgba(144, 169, 203, 1);}
.floating_menu ul li a img {
	width: 20px;
}




@media only screen and (max-width: 767px) {
  /* entryTitle */
  .entryTitle {
    text-align: center;
    min-width: 100%;
    max-width: 100%;
    margin: 0;
    height: auto;
  }
  .entryTitle .entry {
    text-align: left;
    width: 100%;
    position: static;
    top: initial;
    left: initial;
    transform: translate(0);
  }
  .entryTitle .entry img {
    width: 100%;
    /*height: 160px;*/
    height: 50vh;
    object-fit: cover;
  }
  .entryTitle h1 {
    width: 100%;
    height: 87px;
    position: relative;
    top: initial;
    left: initial;
    transform: translate(0);
    font-size: 16px;
    font-size: 22px;
    text-align: center;
    padding: 20px 0 10px;
    margin: 60px 0 0;
    border-top: 4px solid #d45d88;
  }
  .entryTitle h1 span {
    display: block;
    color: #b90746;
    /*font-family: "Sacramento", cursive;*/
    font-size: 16px;
    font-weight: normal;
    line-height: 0.85em;
    letter-spacing: 0;
  }
  .entryTitle h1::before {
    content: "";
    position: absolute;
    top: 10px;
    left: -70px;
    margin: auto;
    width: 180px;
    height: 32px;
  }
  .entryTitle h1::after {
    content: "";
    position: absolute;
    bottom: 10px;
    left: initial;
    right: -70px;
    margin: auto;
    width: 180px;
    height: 32px;
  }

  /* entryTitle */
  /*--- breadcrumb ---*/
  .breadcrumb {
    position: relative;
  }
  .breadcrumb ol {
    justify-content: initial;
    font-size: x-small;
    width: 100%;
    padding: 10px 15px;
  }
  .breadcrumb ol li a {
    line-height: 1.8;
  }
  .breadcrumb ol li a::after {
    margin: 0 5px;
  }

  .container {
    max-width: 100%;
    min-width: 100%;
    padding: 20px 0;
  }

  /*--- main ---*/
  main {
    /*--- inner ---*/
    /*--- p ---*/
    /*--- p ---*/
    /* h */
    /*--- area01 ---*/
    /*--- area03 ---*/
    /*--- intro ---*/
    /*--- btn01 ---*/
    /*================================ indexMenuCol ===============================*/
    /*--- table ---*/
    /*--- gmap ---*/
    /*================================ photoGallery ===============================*/
    /*--- photoGallery ---*/
    /*================================ multiple-item04 ===============================*/
    /*================================ contentsSubNavi ===============================*/
    /*================================ campaignArea ===============================*/
    /*================================ infoArea ===============================*/
    /* bannerArea */
    /*================================ bannerArea02 ===============================*/
  }
  main .inner {
    width: 100%;
    margin: auto;
    padding: 0 15px;
  }
  main .inner::after, main .inner::before {
    display: none;
  }
  main p {
    line-height: 1.5;
  }
  main .catch {
    font-size: 0.9rem;
    line-height: 1.3;
    margin: 20px 0 0;
    padding: 0;
  }
  main .lead {
    line-height: 1.5;
    font-size: 13px;
    padding: 0 0 0 10px;
    margin: 1em 0 1em;
  }
  main section {
    margin: 0;
  }
  main .tCenter {
    text-align: left;
  }
  main .imgC {
    margin: 20px auto;
  }
  main .imgC img {
    max-width: 100%;
    height: auto;
  }
  main ul.listT {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
  }
  main ul.listT li {
    font-size: small;
  }
  main .mt-30 {
    margin-top: 15px !important;
  }
  main .mt-50 {
    margin-top: 20px !important;
  }
  main .mt-100 {
    margin-top: 30px !important;
  }
  main .mt-150 {
    margin-top: 30px !important;
  }
  main .mt-180 {
    margin-top: 90px !important;
  }
  main h1 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100px;
    margin-top: -30px;
    background: #564137 url(../images/bgH1Sp.png) no-repeat top right;
  }
  main h1::before {
    display: none;
  }
  main h1 P {
    display: flex;
    align-items: center;
    text-align: left;
    color: #fff;
    font-weight: 500;
    line-height: 1.5;
    font-size: small;
    padding: 5px 10px 0;
  }
  main h1 P::before {
    display: none;
  }
  main h1 P::after {
    display: none;
  }
  main h2 {
    font-size: 20px;
    padding-top: 50px;
    margin: 2.5em 0 1.5em;
    font-weight: bold;
  }
  main h3 {
    line-height: 1.5;
    border-top: 4px solid #e37ca1;
    border-bottom: 4px solid #e37ca1;
    padding: 12px 20px;
    margin: 2.5em 0 1em;
    background: #c54d78 url(../images/bg_h3.png) repeat-y top center;
    background-size: auto 100%;
  }
  #items main h3 {
    margin: 20% 0 5%;
    font-size: 28px;
  }
  #items main h3::before {
    content:'';
    display: block;
    margin: 0 auto 15px;
    /*height: 64px;*/
    width: 100%;
    background-image: url(../item/images/flm1.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #items main h3::after {
    content:'';
    display: block;
    margin: 15px auto 0;
    /*height: 34px;*/
    width: 100%;
    background-image: url(../item/images/flm2.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  main h3.fs {
    margin: 0 0 0.5em;
  }
  main h4 {
    font-size: small;
    padding: 0 0 15px;
    margin: 1em 0 1em;
    background: url(../images/bgH.svg) repeat-x bottom left;
  }
  main h5 {
    font-size: small;
    padding: 0;
    margin: 1.5em 0 0;
  }
  main h6 {
    font-size: small;
    padding: 0;
    margin: 1.5em 0 0;
  }

  .ktab-menu {
    display: block;
    margin: 5% 0 15%;
  }
  .ktab-item img {
    max-width: 459px;
    width: 100%;
  }
  main .flexBox {
    display: flex;
    flex-wrap: wrap;
    margin: 2em 0;
    padding: 0;
  }
  main .flexBox .imageBox {
    width: 100%;
    order: 2;
  }
  main .flexBox .imageBox.wh-320 {
    width: 100%;
    max-width: 600px;
    margin: auto;
  }
  main .flexBox .imageBox.wh-600 {
    width: 100%;
    max-width: 600px;
    margin: auto;
  }
  main .flexBox .wrap {
    width: 100%;
    padding: 10px 0;
    order: 1;
  }
  main .flexBox .wrap p {
    margin: 0 0 1em;
  }
  main .flexBox .wrap .lead {
    line-height: 1.5;
    font-size: 15px;
    padding: 0;
    margin: 0;
  }
  main .flexBox h3 {
    font-size: small;
    margin: 1em 0 1em;
  }
  main .colRight .imageWrap {
    order: 2;
  }
  main .colRight .wrap {
    order: 1;
    padding: 10px 0;
  }
  main .notes {
    font-size: 12px;
    padding: 15px;
  }
  main .annotation {
    font-size: 12px;
    padding: 10px;
    letter-spacing: 1px;
  }
  main .areaBox01 {
    margin: 30px auto 30px;
    padding: 16px;
  }
  main .areaBox01 .areaBoxInner {
    padding: 15px;
  }
  main .areaBox01 .areaBoxInner .flexBox {
    padding: 0;
    margin: 0;
  }
  main .areaBox01 .areaBoxInner .flexBox .imageBox {
    width: 100%;
    margin-bottom: 15px;
  }
  main .areaBox01 .areaBoxInner .flexBox .imageBox img {
    width: 100%;
  }
  main .areaBox01 .areaBoxInner h3 {
    font-size: 18px;
    padding: 0 0 15px;
    margin: 0 0 1em;
  }
  main .areaBox01 .areaBoxInner h4 {
    font-size: 16px;
    padding: 0 0 10px;
    margin: 0 0 1em;
  }
  main .areaBox01 .areaBoxInner h5 {
    margin: 0 0 0.5em;
  }
  main .areaBox01 .areaBoxInner .lead {
    line-height: 1.3;
    font-size: 15px;
    margin: 0 0 0.3em;
  }
  main .areaBox01 .areaBoxInner p {
    padding: 0;
    margin: 0 0 0.5em;
    line-height: 1.58;
    text-align: left;
  }
  main .areaBox01 .areaBoxInner .btn01 a {
    margin: 0 0 0.5em;
  }
  #items main .go_a_page{
    width: 100%;
    height: 100%;
    background-size: cover;
    padding: 25% 0%;
    display: block;
  }
  #items main .go_a_page .go_a_page_txt{
    font-size: 18px;
  }
  main .areaBox03 {
    position: relative;
    margin: 30px auto 30px;
    padding: 16px;
    background: url(../images/bg_areabox03.png) repeat;
  }
  main .areaBox03 .areaBoxInner {
    padding: 15px;
  }
  main .areaBox03 .areaBoxInner .flexBox {
    padding: 0;
    margin: 0;
  }
  main .areaBox03 .areaBoxInner .flexBox .imageBox {
    width: 100%;
    margin-bottom: 15px;
  }
  main .areaBox03 .areaBoxInner .flexBox .imageBox img {
    width: 100%;
  }
  main .areaBox03 .areaBoxInner h3 {
    font-size: 18px;
    padding: 0 0 15px;
    margin: 0 0 1em;
  }
  main .areaBox03 .areaBoxInner h4 {
    font-size: 16px;
    padding: 0 0 10px;
    margin: 0 0 1em;
  }
  main .areaBox03 .areaBoxInner h5 {
    margin: 0 0 0.5em;
  }
  main .areaBox03 .areaBoxInner .lead {
    line-height: 1.3;
    font-size: 15px;
    margin: 0 0 0.3em;
  }
  main .areaBox03 .areaBoxInner p {
    margin: 0 0 0.5em;
    line-height: 1.58;
    text-align: left;
  }
  main .areaBox03 .areaBoxInner .btn01 a {
    margin: 0 0 0.5em;
  }
  main .areaBox03 .areaBoxInner .special {
    position: absolute;
    top: -10px;
    left: 16px;
    font-size: 14px;
    padding: 5px 20px;
  }
  main .areaBox03_2 {
    position: relative;
    margin: 30px auto 30px;
    padding: 16px;
    background: url(../images/bg_areabox03_2.png) repeat;
  }
  main .imageList {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 5px 0;
  }
  main .imageList li {
    margin: 5px;
  }
  main .imageList li img {
    width: 100%;
  }
  main .imageList.col2 li {
    width: calc(100% / 2 - 10px);
  }
  main .imageList.col3 li {
    width: calc(100% / 3 - 10px);
  }
  main .imageList.col3.LineSpecial li {
    width: 100%;
  }
  main .imageList.col4 li {
    width: calc(100% / 2 - 10px);
  }
  main .imageList.col5 li {
    width: calc(100% / 3 - 10px);
  }
  main .introBox {
    position: relative;
    left: 50%;
    width: calc(100% + 30px);
    min-width: 100%;
    transform: translateX(-50%);
    padding: 0 0 0;
    margin: 0 0 0;
    background: url(../images/bg_intro_sp.jpg) no-repeat top 50px center;
    background-size: 100% auto;
  }
  main .introBox .flexBox {
    width: 100%;
    padding: 0 15px 0;
  }
  main .introBox .flexBox .imageBox {
    position: relative;
    width: 100%;
    height: auto;
    padding-bottom: 5px;
    margin-top: -20px;
  }
  main .introBox2 {
    background: url(../images/bg_intro_sp2.jpg) no-repeat top 50px center;
    background-size: 100% auto;
  }
  /*
  main .introBox .flexBox .imageBox::before {
    content: "";
    position: absolute;
    top: initial;
    bottom: 10px;
    left: initial;
    right: -25px;
    z-index: 0;
    width: 150px;
    height: 84px;
    background: url(../images/deco_item.png) no-repeat top center;
    background-size: 100% auto;
  }
  */
  main .introBox .flexBox .imageBox img {
    border: 8px solid #fff;
  }
  main .introBox .flexBox .wrap {
    position: relative;
    left: 50%;
    width: calc(100% + 30px);
    transform: translateX(-50%);
    padding: 10px 15px;
    margin: 10px 0 0;
    background: #f0f9f6;
  }
  main .introBox2 .flexBox .wrap {
    background: #e5eefb;
  }
  main .introBox .flexBox .wrap h2 {
    line-height: 1.3;
    width: auto;
    color: #c54d78;
    font-size: 20px;
    padding: 10px 0 10px;
    text-align: center;
    margin: 0 0 10px;
    border: 0;
    border-bottom: 2px dotted #afd7cc;
  }
  main .introBox .flexBox .wrap h2.row1 {
    padding: 10px 0 10px 0;
  }
  main .introBox .flexBox .wrap h2 span {
    font-size: 15px;
  }
  main .introBox .flexBox .wrap .lead {
    font-size: 16px;
    line-height: 1.3;
    padding: 0;
    margin: 10px 0 0;
  }
  main .introBox .flexBox .wrap p {
    font-size: 14px;
    line-height: 1.8;
    padding: 15px 0 0;
  }
  main .introBox .flexBox .wrap p br {
    display: none;
  }
  main .btn01 a {
    width: 100%;
    height: 60px;
    font-size: 14px;
    letter-spacing: 0.1em;
  }
  main .btn01 a::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: -15px;
    width: 25px;
    height: 25px;
    margin: auto;
    background: url(../images/arrow04.svg) no-repeat right center;
    background-size: 100% auto;
  }
  main .indexMenuCol2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: auto;
  }
  main .indexMenuCol2::after {
    content: "";
    width: calc(100% / 3 - 20px);
  }
  main .indexMenuCol2 li {
    position: relative;
    width: calc(100% / 3 - 20px);
    margin: 0 0 35px;
    background: #fff;
    border: 6px solid #fdf7f8;
  }
  main .indexMenuCol2 li:hover {
    opacity: 0.7;
    transition: 0.3s;
  }
  main .indexMenuCol2 li:hover .btn01 {
    background: #e8bbc3;
  }
  main .indexMenuCol2 li a {
    position: relative;
    display: block;
    color: #333333;
    width: 100%;
    height: 100%;
    text-decoration: none;
    padding: 0 0 30px;
  }
  main .indexMenuCol2 li a .imageBox {
    position: relative;
    width: 100%;
    height: auto;
  }
  main .indexMenuCol2 li a .imageBox img {
    display: block;
    width: 100%;
    height: auto;
  }
  main .indexMenuCol2 li a .wrap {
    width: 100%;
    text-align: center;
    padding: 0 0 15px;
  }
  main .indexMenuCol2 li a .wrap .title {
    display: block;
    color: #333333;
    font-family: "Noto Sans JP", "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 0;
    border: none;
    border-bottom: 1px dotted #f6d8e4;
    padding: 0 0 20px;
    margin: 20px 0 15px;
    background: none;
  }
  main .indexMenuCol2 li a .wrap .title span {
    display: block;
    color: #333333;
    font-size: 15px;
  }
  main .indexMenuCol2 li a .wrap p {
    font-weight: bold;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
    margin: 15px 20px 20px;
  }
  main .indexMenuCol2 li a .wrap p span {
    display: block;
    font-weight: normal;
    font-size: 12px;
  }
  main .indexMenuCol2 li .btn01 {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-block;
    width: 100%;
    color: #fff;
    font-weight: 500;
    font-size: 15px;
    padding: 10px 20px 10px 10px;
    text-align: center;
    text-decoration: none;
    background: #89c9b7;
  }
  main .indexMenuCol2 li .btn01:after {
    content: "";
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 20px;
    height: 20px;
    background: url(../images/arrow02.svg) no-repeat center right;
    background-size: 20px auto;
  }
  main .indexMenuCol2_t2 {
    display: block;
  }
  main .indexMenuCol2_t2 li {
    position: relative;
    width: 100%;
    margin: 10px 0;
    border: 5px solid #ffe6ea;
  }
  main .indexMenuCol2_t2 li a {
    display: block;
  }
  main .indexMenuCol2_t2 li a .imageBox {
    width: 100%;
  }
  main .indexMenuCol2_t2 li a .wrap .title {
    font-size: 15px;
    text-align: center;
    margin: 10px 20px 10px;
  }
  main .indexMenuCol2_t2 li a .wrap .title span {
    font-size: 14px;
  }
  main .indexMenuCol2_t2 li a .wrap p {
    font-weight: normal;
    font-size: small;
  }
  main .indexMenuCol2_t2 li .btn01 {
    font-size: 14px;
    padding: 10px 20px 10px 10px;
    margin: 2% auto 4%;
  }
  main .indexMenuCol3 {
    display: block;
    width: 100%;
  }
  main .indexMenuCol3::after {
    display: none;
  }
  main .indexMenuCol3 li {
    width: 100%;
    margin: 0 0 20px;
  }
  main .indexMenuCol3 li a {
    padding: 0 0 60px;
  }
  main .indexMenuCol3 li a .wrap {
    padding: 0;
  }
  main .indexMenuCol3 li a .wrap p {
    font-weight: bold;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
    margin: 10px 20px 15px;
  }
  main .indexMenuCol3 li a .wrap .btn01 {
    padding: 0;
  }
  main .indexMenuCol3 li a .wrap .btn01 a.tel {
    display: block;
    pointer-events: none;
    text-decoration: none;
    padding: 6px 0 6px;
    border: none;
  }
  main .indexMenuCol3 li a .wrap .btn01 a.tel p {
    display: inline-block;
    color: #fff;
    font-family: "Lato", sans-serif;
    font-size: 18px;
    line-height: 1;
    padding: 0 0 0 20px;
    margin: 0;
    background: url(../images/icon/icon_tel.svg) no-repeat left center;
    background-size: 14px auto;
  }
  main .indexMenuCol3 li a .wrap h3 {
    font-size: 16px;
    padding: 0 0 10px;
    margin: 10px 0;
  }
  main .indexMenuCol3 li a .wrap h3.row1 {
    padding: 0 0 20px;
    margin: 20px 0;
  }
  main .indexMenuCol3 li a .wrap h3 span {
    font-size: 12px;
  }
  main .indexMenuCol4 {
    display: block;
    width: 100%;
  }
  main .indexMenuCol4::after {
    display: none;
  }
  main .indexMenuCol4 li {
    width: 100%;
    margin: 0 0 40px;
    border: 4px solid #89c9b7;
  }
  main .indexMenuCol4 li a {
    padding: 0 0 50px;
  }
  main .indexMenuCol4 li a .wrap {
    padding: 0;
  }
  main .indexMenuCol4 li a .wrap p {
    font-weight: bold;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
    margin: 10px 20px 15px;
  }
  main .indexMenuCol4 li a .wrap .btn01 {
    padding: 0;
  }
  main .indexMenuCol4 li a .wrap .btn01 a.tel {
    display: block;
    pointer-events: none;
    text-decoration: none;
    padding: 6px 0 6px;
    border: none;
  }
  main .indexMenuCol4 li a .wrap .btn01 a.tel p {
    display: inline-block;
    color: #fff;
    font-family: "Lato", sans-serif;
    font-size: 18px;
    line-height: 1;
    padding: 0 0 0 20px;
    margin: 0;
    background: url(../images/icon/icon_tel.svg) no-repeat left center;
    background-size: 14px auto;
  }
  main .indexMenuCol4 li a .wrap .title {
    font-size: 16px;
    padding: 20px 0;
    margin: 0 0 15px;
  }
  main .indexMenuCol3_gallery {
    width: 100%;
  }
  main .indexMenuCol3_gallery li {
    width: calc(100% / 2 - 6px);
    margin: 0 3px 6px;
  }
  main .indexMenuCol3_gallery li a {
    padding: 5px;
  }
  main .indexMenuCol3_gallery li a .wrap .title {
    font-size: 12px;
    padding: 10px 0;
    letter-spacing: 0.1em;
  }
  main .indexMenuCol4_gallery {
    width: 100%;
  }
  main .indexMenuCol4_gallery li {
    width: calc(100% / 2 - 6px);
    margin: 0 3px 6px;
  }
  main .indexMenuCol4_gallery li a {
    padding: 5px;
  }
  main .indexMenuCol4_gallery li a .wrap .title {
    font-size: 12px;
    padding: 10px 0;
    letter-spacing: 0.1em;
  }
  main .indexMenuCol4_instagram li {
    width: 100%;
    margin: 0 5px 10px;
    border: 5px solid #f9e8e9;
  }
  main .indexMenuCol4_instagram li a {
    position: relative;
    display: block;
    color: #333333;
    width: 100%;
    height: 100%;
    text-decoration: none;
    padding: 0 0 75px;
  }
  main .indexMenuCol4_instagram li a h3 {
    font-size: 14px;
    padding: 10px 0 10px;
    margin: 0 15px;
    background: none;
    border: none;
    border-bottom: 2px dotted #f4d8df;
  }
  main .indexMenuCol4_instagram li a h3.row1 {
    padding: 15px 0 15px;
    margin: 0 15px;
  }
  main .indexMenuCol4_instagram li a h3 span {
    font-size: 12px;
  }
  main .indexMenuCol4_instagram li .btn01 {
    width: 60%;
    font-size: 15px;
  }
  main .indexMenuCol4_campaign li {
    width: 100%;
    margin: 0 5px 20px;
    border: 5px solid #daedf2;
  }
  main .indexMenuCol4_campaign li a {
    padding: 0 0 75px;
  }
  main .indexMenuCol4_campaign li a h3 {
    font-size: 14px;
    padding: 10px 0 10px;
    margin: 0 15px;
    background: none;
    border: none;
    border-bottom: 2px dotted #f4d8df;
  }
  main .indexMenuCol4_campaign li a h3.row1 {
    padding: 15px 0 15px;
    margin: 0 15px;
  }
  main .indexMenuCol4_campaign li a h3 span {
    font-size: 12px;
  }
  main .indexMenuCol4_campaign li .btn01 {
    width: 60%;
    font-size: 15px;
  }
  main table {
    width: 100%;
    margin: 15px 0;
    line-height: 1.3;
    letter-spacing: 1px;
  }
  main table thead th {
    padding: 10px;
  }
  main table tbody th, main table tbody td {
    font-size: small;
    color: #333;
    padding: 10px;
  }
  main table tbody th {
    width: 30%;
  }
  main table.history thead th {
    color: #fff;
    text-align: center;
    background: #34323d;
    font-size: x-small;
    padding: 5px 5px;
    font-weight: 500;
    border: 1px solid #baae9e;
  }
  main table.history thead th:last-child {
    border-right: none;
  }
  main table.history tbody th, main table.history tbody td {
    font-size: x-small;
    padding: 5px 5px;
  }
  main table.history tbody td {
    width: auto;
    background: #f5f6f8;
    border: 1px solid #baae9e;
  }
  main table.history tbody td[rowspan] {
    width: 8em;
    text-align: center;
  }
  main .scrollT {
    overflow: auto;
    white-space: nowrap;
  }
  main .gMap iframe {
    width: 100%;
    height: 300px;
    margin: 0;
  }
  main .photoGallery {
    position: relative;
    margin: 1em 0 30px;
  }
  main .photoGallery .wrap ul li {
    width: calc(100% / 2 - 8px);
    margin: 4px;
    height: auto;
  }
  main .multiple-item04 {
    margin-top: 0;
  }
  main .multiple-item04 li {
    width: 180px;
    border-top: 6px solid #fff;
    border-bottom: 6px solid #fff;
    border-left: 3px solid #fff;
    border-right: 3px solid #fff;
  }
  main .contentsSubNavi dl {
    width: 100%;
    padding: 25px 0 0;
    margin: 60px auto 0;
  }
  main .contentsSubNavi dl.col2 {
    width: 100%;
    padding: 25px 0 0;
    margin: 60px auto 0;
  }
  main .contentsSubNavi dl.col2 dd {
    width: 100%;
    margin: 2px 0;
  }
  main .contentsSubNavi dl::after {
    display: none;
  }
  main .contentsSubNavi dl dt {
    margin-bottom: 20px;
  }
  main .contentsSubNavi dl dt a {
    font-size: 18px;
  }
  main .contentsSubNavi dl dd {
    width: 100%;
    margin: 2px 0;
  }
  main .contentsSubNavi dl dd.act {
    background: #333;
  }
  main .contentsSubNavi dl dd.act a {
    background: url(../images/arrow01.svg) no-repeat right 10px center;
    background-size: 12px auto;
  }
  main .contentsSubNavi dl dd a {
    padding: 8px 10px;
    font-size: 12px;
    background: url(../images/arrow01.svg) no-repeat right 10px center;
    background-size: 12px auto;
  }
  main .campaignArea ul {
    width: 100%;
  }
  main .campaignArea ul li {
    width: 230px;
    margin: 0 3px;
  }
  main .campaignArea .slick-prev {
    left: 7px;
  }
  main .campaignArea .slick-next {
    right: 7px;
  }
  main .blogArea {
    max-width: 100%;
    margin: auto;
    padding: 0;
  }
  main .blogArea::after {
    display: none;
  }
  main .blogArea::before {
    display: none;
  }
  main .blogArea ul {
    margin: 0 auto 10px;
    padding: 0;
  }
  main .blogArea ul::before {
    width: calc(100% / 2 - 5px);
  }
  main .blogArea ul li {
    width: calc(100% / 2 - 5px);
    margin: 0 0 20px;
  }
  main .blogArea ul li a .pickup_image {
    position: relative;
    background: #f6e8e8;
    width: 100%;
  }
  main .blogArea ul li a .pickup_image::before {
    content: "";
    display: block;
    padding-top: 100%;
  }
  main .blogArea ul li a .pickup_image::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: -5px;
    width: 92px;
    height: 18px;
    background: url(../images/deco_wave.svg) no-repeat;
  }
  main .blogArea ul li a time {
    font-size: x-small;
    letter-spacing: 1px;
    padding: 10px 0 0;
  }
  main .blogArea ul li a .title {
    font-size: 12px;
    line-height: 1.3;
  }
  main .blogArea ul li a .description {
    font-size: 12px;
  }
  main .bannerArea {
    width: 100%;
    margin: 30px auto 30px;
  }
  main .bannerArea a {
    display: block;
    border: 6px solid #f4d8df;
  }
  main .bannerArea a p {
    font-size: small;
  }
  main .bannerArea a .title {
    font-size: 16px;
    margin: 10px 0 5px;
  }
  main .bannerArea a img {
    width: 100%;
    max-width: 600px;
    height: auto;
    margin: auto;
  }
  main .bannerArea a img.wh-400 {
    width: 100%;
    max-width: 600px;
    height: auto;
    margin: auto;
  }
  main .bannerArea02 {
    width: 100%;
    margin: 30px auto 30px;
  }
  main .bannerArea02 a {
    display: block;
    border: 10px solid #f4d8df;
  }
  main .bannerArea02 a p {
    font-size: small;
  }
  main .bannerArea02 a .title {
    font-size: 16px;
    margin: 10px 0 5px;
  }
  main .bannerArea02 a img {
    width: 100%;
    max-width: 600px;
    height: auto;
    margin: auto;
  }
  main .bannerArea02 a img.wh-400 {
    width: 100%;
    max-width: 600px;
    height: auto;
    margin: auto;
  }
  main .bannerArea02 a .btn01 {
    width: 100%;
    height: 60px;
    font-size: 14px;
    margin-bottom: 15px;
  }
  main .bannerArea02 a .btn01::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: -15px;
    width: 25px;
    height: 25px;
    margin: auto;
    background: url(../images/arrow04.svg) no-repeat right center;
    background-size: 100% auto;
  }

  /*--- main ---*/
  /*================================ studioArea ===============================*/
  .studioArea {
    position: relative;
    max-width: 100%;
    margin: auto;
    padding: 20px 0 30px 0;
    /*background: url(../images/bg_common02.png) repeat center top;*/
  }
  .studioArea .inner h2 {
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: 0.1em;
    padding-top: 120px;
    margin: 0 0 1.5em;
    background-size: 60%;
  }
  .studioArea .inner h2 a span:nth-of-type(2) {
    font-size: 18px;
  }
  .studioArea .inner ul {
    display: block;
    margin-top: 30px;
    padding: 0 15px;
  }
  .studioArea .inner ul li {
    width: 100%;
    height: 80px;
    margin: 10px 0;
    background: #89c9b7;
  }
  .studioArea .inner ul li a h3 {
    font-size: 14px;
    font-weight: bold;
    white-space: nowrap;
    padding: 5px 0 5px 0;
    letter-spacing: 0;
  }
  .studioArea .inner ul li.studioArea_close object p {
    line-height: 100%;
    padding: 1px 0 0 0;
  }
  .studioArea .inner ul li a h3.row1 {
    padding: 15px 15px;
  }
  .studioArea .inner ul li a h3 span {
    display: block;
    color: #333333;
    font-size: 11px;
  }
  .studioArea .inner ul li a img {
    object-fit: cover;
    width: 80px;
    height: 80px;
    margin: 0 15px 0 0;
  }
  .studioArea .inner ul li a p > {
    font-size: 11px;
    line-height: 1.3;
  }
  .studioArea .inner ul li a .tel {
    font-size: 18px;
    padding: 6px 10px 6px 20px;
    margin-top: 0;
    letter-spacing: 1px;
  }

  /*================================ flow ===============================*/
  .flow > .lead {
    text-align: left;
    font-size: 16px;
    padding: 0;
  }
  .flow ol {
    list-style: none;
    padding: 0;
    margin: 15px 0 0;
  }
  .flow ol li {
    padding: 50px 0 20px;
  }
  .flow ol li:first-of-type {
    padding: 0 0 20px;
  }
  .flow ol li .flexBox {
    margin: 0;
    padding: 0 15px;
  }
  .flow ol li .flexBox .imageBox {
    width: 100%;
  }
  .flow ol li .flexBox .lead {
    text-align: left;
    font-size: 16px;
    padding: 0;
    margin: 0;
  }
  .flow ol li .flexBox p br {
    display: none;
  }
  .flow ol li h4 {
    font-size: 18px;
    border: 0;
    padding: 0;
    margin: 0.5em 0 0.5em;
  }
  .flow ol li h4 span {
    font-size: 22px;
    padding: 0;
  }

  /*================================ contentsCta ===============================*/
  .contentsCta ul {
    display: block;
    margin: 50px 0;
  }
  .contentsCta ul li {
    width: 100%;
    margin: 10px 0;
  }
  .contentsCta ul li:nth-child(2) a P {
    background: url(../images/icon/icon_consultation.svg) no-repeat left 10px center;
    background-size: 24px auto;
  }
  .contentsCta ul li:nth-child(3) a P {
    background: url(../images/icon/icon_charter.svg) no-repeat left 10px center;
    background-size: 24px auto;
  }
  .contentsCta ul li:nth-child(4) a P {
    background: url(../images/icon/icon_locat.svg) no-repeat left 10px center;
    background-size: 24px auto;
  }

  .contentsCta ul li a {
    padding: 5px 10px;
    background: #c54d78 url(../images/arrow02.svg) no-repeat right 10px center;
    background-size: 16px auto;
    border: 4px solid #fdcbd6;
  }
  .contentsCta ul li a P {
    text-align: left;
    font-size: 15px;
    background: url(../images/icon/icon_camera.svg) no-repeat left 10px center;
    background-size: 20px auto;
    letter-spacing: 0;
    padding-left: 45px;
  }
  .contentsCta ul li a P span {
    display: block;
    font-size: 12px;
    letter-spacing: 0;
  }

  /*================================ contactArea ===============================*/
  .contactArea {
    padding: 50px 15px 50px;
    width: calc(100% + 30px);
    min-width: calc(100% + 30px);
    transform: translateX(-50%);
  }
  .contactArea h2 {
    font-size: 18px;
    padding-top: 50px;
    margin: 0 0 20px;
    letter-spacing: 0;
  }
  .contactArea h3 {
    text-align: left;
    font-size: 16px;
    font-weight: bold;
    padding: 0 0 5px 40px;
  }
  .contactArea p {
    font-size: 24px;
    padding: 0 0 0 30px;
    margin: 0;
    text-align: left;
    line-height: 0.7;
    background: url(../images/icon/icon_tel2.svg) no-repeat left top;
    background-size: 24px auto;
  }
  .contactArea p span {
    font-size: 12px;
    text-align: left;
    line-height: 1;
    letter-spacing: 0.1em;
  }
  .contactArea .tel {
    display: block;
    width: 100%;
    color: #333333;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 25px;
    margin: 10px auto 30px;
    padding: 30px 15px;
    text-decoration: none;
    text-align: center;
    background: #fff;
    border: 6px solid #eee8c9;
  }

  /* faq */
  .faq dl {
    width: 100%;
    margin: 30px auto;
  }
  .faq dl dt {
    font-size: 14px;
    padding: 15px 15px 15px 40px;
    margin: 15px auto 0;
    background: url(../images/icon/icon_q.svg) no-repeat left 10px center;
    background-size: 20px auto;
    border-top: 2px dotted #bebbcf;
  }
  .faq dl dt:first-child {
    padding: 15px 15px 15px 40px;
  }
  .faq dl dd {
    width: 100%;
    font-size: 12px;
    line-height: 1.3;
    background: #f9f4f4 url(../images/icon/icon_a.svg) no-repeat left 10px center;
    background-size: 20px auto;
    padding: 15px 15px 15px 40px;
  }

	
  /* floating_menu */
  .floating_menu {
		display: block;
		width: 100%;
		height: 60px;
    background: #fff;
		filter: drop-shadow(0 0 3px rgba(0,0,0,.1));
    position: fixed;
    top: auto;
		right: 0;
		bottom: -70px;
  }
	.floating_menu.smaller {
		bottom: 0;
	}
  /*.floatingMenu {
		transform: translateY(100%);
		opacity: 0;
		animation: fadeIn 0.8s ease forwards;
  }
	@keyframes fadeIn {
		to {
			transform: translateY(0);
			opacity: 1;
		}
	}*/
  .floating_menu ul.sp {
    display: none;
  }
  .floating_menu ul.pc {
    display: flex;
    flex-direction: row;
		gap: 0;
		height: 100%;
  }
  .floating_menu ul li {
    width: 20%;
  }
  .floating_menu ul li a {
		font-size: 8px;
		font-weight: 400;
		letter-spacing: 0;
		writing-mode: unset;
		color: #000;
		background: none !important;
		flex-direction: column;
		gap: 0;
		height: 100%;
		padding: 8px 0;
	}
	.floating_menu ul li.contact a { color: #E37CA1;}
	.floating_menu ul li.inquiry a { color: #446DA5;}
	.floating_menu ul li a img {
		width: 35px;
	}
	
	
	
	
	
}