@charset "utf-8";
/* CSS Document */

@import url("header.css");
@import url("option.css");
@import url("animation.css");

/* ==============================================================

//　全ページ共通CSS

============================================================== */


/*----------------------------------------
  デザインカンプの表示　※コーディング後削除する
----------------------------------------*/
/* main {
  background-image: url(../images/img.jpg);
  background-color:rgba(255,255,255,0.5);
  background-blend-mode:lighten;
  height: 11457px;
} */


/*----------------------------------------
  コンテンツ共通
----------------------------------------*/


/*---------- 文字 ここから */
.textCenter {
  text-align: center;
}
.textLeft {
  text-align: left !important;
}
.textRight {
  text-align: right !important;
}
.textLarge {
  font-size: 1.5em!important;
}
.textSmall {
  font-size: 0.85em!important;
}
.textSmall02 {
  font-size: 0.65em!important;
}
.bold {
  font-weight: bold;
}
.light {
  font-weight: 100;
}
.light2 {
  font-weight: 200;
}
.normal {
  font-weight: normal!important;
}
.mincho {
  font-family: 'Noto Serif JP', '游明朝 Regular', 'source-han-serif-japanese', "Sawarabi Mincho", serif;
}
.gothic {
  font-family: 'Montserrat','Noto Sans JP',"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
.textCut{
  display: inline-block;
  padding: .2em .5em .1em;
  border-radius: 3px;
  font-size: .8em;
  vertical-align: text-bottom;
}
.textCut p {
  color: #FFF;
}
.textCut.wide {
  padding: .2em 2em .1em 2em;
}
/* .textCut{
  color: #fff;
} */
.bg-gold.textCut{
  background: #af9d81;
}
.textCut-bd {
  border: 1px solid;
  padding: .05em .4em;
  font-size: .8em;
}
.marker-pink{
  background:linear-gradient(transparent 40%, #fce8e8 40%);
  font-weight: bold;
}
.marker-ywl{
  background:linear-gradient(transparent 40%, #ffffdb 40%);
  font-weight: bold;
}
.lh-16 {
  line-height: 1.6 !important;
}
.lh-18 {
  line-height: 1.8 !important;
}

@media print, screen and (min-width: 769px){
  .textMid {
    font-size: 1.2em;
  }
}
@media screen and (max-width:768px){
  .textLarge {
    font-size: 1.3em!important;
  }
  .textLeft-sp {
    text-align: left !important;
  }
  .textCenter-sp {
    text-align: center;
  }
  .textMid {
    font-size: 16px!important;
  }
  img.bdr {
    border-radius: 8px!important;
  }
}
/*---------- 文字 ここまで */


/*---------- レイアウト ここから */
.jc-center {
  justify-content: center;
}
.block{
  display: block !important;
}
.inline-block{
  display: inline-block;
}
@media print, screen and (min-width: 769px){
  .block-pc {
    display: block !important;
  }
  .inline-block-pc{
    display: inline-block;
  }
}
@media screen and (max-width:768px) {
  .block-sp {
    display: block !important;
  }
  .inline-block-sp{
    display: inline-block;
  }
}
/*---------- レイアウト ここまで */


/*---------- 色 ここから */
/* 文字 */
.color-red {
  color: #c30d23!important;
}
.color-black {
  color: #333!important;
}
.color-white {
  color: #FFF!important;
}
.color-pink {
  color: #ea609e!important;
}
.color-pink2 {
  color: #f4b4d0!important;
}
.color-pb {
  color: #c4b4c1!important;
}
.color-pb2 {
  color: #e1dae0!important;
}
.color-gray {
  color: #ddd!important;
}
.color-gray2 {
  color: #ccc!important;
}
.color-dark {
  color: #555!important;
}

/* 背景 */
.bg-white {
  background: #FFF;
}
.bg-gray {
  background: #f5f5f5;
}
.bg-dark {
  background: #242424;
}
.bg-pink {
  background: #ea609e;
}
.bg-pink2 {
  background: #f4b4d0;
}
.bg-pb {
  background: #c4b4c1;
}
.bg-pb2 {
  background: #e1dae0;
}

/* 影 */
.bg-shadow{
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.bg-shadow2{
  box-shadow: 0 2px 8px rgba(196,180,193,0.5);
}

/*---------- 色 ここまで */


/*---------- 枠線 ここから */
.border {
  border: solid 1px #DDD;
}
.border-white {
  border: solid 1px #fff;
}
.border-green {
  border: solid 1px #73bfc8;
}
.border-bottom {
  border-bottom: solid 1px #ddd;
}
.border-bottom-white {
  border-bottom: solid 1px #fff;
}
.border-bottom-green {
  border-bottom: solid 1px #73bfc8;
}
.border-top {
  border-top: solid 1px #ddd;
}
/*---------- 枠線 ここまで */


body {
  position: relative;
  overflow: hidden;
}
img {
  backface-visibility: hidden;
}
figcaption {
  margin-top: 10px;
  line-height: 1.2;
  font-size: 0.9em;
  text-align: center;
}
.bdr {
  border-radius: 8px;
}
.bdr-15 {
  border-radius: 15px;
}
.bdr-30 {
  border-radius: 30px;
}
.w100 {
  width: 100%!important;
}

@media print, screen and (min-width: 769px){
  body {
    min-width: 1200px;
  }
  .sp {
    display: none!important;
  }
  .textMid {
    font-size: 1.2em;
  }
  a[href^="tel:"] {
    pointer-events: none;
    color: inherit !important;;
    text-decoration: none !important;;
  }
}

@media screen and (max-width:768px){
  .pc {
    display: none!important;
  }
  img.bdr {
    border-radius: 8px;
  }
}

/*----------------------------------------
Layout
----------------------------------------*/
.ContentWrap {
  margin-top: 65px;
}
.l-inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  width: 90%;
}
.l-inner.max1000 {
  max-width: 1000px;
}
@media screen and (min-width:769px){
  .ContentWrap {
    margin-left: 150px;
  }
}
@media screen and (max-width:1490px){
  .ContentWrap {
    margin-left: 10vw;
  }
  .l-inner {
    padding: 0 15px;
    width: 100%;
  }
}
@media screen and (max-width:768px){
  .ContentWrap {
    width: 100%;
    margin-left: 0;
  }
  .l-inner {
    padding: 0 15px;
    width: 100%;
  }
  .l-inner-sp {
    width: 100%;
    padding: 0 15px;
    position: relative;
  }
}
.l-secCont {
  margin-bottom: 120px;
  padding: 80px 0;
  position: relative;
}
.l-secCont__box {
  margin-bottom: 100px;
}
.l-secCont:last-of-type,
.l-secCont__box:last-of-type {
  margin-bottom: 0;
}
.l-secCont ul li {
  margin-bottom: 0.5em;
}
.l-secCont ul li:last-child {
  margin-bottom: 0;
}
.l-secCont li {
  margin-bottom: 0.5em;
}
@media screen and (max-width:768px){
  .l-secCont{
    margin-bottom: 80px;
    padding: 50px 0;
  }
  .l-secCont__box {
    margin-bottom: 80px;
  }
}
/*padding*/
.pd10 {
  padding: 10px;
}
.pd15 {
  padding: 15px;
}
.pd20 {
  padding: 20px;
}
.pd30 {
  padding: 30px;
}
.pd40 {
  padding: 40px;
}
@media screen and (min-width:769px){
  .pd10-pc {
    padding: 10px;
  }
  .pd15-sp {
    padding: 15px;
  }
  .pd20-pc {
    padding: 20px;
  }
  .pd30-pc {
    padding: 30px;
  }
  .pd40-pc {
    padding: 40px;
  }
}
@media screen and (max-width:768px){
  .pd0-sp{
    padding: 0;
  }
  .pd10-sp {
    padding: 10px;
  }
  .pd15-sp {
    padding: 15px;
  }
  .pd20-sp{
    padding: 20px;
  }
  .pd30-sp{
    padding: 30px;
  }
  .pd40-sp {
    padding: 40px;
  }
}

/* カラム */
.l-colWrap {
  display: flex;
  flex-wrap: wrap;
}
.l-colWrap.align-end {
  align-items: end;
}
.l-colWrap.align-center {
  align-items: center;
}
.l-colWrap .col-item {
  position: relative;
}
.l-colWrap .col-item figure img {
  width: 100%;
}

/*flexアイテム下寄せ*/
.l-colWrap.end {
  align-items: flex-end;
}

/*画像+テキスト*/
.l-flexBox {
  display: flex;
}

.l-flexBox figure img {
  width: 100%;
}
/*アイテムを上下中央寄せにしたいとき*/
.l-flexBox.align-center {
  align-items: center;
}

/*アイテムをベースラインに合わせたいとき*/
.l-flexBox.align-base {
  align-items: baseline;
}

/*アイテムを下寄せにしたいとき*/
.l-flexBox.flex-end {
  align-items: flex-end;
}

/*4:6*/
.l-flexBox.ratio4-6 .l-flexBox__imgSpc,
.l-flexBox.ratio4-6 .l-flexBox__spc01 {
  width: 40%;
}

.l-flexBox.ratio4-6 .l-flexBox__textSpc,
.l-flexBox.ratio4-6 .l-flexBox__spc02 {
  width: 60%;
}

/*5:5*/
.l-flexBox.ratio5-5 {
  justify-content: space-between;
}
.l-flexBox.ratio5-5 .l-flexBox__imgSpc,
.l-flexBox.ratio5-5 .l-flexBox__spc01,
.l-flexBox.ratio5-5 .l-flexBox__textSpc,
.l-flexBox.ratio5-5 .l-flexBox__spc02 {
  width: 48%;
}
.l-flexBox.ratio5-5 .l-flexBox__textSpc,
.l-flexBox.ratio5-5 .l-flexBox__spc02 {
  padding-left: 0;
}

/*3:7*/
.l-flexBox.ratio3-7 .l-flexBox__imgSpc,
.l-flexBox.ratio3-7 .l-flexBox__spc01 {
  width: 30%;
}
.l-flexBox.ratio3-7 .l-flexBox__textSpc,
.l-flexBox.ratio3-7 .l-flexBox__spc02 {
  width: 70%;
}

/*2:8*/
.l-flexBox.ratio2-8 .l-flexBox__imgSpc,
.l-flexBox.ratio2-8 .l-flexBox__spc01 {
  width: 20%;
}
.l-flexBox.ratio2-8 .l-flexBox__textSpc,
.l-flexBox.ratio2-8 .l-flexBox__spc02 {
  width: 80%;
}

/*1:9*/
.l-flexBox.ratio1-9 .l-flexBox__imgSpc,
.l-flexBox.ratio1-9 .l-flexBox__spc01 {
  width: 10%;
}
.l-flexBox.ratio1-9 .l-flexBox__textSpc,
.l-flexBox.ratio1-9 .l-flexBox__spc02 {
  width: 90%;
}

/*7:3*/
.l-flexBox.ratio7-3 .l-flexBox__imgSpc,
.l-flexBox.ratio7-3 .l-flexBox__spc01 {
  width: 70%;
}
.l-flexBox.ratio7-3 .l-flexBox__textSpc,
.l-flexBox.ratio7-3 .l-flexBox__spc02 {
  width: 30%;
}

/*8:2*/
.l-flexBox.ratio8-2 .l-flexBox__imgSpc,
.l-flexBox.ratio8-2 .l-flexBox__spc01 {
  width: 80%;
}
.l-flexBox.ratio8-2 .l-flexBox__textSpc,
.l-flexBox.ratio8-2 .l-flexBox__spc02 {
  width: 20%;
}

/*6:4*/
.l-flexBox.ratio6-4 .l-flexBox__imgSpc,
.l-flexBox.ratio6-4 .l-flexBox__spc01 {
  width: 60%;
}
.l-flexBox.ratio6-4 .l-flexBox__textSpc,
.l-flexBox.ratio6-4 .l-flexBox__spc02 {
  width: 40%;
}

/*5.5:4.5*/
.l-flexBox.ratio55-45 .l-flexBox__imgSpc,
.l-flexBox.ratio55-45 .l-flexBox__spc01 {
  width: 55%;
}
.l-flexBox.ratio55-45 .l-flexBox__textSpc,
.l-flexBox.ratio55-45 .l-flexBox__spc02 {
  width: 45%;
}

@media print,screen and (min-width: 1231px) {
}

@media print,screen and (max-width: 1230px) {
  .l-inner {
    padding: 0 15px;
  }
}

@media print,screen and (min-width: 769px) {
  .l-inner {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
  }
  .l-inner.small {
    max-width: 1000px;
  }
  .l-secCont {
    width: 100%;
  }
  .l-secCont__box,
  .l-secCont__box__box {
  }

  /* カラム */
  .l-colWrap .col-item {
    margin-bottom: 30px;
  }
  .l-colWrap.item2 .col-item {
    width: 49%;
    margin-right: 2%;
  }
  .l-colWrap.item3 .col-item {
    width: 32%;
    margin-right: 2%;
  }
  .l-colWrap.item4 .col-item {
    width: 23.5%;
    margin-right: 2%;
  }
  .l-colWrap.item5 .col-item {
    width: 18.4%;
    margin-right: 2%;
  }
  .l-colWrap.item6 .col-item {
    width: 15%;
    margin-right: 2%;
  }
  .l-colWrap.item7 .col-item {
    width: 12.5%;
    margin-right: 2%;
  }
  .l-colWrap.item2 .col-item:nth-child(2n),
  .l-colWrap.item3 .col-item:nth-child(3n),
  .l-colWrap.item4 .col-item:nth-child(4n),
  .l-colWrap.item5 .col-item:nth-child(5n),
  .l-colWrap.item6 .col-item:nth-child(6n),
  .l-colWrap.item7 .col-item:nth-child(7n),
  .l-colWrap .col-item:last-child {
    margin-right: 0;
  }

  /*カラムの片方がテキスト*/
  .l-colWrap.item2 .col-item.col-item__text {
    height: 100%;
  }

  /* .l-floatBox */
  .l-floatBox__imgSpc {
    float: right;
    width: 30%;
    margin: 0 0 30px 30px;
  }
  .l-floatBox.reverse .l-floatBox__imgSpc {
    float: left;
    margin: 0 30px 30px 0;
  }

  /*画像+テキスト*/
  .l-flexBox .l-flexBox__textSpc,
  .l-flexBox .l-flexBox__spc02 {
    padding-left: 2em;
  }
  .l-flexBox.reverse .l-flexBox__textSpc,
  .l-flexBox.reverse .l-flexBox__spc02 {
    padding-left: 0;
    padding-right: 2em;
  }
  .l-flexBox.reverse .l-flexBox__imgSpc,
  .l-flexBox.reverse .l-flexBox__spc01 {
    order: 2;
  }
  .l-flexBox .l-flexBox__imgSpc img {
    width: 100%;
  }
}

@media screen and (max-width:768px) {
  .l-inner {
    padding: 0 15px;
  }
  .l-secCont,
  .l-secCont__box,
  .l-secCont__box__box {
  }
  .l-secCont ul.item1-sp li {
    width: 100%;
    margin-right: 0 !important;
  }
  .l-floatBox {
    display: flex;
  }
  .l-floatBox__imgSpc,
  .l-floatBox__textSpc {
    width: 100%;
  }
  .l-floatBox__imgSpc {
    order: 2;
  }
  .l-floatBox__textSpc {
    margin-bottom: 30px;
  }
  .l-floatBox.order-change .l-floatBox__imgSpc {
    order: 1;
    margin-bottom: 30px;
  }
  .l-floatBox.order-change .l-floatBox__textSpc {
    order: 2;
    margin-bottom: 0;
  }

  /* カラム */
  .l-colWrap.item1-sp .col-item {
    width: 100%;
  }
  .l-colWrap.item2-sp .col-item {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 4%;
  }
  .l-colWrap.item2-sp .col-item:last-child {
    margin-bottom: 4%;
  }
  .l-colWrap.item3-sp .col-item {
    width: 32%;
    margin-right: 2%;
    margin-bottom: 4%;
  }
  .l-colWrap.item2-sp .col-item:nth-child(2n) {
    margin-right: 0;
  }
  .l-colWrap.item3-sp .col-item:nth-child(3n) {
    margin-right: 0;
  }
  .l-colWrap .col-item {
    width: 100%;
    margin-bottom: 30px;
  }
  .l-colWrap .col-item p {
    line-height: 1.5;
  }
  .l-colWrap .col-item:last-child {
    margin-bottom: 0;
  }

  /*画像+テキスト*/
  .l-flexBox {
    flex-wrap: wrap;
  }
  .l-flexBox .l-flexBox__imgSpc,
  .l-flexBox .l-flexBox__spc01 {
    width: 100% !important;
    margin: 0 0 30px 0;
  }
  .l-flexBox .l-flexBox__textSpc,
  .l-flexBox .l-flexBox__spc02 {
    width: 100% !important;
  }
  .l-flexBox.reverse-sp .l-flexBox__imgSpc,.l-flexBox.reverse-sp .l-flexBox__spc01 {
    order: 2;
    margin-bottom: 0 !important;
    margin-top: 30px !important;
  }

  /*spでもflex継承する場合*/
  .flex-sp.l-flexBox .l-flexBox__imgSpc,.l-flexBox.reverse-sp .l-flexBox__spc02 {
    padding-right: 12px;
  }

  /*4:6*/
  .flex-sp.l-flexBox.ratio4-6 .l-flexBox__imgSpc,
  .flex-sp.l-flexBox.ratio4-6 .l-flexBox__spc01 {
    width: 30% !important;
  }
  .flex-sp.l-flexBox.ratio4-6 .l-flexBox__textSpc,
  .flex-sp.l-flexBox.ratio4-6 .l-flexBox__spc02 {
    width: 70% !important;
  }

  /*5:5*/
  .flex-sp.l-flexBox.ratio5-5 {
    justify-content: space-between !important;
  }
  .flex-sp.l-flexBox.ratio5-5 .l-flexBox__imgSpc,
  .flex-sp.l-flexBox.ratio5-5 .l-flexBox__spc01,
  .flex-sp.l-flexBox.ratio5-5 .l-flexBox__textSpc,
  .flex-sp.l-flexBox.ratio5-5 .l-flexBox__spc02 {
    width: 48% !important;
    padding-right: 0 !important;
  }
  .flex-sp.l-flexBox.ratio5-5 .l-flexBox__textSpc,
  .flex-sp.l-flexBox.ratio5-5 .l-flexBox__spc02 {
    padding-left: 0 !important;
  }

  /*3:7*/
  .flex-sp.l-flexBox.ratio3-7 .l-flexBox__imgSpc,
  .flex-sp.l-flexBox.ratio3-7 .l-flexBox__spc01 {
    width: 30% !important;
  }
  .flex-sp.l-flexBox.ratio3-7 .l-flexBox__textSpc,
  .flex-sp.l-flexBox.ratio3-7 .l-flexBox__spc02 {
    width: 70% !important;
  }

  /*2:8*/
  .flex-sp.l-flexBox.ratio2-8 .l-flexBox__imgSpc,
  .flex-sp.l-flexBox.ratio2-8 .l-flexBox__spc01 {
    width: 30% !important;
  }
  .flex-sp.l-flexBox.ratio2-8 .l-flexBox__textSpc,
  .flex-sp.l-flexBox.ratio2-8 .l-flexBox__spc02 {
    width: 70% !important;
  }

  /*1:9*/
  .flex-sp.l-flexBox.ratio1-9 .l-flexBox__imgSpc,
  .flex-sp.l-flexBox.ratio1-9 .l-flexBox__spc01 {
    width: 30% !important;
  }
  .flex-sp.l-flexBox.ratio1-9 .l-flexBox__textSpc,
  .flex-sp.l-flexBox.ratio1-9 .l-flexBox__spc02 {
    width: 70% !important;
  }

  /*7:3*/
  .flex-sp.l-flexBox.ratio7-3 .l-flexBox__imgSpc,
  .flex-sp.l-flexBox.ratio7-3 .l-flexBox__spc01 {
    width: 70% !important;
  }
  .flex-sp.l-flexBox.ratio7-3 .l-flexBox__textSpc,
  .flex-sp.l-flexBox.ratio7-3 .l-flexBox__spc02 {
    width: 30% !important;
  }

  /*6:4*/
  .flex-sp.l-flexBox.ratio6-4 .l-flexBox__imgSpc,
  .flex-sp.l-flexBox.ratio6-4 .l-flexBox__spc01 {
    width: 60% !important;
  }
  .flex-sp.l-flexBox.ratio6-4 .l-flexBox__textSpc,
  .flex-sp.l-flexBox.ratio6-4 .l-flexBox__spc02 {
    width: 40% !important;
  }
    /*5.5:4.5*/
    .flex-sp.l-flexBox.ratio55-45 .l-flexBox__imgSpc,
    .flex-sp.l-flexBox.ratio55-45 .l-flexBox__spc01 {
      width: 55% !important;
    }
    .flex-sp.l-flexBox.ratio55-45 .l-flexBox__textSpc,
    .flex-sp.l-flexBox.ratio55-45 .l-flexBox__spc02 {
      width: 45% !important;
    }
}

/*youtubeの埋め込み*/
.l-youtubeWrap {
  width: auto;
  /*動画の横幅*/
  margin: 0 auto;
}
.l-youtubeWrap__inner {
  position: relative;
  padding-bottom: calc(315 / 560 * 100%);
}
.l-youtubeWrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* グーグルマップの埋め込み */
.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  }
  .gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  }


/*----------------------------------------
パンくずリスト
----------------------------------------*/
.breadcrumb ol li{
  display: inline-block;
  margin-left: .8em;
  position: relative;
  font-size: 12px;
}
.breadcrumb ol li a {
  color: #ccc;
}
.breadcrumb ol li:first-child {
  margin-left: 0;
}
.breadcrumb ol li::before {
  content: "/";
  display: inline-block;
  color: #ccc;
  margin-right: .8em;
}
.breadcrumb ol li:first-child::before {
  display: none;
}

/*----------------------------------------
見出し
----------------------------------------*/
h1,h2,h3,h4,h5 {
  font-weight: 300;
  line-height: 1.6;
  font-family: 'Noto Serif JP', '游明朝 Regular', 'source-han-serif-japanese', "Sawarabi Mincho", serif;
}

@media screen and (max-width:768px) {
  h1,h2,h3,h4,h5 {
    font-weight: 500;
  }
}

/* 中ページタイトル*/
.c-ttlh1-1 h1{
  font-size: 3em;
  display: inline-block;
  margin-right: .5em;
}

@media screen and (max-width:768px) {
  .c-ttlh1-1 h1 {
    font-size: 1.8em;
  }
}

/* 大見出し1 */
.c-ttlh2-1 {
  font-size: 2.3em;
}
@media screen and (max-width:768px){
  .c-ttlh2-1 {
    font-size: 1.55em;
  }
}

/* 大見出し1 */
.c-ttlh2-2 {
  text-align: center;
}
.c-ttlh2-2 .En{
  font-size: 3em;
  font-weight: 300;
  line-height: 1.4;
  font-family: 'Montserrat',sans-serif;
}
.c-ttlh2-2 .Jp{
  font-family: 'Noto Serif JP', '游明朝 Regular', 'source-han-serif-japanese', "Sawarabi Mincho", serif;
}
@media screen and (max-width:768px){
  .c-ttlh2-2 .En {
    font-size: 2.1em;
   /*  font-weight: 400; */
  }
}

/* 大見出し1（中央下線） */

.c-ttlh2-1.underline {
  position: relative;
  padding-bottom: 30px;
}
.c-ttlh2-1.underline::before {
  content: "";
  display: inline-block;
  width: 2.3em;
  height: 4px;
  background-color: #EA609E;
  position: absolute;
  bottom: 0;
  left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  border-radius: 10px;
}

/* 中見出し1 */
.c-ttlh3-1 {
  font-size: 1.8em;
}
.c-ttlh3-1 .big {
  font-size: 1.5em;
  margin-right: 1px;
  color: #ea609e;
}

@media screen and (max-width:768px) {
  .c-ttlh3-1 {
    font-size: 1.35em;
  }
}
/* 小見出し1 */
.c-subttl-1 {
  position: relative;
  color: #ea609e;
  font-size: .9em;
}
.c-subttl-1::before {
  content: "・・・";
  display: inline-block;
  margin-right: .5em;
  font-size: .5em;
  vertical-align: text-top;
}
.c-subttl-1.pink2 {
  position: relative;
  color: #f4b4d0;
}
@media screen and (max-width:768px) {
  .c-subttl-1::before {
    vertical-align: middle;
  }
  .c-subttl-1 {
    font-size: .8em;
  }
}
/* 小見出し2 */
.c-subttl-2 {
  position: relative;
}
.c-subttl-2::before {
  content: "//";
  display: inline-block;
  margin-right: .5em;
  font-size: 1.1em;
}
.c-subttl-2.pb::before {
  color: #c4b4c1;
}
.c-subttl-2.mid {
  font-size: 1.1em;
}

/* 小見出し3 */
.c-sub-disc {
  position: relative;
}
.c-sub-disc::before {
  content: "●";
  display: inline-block;
  margin-right: .5em;
  font-size: .9em;
  color: #c4b4c1;
}
.c-sub-disc.black::before {
  color: #333;
}
.c-sub-disc.gray::before {
  color: #ddd;
}
.c-sub-disc.pink::before {
  color: #ea609e;
}

.c-sub-sq {
  position: relative;
}
.c-sub-sq::before {
  content: "■";
  display: inline-block;
  margin-right: .5em;
  font-size: .9em;
  color: #c4b4c1;
}
.c-sub-sq.black::before {
  color: #333;
}
.c-sub-sq.gray::before {
  color: #ddd;
}
.c-sub-sq.pink::before {
  color: #ea609e;
}


/* 小見出し2 小さく */

.c-sub-disc.small::before {
  content: "・";
}




/*----------------------------------------
リスト
----------------------------------------*/
ul li {
  margin-bottom: 0.5em;
}
.l-secCont ul.list-mb0 li {
  margin-bottom: 0!important;
}
.list-disc li{
  text-indent: -1em;
  margin-left: 1em;
  margin-bottom: 0.5em;
}
.list-disc li::before {
  content: '●';
  margin-right: 0.5em;
  font-size: 0.6em;
  color: #c4b4c1;
  vertical-align: text-top;
}
.list-disc.black li::before {
  color: #333!important;
}
.list-disc.small li::before {
  content: '・';
  margin-right: 0.5em;
  font-size: 0.9em;
  color: #c4b4c1;
  vertical-align: middle;
}

@media screen and (min-width:769px){
  ul.flex {
    display: flex;
    flex-wrap: wrap;
  }
  ul.flex li {
    width: calc(1 / 6 * 100% - 2em);
    margin-right: 1em;
    margin-bottom: 0.5em;
  }
  ul.flex.item5 li {
    width: calc(1 / 5 * 100% - 2em);
  }
  ul.flex.item4 li {
    width: calc(1 / 4 * 100% - 2em);
  }
  ul.flex.item3 li {
    width: calc(1 / 3 * 100% - 2em);
  }
  ul.flex.item2 li {
    width: calc(1 / 2 * 100% - 2em);
  }

  ul.inline li {
    display: inline-block;
    margin-right: 1em;
    margin-bottom: 0.5em;
  }
}

.list-no {
  counter-reset: item;
  list-style-type: none;
}

.list-no li{
  text-indent: -1.5em;
  padding-left: 1.5em;
}

.list-no li:before {
  counter-increment: item;
  content: counter(item)'.';
  /* 以下は自由に装飾... */
  padding-right: .5em;
  font-weight: bold;
  color: #c4b4c1;
}

.list-no.pink li:before {
  color: #ea609e;
}

/*----------------------------------------
リンク
----------------------------------------*/
/* リンク無効化 */
a.disabled{
  pointer-events: none;
}
a {
  transition: all 0.3s ease;
}
a.block {
  display: block;
}
a.block:hover * {
  opacity: .95;
  transition: all 0.3s ease;
}
/* テキストリンク */
a.text {
  text-decoration: underline;
}
a.text:hover {
  color: #c4b4c1;
}
/* 矢印リンクリンク */
.c-link-arrow {
  position: relative;
  display: inline-block;
}
.c-link-arrow::before {
  content: "≫";
  display: inline-block;
  margin-right: 0.8em;
  font-size: 0.6em;
  color: #c4b4c1;
  vertical-align: text-top;
}
.c-link-arrow::after{
  content: '';
  display: block;
  position: absolute;
  height: 1px;
  width: 0;
  left: 0;
  background-color: #c4b4c1;
  transition: width 0.3s ease-in-out;
}

.c-link-arrow:hover {
  color: #c4b4c1;
  text-decoration: none;
  opacity: 1;
}
.c-link-arrow:hover::after {
  width: 100%;
}

/* テキストリンク */

.c-link-2 {
  position: relative;
  padding-left: 25px;
}
.c-link-2::before {
  content: "";
  display: inline-block;
  background-color: #000;
  width: 18px;
  height: 1px;
  position: absolute;
  top: 48%;
  left: 0%;
}

.c-link-2.hvr-pink:hover {
  color: #ea609e;
}
.c-link-2.hvr-pink:hover::before {
  background-color: #ea609e;
}


/* ホバーで上に上がる */
a.hvr-up:hover  {
  transform: translateY(-4px);
  transition: all 0.3s ease;
}


/* dotボタン */
.c-btn-dot .btn-dotBox {
  /* border: 1px solid #ddd; */
  border-radius: 50px;
  overflow: hidden;
}
.c-btn-dot .btn-dotBox a {
  padding: 1.5em;
  box-sizing: border-box;
  display: block;
  color: #000;
  position: relative;
  overflow: hidden;
  border: 1px solid #ddd;
  border-radius: 50px;
}
.c-btn-dot .btn-dotBox a .btn-dotBoxTxt {
  position: relative;
  display: block;
  letter-spacing: 0.06em;
  z-index: 1;
}
.c-btn-dot .btn-dotBox .btn-dotBox-dot {
  width: 8px;
  height: 8px;
  position: absolute;
  top: 0;
  right: 32px;
  bottom: 0;
  margin: auto;
  z-index: 0;
  background-color: #f4b4d0;
  border-radius: 50%;
}
@media screen and (min-width:769px){
  .c-btn-dot .btn-dotBox {
    max-width: 380px;
  }
  .c-btn-dot .btn-dotBox a .btn-dotBoxTxt {
    -webkit-transition-duration: .4s;
    -ms-transition-duration: .4s;
    -moz-transition-duration: .4s;
    -o-transition-duration: .4s;
    transition-duration: .4s;
    -webkit-transition-delay: 0s;
    -ms-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
    -moz-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
    -ms-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
    transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
}

.c-btn-dot .btn-dotBox a .btn-dotBox-dot {
  -webkit-transition-duration: .6s;
  -ms-transition-duration: .6s;
  -moz-transition-duration: .6s;
  -o-transition-duration: .6s;
  transition-duration: .6s;
  -webkit-transition-delay: 0s;
  -ms-transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  -ms-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
.c-btn-dot .btn-dotBox a:hover {
  opacity: 1;
  border-color: #ea609e;
  transition: border 0.9s ease;;
}

.c-btn-dot .btn-dotBox a:hover .btn-dotBoxTxt {
  color: #fff;
}

.c-btn-dot .btn-dotBox a:hover .btn-dotBox-dot {
  background-color: #ea609e;
  width: 210%;
  height: 400%;
  right: -10%;
}
}

/* dotボタン 準備中 */
.c-btn-dot.comingsoon .btn-dotBox a {
  pointer-events: none;
}
.c-btn-dot.comingsoon .btn-dotBox a .btn-dotBoxTxt {
  color: #999;
}
.c-btn-dot.comingsoon .btn-dotBox .btn-dotBox-dot {
  background-color: #dedede;
}

/* リンクボタン2 */
.c-linkbtn2 {
  display: inline-block;
}
.c-linkbtn2 a{
  display: inline-block;
  padding: .3em 1.5em;
  border: 1px solid #ddd;
  text-align: center;
  line-height: 1.5;
}
.c-linkbtn2 a:hover {
  color: #ea609e;
  border-color: #ea609e;
  opacity: 1;
}
@media screen and (max-width:768px){
  .c-linkbtn2 {
    display: block;
  }
  .c-linkbtn2 a{
    display: block;
  }
}

.c-linkbtn2--black a {
  border-color: #000;
}

.c-linkbtn2--big a {
  padding: 1em 1.5em;
}



/*----------------------------------------
背景
----------------------------------------*/

/* 四角がふわふわ動く背景 */
.bg-square {
  margin-bottom: 0!important;
  padding: 100px 0;
}
.bg-square__parts {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}
.bg-square__parts li {
  position: absolute;
  display: block;
  list-style: none;
  width: 20px;
  height: 20px;
  background: rgba(196,180,193, 0.2);
  animation: animate 25s linear infinite;
  bottom: -180px;
}
.bg-square__parts li:nth-child(2n) {
  background: rgba(234,96,158, 0.2);
}
.bg-square__parts li:nth-child(3n) {
  background: rgba(68,203,198, 0.2);
}
.bg-square__parts li:nth-child(1){
  left: 25%;
  width: 80px;
  height: 80px;
  animation-delay: 0s;
}
.bg-square__parts li:nth-child(2){
  left: 10%;
  width: 20px;
  height: 20px;
  animation-delay: 2s;
  animation-duration: 12s;
}
.bg-square__parts li:nth-child(3){
  left: 70%;
  width: 20px;
  height: 20px;
  animation-delay: 4s;
}
.bg-square__parts li:nth-child(4){
  left: 40%;
  width: 60px;
  height: 60px;
  animation-delay: 0s;
  animation-duration: 18s;
}
.bg-square__parts li:nth-child(5){
  left: 65%;
  width: 20px;
  height: 20px;
  animation-delay: 0s;
}
.bg-square__parts li:nth-child(6){
  left: 75%;
  width: 110px;
  height: 110px;
  animation-delay: 3s;
}
.bg-square__parts li:nth-child(7){
  left: 35%;
  width: 150px;
  height: 150px;
  animation-delay: 7s;
}
.bg-square__parts li:nth-child(8){
  left: 50%;
  width: 25px;
  height: 25px;
  animation-delay: 15s;
  animation-duration: 45s;
}
.bg-square__parts li:nth-child(9){
  left: 20%;
  width: 15px;
  height: 15px;
  animation-delay: 2s;
  animation-duration: 35s;
}
.bg-square__parts li:nth-child(10){
  left: 85%;
  width: 150px;
  height: 150px;
  animation-delay: 0s;
  animation-duration: 11s;
}
@keyframes animate {
  0%{
      transform: translateY(0) rotate(0deg);
      opacity: 1;
      border-radius: 0;
  }
  100%{
      transform: translateY(-1200px) rotate(720deg);
      opacity: 0;
      border-radius: 50%;
  }
}

@media screen and (max-width:768px){
  @keyframes animate {
    0%{
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 0;
    }
    100%{
        transform: translateY(-1800px) rotate(720deg);
        opacity: 0;
        border-radius: 50%;
    }
  }
}

/* 画像の上にオーバーレイ */
.bg-overlay {
  position: relative;
}
/* 画像を暗くするオーバーレイ */
.bg-overlay::before {
  content: '';
  /* ↓暗いオーバーレイを半透明で配置 */
  background-color: rgba(0, 0, 0, .55);
  /* ↓全体を覆うように配置 */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.bg-overlay.op04::before {
  background-color: rgba(0, 0, 0, .4);
}

/* 画像を明るくするオーバーレイ */
.bg-overlay.bright::before {
  content: '';
  /* ↓暗いオーバーレイを半透明で配置 */
  background-color: rgba(255,255,255, .6);
  /* ↓全体を覆うように配置 */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}


/*----------------------------------------
BOXスタイル
----------------------------------------*/

/* BOXの枠線の上にタイトル */

.p-Boxstyle01 {
  border: 1px solid #C4B4C1;
  padding: 30px 30px 25px 30px;
  position: relative;
  margin-top: 10px;
}

.p-Boxstyle01 .ttl {
  color: #C4B4C1;
  font-size: 1.2em;
  /* font-weight: 600; */
  position: absolute;
  top: -15px;
  left: 1em;
  background-color: #fff;
  padding: 0 12px;
}

.p-Boxstyle01.bg-gray .ttl{
  background-color: #f5f5f5;
}


/* BOXの枠線の上にタイトル｜ピンク */


.p-Boxstyle01.v-pink {
  border-color: #ea609e;
}

.p-Boxstyle01.v-pink .ttl {
  color: #ea609e;
}

@media screen and (min-width:769px){
}

@media screen and (max-width:768px){
  .p-Boxstyle01 {
    padding: 30px 15px 25px 15px;
  }
  .p-Boxstyle01 .ttl {
    font-size: 1.1em;
    top: -13px;
  }
}


/*----------------------------------------
TABLEスタイル
----------------------------------------*/

.p-tablestyle01 dl {
  display: flex;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ddd;
  align-items: flex-start;
}

.p-tablestyle01 dl:last-child {
  border-bottom: none;
}
.p-tablestyle01 dt {
  background: #e1dae0;
  padding: .1em 1em;
  vertical-align: middle;
  font-size: 13px;
  color: #333;
  margin-right: 2em;
  min-width: 230px;
  text-align: center;
  border-radius: 30px;
}
@media screen and (max-width:768px) {
  .p-tablestyle01 dl {
    display: block;
    border-bottom: none;
    margin-bottom: 20px;
  }
  .p-tablestyle01 dt {
    min-width: none;
    width: 100%;
    margin-bottom: 10px;
  }
  .p-tablestyle01 dd {
    padding: 0 10px;
    text-align: center;
  }
}
@media screen and (min-width:769px) {
  .p-tablestyle01 dt {
    width: 280px;
  }
}

.p-table-style02 tr {
  border: solid 1px #DDD;
}
.p-table-style02 th {
  background-color: #f5f5f5;
}
.p-table-style02 th,
.p-table-style02 td {
  border-right: solid 1px #DDD;
  padding: 0.5em;
  width: auto;
}

@media screen and (max-width: 768px) {
  .table-style02 thead th {
    min-width: 100px;
  }
  .table-scroll {
      overflow: scroll;
  }
  .table-scroll::after {
    content: '>> 横にスクロール出来ます。';
    display: block;
    font-size: 0.9em;
    text-align: right;
}
  .p-table-style02 {
    width: -webkit-max-content !important;
    width: -moz-max-content !important;
  }
}

/*----------------------------------------
コンテンツの余白
----------------------------------------*/
.bs-sec {
  margin-bottom: 120px!important;
}
.bs-sec2 {
  margin-bottom: 100px!important;
}
.bs-sec3 {
  margin-bottom: 70px!important;
}
.bs-ttl {
  margin-bottom: 60px!important;
}
.bs-ttl2 {
  margin-bottom: 40px!important;
}
.bs-ttl3 {
  margin-bottom: 30px!important;
}
@media screen and (max-width:768px) {
  .bs-sec {
    margin-bottom: 80px!important;
  }
  .bs-sec2 {
    margin-bottom: 70px!important;
  }
  .bs-sec3{
    margin-bottom: 50px!important;
  }
  .bs-ttl {
    margin-bottom: 45px!important;
  }
  .bs-ttl2 {
    margin-bottom: 30px!important;
  }
  .bs-ttl3 {
    margin-bottom: 25px!important;
  }
}

/*----------------------------------------
#Contact
----------------------------------------*/
#Contact {
  padding: 80px 0;
  background-image: url(../images/bg-contact.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 30px;
}
/* フォームボタン */
.p-formbtn a {
  display: flex;
  border: 1px solid #e1dae0;
  background: #fff;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
  min-height: 120px;
}
.p-formbtn a .txt {
  padding-left: 60px;
}
.p-formbtn a .txt .main {
  font-size: 1.9em;
  line-height: 1.4;
  font-family: 'Noto Serif JP', '游明朝 Regular', 'source-han-serif-japanese', "Sawarabi Mincho", serif;
}
.p-formbtn a .txt .main.tel {
  font-size: 2.2em;
}
.p-formbtn a .txt .sub {
  font-size: .8em;
  text-align: right;
}
.p-formbtn a::before {
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  background-image: url(../images/icon_mail.png);
  background-repeat: no-repeat;
  background-size: 50px;
  background-position: center;
  position: absolute;
  left: 35px;
  top: 50%;
  transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.p-formbtn.tel a::before {
  background-image: url(../images/icon_tel.png);
}
.p-formbtn a:hover::before {
  background-image: url(../images/icon_mail_pink.png);
  transition: all 0.3s ease;
}
.p-formbtn.tel a:hover::before {
  background-image: url(../images/icon_tel_pink.png);
  transition: all 0.3s ease;
}
.p-formbtn a:hover {
  opacity: 1;
  transition: all 0.3s ease;
}
.p-formbtn a:hover .txt .main {
  color: #ea609e;
  transition: all 0.3s ease;
}
@media screen and (min-width:769px){
  .p-formbtn a {
    min-width: 370px;
    padding: 15px 30px;
  }
}
@media screen and (max-width:768px){
  .p-formbtn a {
    min-width: none;
    min-height: 120px;
    padding: 15px;
  }
  .p-formbtn a::before {
    width: 40px;
    height: 40px;
    background-size: 40px;
    left: 20px;
  }
  .p-formbtn a .txt {
    padding-left: 25px;
  }
}
/*----------------------------------------
footer
----------------------------------------*/
.footer {
  padding: 0 15px;
}

/* ページトップ */
.pagetop {
  text-align: center;
  padding: 20px 15px;
}
.pagetop a {
  line-height: 1.5;
  display: block;
  color: #c4b4c1;
  letter-spacing: .15em;
}
.pagetop a::before {
  content: "";
  display: block;
  margin: auto;
  width: 8px;
  height: 8px;
  border: 1px solid;
  border-color: #c4b4c1 #c4b4c1 transparent transparent;
  transform: rotate(-45deg);
}
.pagetop a:hover {
  opacity: 1;
  color: #ea609e;
}
.pagetop a:hover::before {
  border-color: #ea609e #ea609e transparent transparent;
  transition: all 0.3s ease;
}

@media screen and (max-width:768px){
  .pagetop {
    padding: 15px;
    position: relative;
  }
  .pagetop a {
    display: inline-block;
    background-color: #fff;
    padding: 0 24px 0 30px;
    font-size: .9em;
    line-height: 1.8;
    letter-spacing: 0.25em;
  }
  .pagetop a::before {
    width: 5px;
    height: 5px;
  }
  .pagetop::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 1px;
    background-color: #e1dae0;
    position: absolute;
    top: 42%;
    left: 0%;
    z-index: -1;
  }
}

/* footer中身 */
.footer__content {
  display: flex;
  margin-top: 20px;
}
.footer__content .Spc01, .footer__content .Spc02 {
  width: 50%;
  padding: 15px 0;
}
.footer__content .Spc01 {
  display: flex;
  justify-content: center;
}
.footer__content .Spc01 .logo {
  margin-right: 2em;
  width: 80px;
}
.footer__content .Spc01 ul li {
  margin-bottom: 1em;
  font-size: 13px;
}
.footer__content .Spc01 ul li.name {
  font-size: 1.2em;
  margin-bottom: 4px;
}
.footer__content .Spc01 ul li.contact {
  margin-bottom: 0;
}
.footer__content .Spc01 ul li.address p {
  font-size: 12px;
  line-height: 1.6;
}
.footer__content .Spc02 {
  display: flex;
  justify-content: center;
  /* border-left: 1px solid #e1dae0; */
  border-left: 1px solid #e1dae0;
}

.footer__content .Spc02 ul li {
  font-size: 13px;
  margin-bottom: 0.3em;
}
.footer__content .Spc02 .indexLink {
  font-size: 14px;
}
.footer__content .Spc02 .nakaLink {
  position: relative;
}
.footer__content .Spc02 .nakaLink::before {
  content: "//";
  margin-right: 8px;
  /* font-size: .85em;
  vertical-align: middle; */
}
.footer__content .Spc02 ul {
  width: 18%;
}
.footer__content .logo-tw {
  height: 15px;
  vertical-align: text-top;
  margin-right: .5em;
}
.copyright {
  text-align: center;
  padding: 30px 0 20px 0;
}
.copyright p {
  font-size: 11px;
  color: #c4b4c1;
}

@media screen and (max-width:768px){
  .footer__content {
    display: block;
  }
  .footer__content .Spc01,.footer__content .Spc02 {
    width: 100%;
  }
  .footer__content .Spc01 {
    display: block;
    text-align: center;
    margin-bottom: 40px;
  }
  .footer__content .Spc01 .logo{
    margin: auto;
    margin-bottom: 50px;
  }

  .footer__content .Spc02 {
    border-left: none;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    padding-top: 80px;
  }
  .footer__content .Spc02 ul {
    text-align: justify;
    width: 50%;
    margin-bottom: 40px;
    padding-left: 3.2em;
  }
  .footer__content .Spc02 ul:nth-child(2n){
    padding-left: 1em;
  }
  .footer__content .Spc02 ul:nth-child(3),.footer__content .Spc02 ul:nth-child(4){
    margin-bottom: 0;
  }
  .footer__content .Spc02::after {
    content: "SITE MAP";
    display: inline-block;
    letter-spacing: .45em;
    font-size: .9em;
    color: #c4b4c1;
    position: absolute;
    top: 0;
    background-color: #fff;
    padding: 0 20px 0 30px;
  }
  .footer__content .Spc02::before {
    content: "";
    display: inline-block;
    position: absolute;
    height: 1px;
    width: 100%;
    background-color: #e1dae0;
    top: 9px;
  }
}

.footer__content .Spc02 .img-Pmark img {
  width: 100%;
  max-width: 80px;
}

/*----------------------------------------
●●●
----------------------------------------*/

/*--------------------------------------*/

/*SP*/
@media screen and (max-width:768px){}
/*PC*/
@media screen and (min-width:769px){}

/*--------------------------------------*/
