@charset "UTF-8";
/*-----------------------------------------------------
基本設定
-----------------------------------------------------*/
body {
  background: url(../img/common/bg01.jpg) repeat;
}
@media screen and (min-width: 768px), print {
  #wrapper {
    min-width: 1010px;
  }
}
.bg01,
.bg02 {
  width: 100%;
}
/*----------フォント----------*/
.asap {
  font-family: "Asap", sans-serif;
}

/*-----------------------------------------------------
ヘッダー
-----------------------------------------------------*/

@media screen and (min-width: 768px), print {
  header {
    background: #fff;
    height: 56px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
  }

  /*----------PCナビ----------*/
  #gNav01 {
    width: 1010px;
    margin: 0 auto;
    position: relative;
  }
  #gNav01 > ul li {
    height: 56px;
    line-height: 56px;
    display: table-cell;
    padding-left: 28px;
  }
  #gNav01 > ul li:hover a,
  #gNav01 > ul li.on a {
    color: #e95295 !important;
  }
  #gNav01 > ul li a {
    display: block;
    font-size: 15px;
    font-weight: bold;
    color: #4A4A4A !important;
  }
  #gNav01 > ul li:first-child {
    padding-left: 0px;
  }

  /*----------コンダクト----------*/
  header .headerContact {
    width: 323px;
    height: 67px;
    position: absolute;
    right: 0;
    top: 0;
    overflow: hidden;
  }
  header .headerContact > a {
    float: left;
  }
}

/*-----------------------------------------------------
メインビジュアル
-----------------------------------------------------*/
.mainImg {
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.mainImg > img.illust01,
.mainImg > img.illust02 {
  position: absolute;
}
.mainImg > img.illust01 {
  width: 83px;
  top: 23%;
  right: 4%;
}
.mainImg > img.illust02 {
  width: 52px;
  bottom: -5%;
  right: 12%;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  .mainImg h1 {
    width: 100%;
    padding-top: 95px;
  }
  .mainImg h1 img {
    width: 100%;
  }
}
@media screen and (min-width: 768px), print {
  .mainImg {
    width: 1010px;
    padding-top: 90px;
  }
  .mainImg > img.illust01 {
    width: 117px;
    left: 50px;
    top: 70px;
  }
  .mainImg > img.illust02 {
    width: 74px;
    right: 100px;
    top: 300px;
  }
  .mainImg figure.illust03 {
    display: inline-block !important;
    position: absolute !important;
    bottom: -164px !important;
    left: 33px !important;
    z-index: 100;
  }
}
/*-----------------------------------------------------
TOP共通設定
-----------------------------------------------------*/
#contents.top,
.detail {
  position: relative;
}
.text01 {
  font-size: 14px;
  line-height: 30px;
  font-weight: bold;
}
.comment01 {
  font-size: 13px;
  line-height: 26px;
}
/*タイトル*/
.titDesign01,
.titDesign02,
.titDesign03,
.titDesign04 {
  font-weight: bold;
}
.titDesign01,
.titDesign02,
.titDesign03 {
  color: #4A4A4A;
}
.titDesign04 {
  color: #4A4A4A;
  letter-spacing: 0.07em;
}
.titDesign01 > span,
.titDesign02 > span,
.titDesign03 > span,
.titDesign04 > span {
  font-weight: bold;
  font-style: italic;
  display: block;
}
.titDesign02 > span,
.titDesign03 > span {
  display: inline-block;
}
.titDesign02 > span,
.titDesign03 > span {
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .detail > img {
    width: 100%;
  }
  .titDesign04 {
    font-size: 28px;
  }
  .titDesign04 span {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px), print {
  .area {
    width: 100%;
  }
  .detail {
    width: 1010px;
    margin: 0 auto;
  }
  /*タイトル*/
  .titDesign02,
  .titDesign03,
  .titDesign04 {
    text-align: center;
  }
  .titDesign01,
  .titDesign02,
  .titDesign03,
  .titDesign04,
  .titDesign01 span,
  .titDesign02 span,
  .titDesign03 span,
  .titDesign04 span {
    letter-spacing: 0.05em;
  }
  .titDesign01 {
    font-size: 22px;
  }
  .titDesign01 > span {
    font-size: 12px;
    line-height: 24px;
  }
  .titDesign02 {
    font-size: 28px;
  }
  .titDesign02 > span {
    font-size: 16px;
  }
  .titDesign03 {
    font-size: 24px;
  }
  .titDesign03 > span {
    font-size: 14px;
  }
  .titDesign04 {
    font-size: 26px;
  }
  .titDesign04 > span {
    font-size: 16px;
  }
}
/*-----------------------------------------------------
おしらせ吹き出し
-----------------------------------------------------*/
.info {
  width: 100%;
  text-align: center;
  position: absolute;
}
.info > a {
  display: block;
}
.info dl {
  display: inline-block;
}
.info dt {
  font-size: 14px;
  color: #e95295;
}
.info dd {
  font-size: 13px;
  font-weight: bold;
  color: #4A4A4A;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .info {
    top: 1%;
    left: auto;
    z-index: 10;
  }
  .info a {
    text-align: left;
    padding-left: 15%;
  }
  .info dl {
    margin: 3% auto 0;
    text-align: left;
  }
  .info dt {
    font-size: 3.7333vw;
    line-height: 1.2;
  }
  .info dd {
    font-size: 3.4666vw;
    line-height: 1.75;
  }
  .info > a img {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
  }
}
@media screen and (min-width: 768px), print {
  .info {
    width: 386px;
    height: 50px;
    margin: 0 auto;
    background: url(../img/top/bg_info01_pc.png) no-repeat;
    display: block;
    left: 0;
    right: 0;
    top: 154px;
  }
  .info dl {
    height: 50px;
    padding-left: 15px;
  }
  .info dt,
  .info dd {
    float: left;
    text-align: center;
    line-height: 50px;
    height: 50px;
  }
  .info dd {
    width: 233px;
    margin-left: 15px;
    text-align: left;
  }
}

/*-----------------------------------------------------
ごあいさつ
-----------------------------------------------------*/
#greeting {
  width: 100%;
  text-align: center;
}
/*見出し*/
#greeting h2 {
  display: inline-block;
  font-size: 28px;
  font-weight: bold;
  line-height: 32px;
  color: #4A4A4A;
  text-align: center;
  margin: 0 auto;
  position: relative;
}
#greeting h2 span {
  font-size: 16px;
}
#greeting h2:before,
#greeting h2:after {
  content: "";
  display: block;
  position: absolute;
}
#greeting h2:before {
  width: 36px;
  height: 40px;
  background: url(../img/top/illust_greeting01.png) no-repeat;
  background-size: 36px 40px;
}
/*本文①*/
#greeting .inner > p.text01 {
  color: #4A4A4A;
  text-align: center;
  position: relative;
}
/*本文②*/
#greeting .inner > p.greetingText {
  font-size: 15px;
  font-weight: bold;
  color: #4A4A4A;
  text-align: center;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  #greeting .inner {
    position: absolute;
    top: 33%;
    left: 0;
    right: 0;
  }
  /*見出し*/
  #greeting h2:before {
    left: -80px;
    bottom: -20px;
  }
  #greeting .inner > p,
  #greeting .inner > p.greetingText span {
    font-size: 12px;
    font-size: 3.733vw !important;
    line-height: 1.9em;
  }
  /*本文①*/
  #greeting .inner > p.text01 {
    letter-spacing: 0;
    margin-top: 10%;
  }
  /*本文②*/
  #greeting .inner > p.greetingText {
    line-height: 1.75em;
    position: relative;
    margin-top: 20%;
  }
  #greeting .inner > p.greetingText span {
    position: absolute;
    top: 58%;
    left: 0;
    right: 0;
  }
  #greeting .inner > p.greetingText img {
    width: 100%;
  }
}
@media screen and (min-width: 768px), print {
  #greeting {
    width: 100%;
    height: 800px;
    padding-top: 300px;
    background: url(../img/top/bg_greeting01_pc.png) center 100px no-repeat;
    background-size: 2550px auto;
    display: block;
  }
  #greeting img {
    margin-top: 250px;
  }
  /*見出し*/
  #greeting h2:before {
    left: -110px;
    top: -35px;
  }
  #greeting h2:after {
    width: 127px;
    height: 61px;
    background: url(../img/top/illust_greeting03.png) no-repeat;
    background-size: 127px 61px;
    right: -227px;
    top: -23px;
  }
  /*本文①*/
  #greeting .inner > p.text01 {
    margin-top: 45px;
  }
  #greeting .inner > p.text01:before {
    content: "";
    display: block;
    width: 127px;
    height: 64px;
    background: url(../img/top/illust_greeting02.png) no-repeat;
    background-size: 127px 64px;
    position: absolute;
    left: 110px;
    top: -30px;
  }
  /*本文②*/
  #greeting .inner > p.greetingText {
    width: 387px;
    height: 190px;
    background: url(../img/top/img_greeting02_pc.png) no-repeat;
    background-size: contain;
    margin: 45px auto 0;
    padding-top: 107px;
  }
}
/*-----------------------------------------------------
サービス内容（共通）
-----------------------------------------------------*/
#service h2,
#service p.description,
#service img.illust01 {
  position: absolute;
}
/*見出し*/
#service h2 {
  display: inline-block;
  margin-top: 10px;
}
/*見出し説明*/
#service p.description {
  width: 55%;
  min-height: 96px;
  color: #4A4A4A;
  font-size: 12px;
  font-weight: bold;
  text-align: left;
  padding: 4% 5% 0;
  right: 13%;
  top: 4.5%;
}
/*内容*/
#service .service .bg01 > ul {
  position: relative;
}
#service .service .bg01 > ul li {
  display: inline-block;
  position: absolute;
}
/*訪問エリア・費用*/
#service .serviceDetail {
  display: inline-block;
  background-size: 100%;
  position: relative;
  float: left;
}
#service .serviceDetail:before,
#service .serviceDetail:after {
  content: "";
  display: block;
  position: absolute;
  height: 40px;
}
#service .serviceDetail:before {
  top: 0;
  left: 0;
}
#service .serviceDetail:after {
  bottom: 0;
  left: 0;
}
/*訪問エリア*/
#service .visitArea {
  position: relative;
}
#service .visitArea > ul {
  margin-top: 100px;
}
#service .visitArea > ul li {
  font-weight: bold;
}
#service .visitArea > p.comment01 {
  margin-top: 20px;
}
/*費用*/
#service .fee > h3.titDesign01 {
  text-align: center;
}
#service .fee > h3.titDesign01 span {
  display: inline-block;
  margin-left: 10px;
}
#service .fee > p {
  margin-top: 17px;
}
/*ご利用方法*/
#service .howto > h3.titDesign01 > span {
  line-height: 22px;
}
#service .howto > p {
  margin-top: 17px;
}
/*-----------------------------------------------------
サービス内容（PC）
-----------------------------------------------------*/
@media screen and (min-width: 768px), print {
  #service {
    width: 100%;
    height: 2080px;
  }
  /*見出し*/
  #service h2 {
    margin-top: 0px;
    top: 52px;
    left: 90px;
  }
  /*見出し説明*/
  #service p.description {
    width: 326px;
    height: 76px;
    padding: 22px 0 0;
    margin-left: 54px;
    margin-bottom: 10px;
    font-size: 13px;
    text-align: center;
    background: url(../img/top/bg_service02_pc.png) no-repeat;
    top: 66px;
    right: 110px;
  }
  /*見出しイラスト*/
  #service img.illust01 {
    width: 119px;
    left: 517px;
    top: 152px;
  }
  /*メインコンテンツ*/
  #service div.bg01,
  #service div.bg02,
  #service div.bg03 {
    position: relative;
  }
  #service div.bg01 {
    background: url(../img/top/line_service01_pc.png) top center no-repeat;
    height: 1288px;
    background-size: 1000px 1288px;
  }
  #service div.bg02 {
    background: url(../img/top/line_service02_pc.png) top center no-repeat;
    height: 370px;
  }
  #service div.bg03 {
    background: url(../img/top/line_service03_pc.png) top center no-repeat;
    height: 411px;
  }
  /*内容*/
  #service .service .bg01 > ul {
    position: relative;
    height: 100%;
  }
  #service .service .bg01 > ul li.service01 {
    bottom: 715px;
    right: 380px;
  }
  #service .service .bg01 > ul li.service02 {
    bottom: 830px;
    right: 160px;
  }
  #service .service .bg01 > ul li.service03 {
    bottom: 410px;
    left: 260px;
  }
  #service .service .bg01 > ul li.service03:before {
    content: "";
    width: 200px;
    height: 300px;
    display: block;
    background: url(../img/top/illust_service02.png);
    background-size: 100%;
    position: absolute;
    top: 10px;
    left: -200px;
  }
  #service .service .bg01 > ul li.service04 {
    bottom: 455px;
    right: 50px;
  }
  #service .service .bg01 > ul li.service04:before {
    content: "";
    width: 181px;
    height: 130px;
    display: block;
    background: url(../img/top/illust_service01_pc.png);
    background-size: 100%;
    position: absolute;
    top: -200px;
    right: 10px;
  }
  #service .service .bg01 > ul li.service05 {
    bottom: 115px;
    left: 360px;
  }
  #service .service .bg01 > ul li.service06 {
    bottom: 208px;
    right: 40px;
  }
  #service .service .bg01 > ul li p {
    margin-top: 20px;
  }
  /*訪問エリア・費用*/
  #service .serviceDetail {
    padding: 40px;
  }
  /*訪問エリア*/
  #service .visitArea {
    width: 445px;
    background: url(../img/top/bg_service04_pc.png) repeat-y;
    margin-left: 105px;
  }
  #service .visitArea:before,
  #service .visitArea:after {
    width: 445px;
  }
  #service .visitArea:before {
    background: url(../img/top/bg_service03_pc.png) repeat-y;
    background-size: 100%;
  }
  #service .visitArea:after {
    background: url(../img/top/bg_service05_pc.png) repeat-y;
    background-size: 100%;
  }
  #service .visitArea > ul {
    margin-top: 20px;
  }
  #service .visitArea > img {
    width: 232px;
    height: 186px;
    position: absolute;
    top: 40px;
    right: 30px;
  }
  /*費用*/
  #service .fee {
    width: 325px;
    background: url(../img/top/bg_service07_pc.png) repeat-y;
    margin-left: 30px;
  }
  #service .fee:before,
  #service .fee:after {
    width: 325px;
  }
  #service .fee:before {
    background: url(../img/top/bg_service06_pc.png) repeat-y;
    background-size: 100%;
  }
  #service .fee:after {
    background: url(../img/top/bg_service08_pc.png) repeat-y;
    background-size: 100%;
  }
  #service .fee > p {
    width: 240px;
  }
  /*動くイラスト*/
  #service .bg02 .illust02 {
    position: absolute;
    bottom: 28px;
    right: 125px;
  }
  /*ご利用方法*/
  #service .howto {
    padding: 120px 0 0 150px;
  }
}
/*-----------------------------------------------------
私たちについて（共通）
-----------------------------------------------------*/
/*概要背景*/
#about .overview {
  background: url(../img/top/bg_about05.png) repeat-y;
  background-size: 100%;
  width: 100%;
  margin: 0 auto;
  position: relative;
}
/*概要*/
#about .overview:before,
#about .overview:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
}
#about .overview .inner01 dt,
#about .overview .inner01 dd {
  color: #4A4A4A;
  font-weight: bold;
  font-style: italic;
  float: left;
}
#about .overview .inner01 > dl dt {
  content: "";
  display: block;
  clear: both;
}
#about .overview .inner01 > dl dd.tel a {
  color: #FFAD60;
}
#about .overview .inner01 > dl dd.tel span {
  font-weight: bold;
  display: block;
  font-style: normal;
  color: #4A4A4A;
}
#about .overview .inner01 > dl dt.number,
#about .overview .inner01 > dl dd:last-child {
  font-style: normal;
}
#about .overview a.btn01 {
  display: block;
}
/*営業時間*/
#about .overview .time {
  position: relative;
}
#about .overview .time p {
  font-weight: bold;
  position: relative;
}
#about .overview .time p span {
  display: inline-block;
}
#about .overview .time p:last-child:after {
  content: "";
  display: block;
  background-size: contain;
  position: absolute;
}
/*住所*/
#about .overview address {
  font-style: normal;
  font-weight: bold;
}
/*スタッフ紹介*/
#about div.profile > h4 {
  font-weight: bold;
  color: #4A4A4A;
}
#about div.profile > h4 span.position {
  display: block;
}
span.color01 {
  color: #f00;
}
#about div.profile > h4 span.name {
  font-weight: bold;
}
/*-----------------------------------------------------
私たちについて（SP）
-----------------------------------------------------*/
@media screen and (max-width: 767px) {
  /*背景設定*/
  #about .inner {
    background: url(../img/top/bg_about02.jpg) repeat-y;
    width: 100%;
    height: 100%;
    background-size: contain;
    margin-top: -15%;
  }
  #about .inner h2.titDesign02 {
    font-size: 28px;
    font-size: 6.9333vw;
    line-height: 1.5;
    text-align: center;
    position: absolute;
    top: 1%;
    left: 0;
    right: 0;
  }
  #about .inner h2.titDesign02 > span {
    font-size: 16px;
    font-size: 4.2666vw;
    display: block;
  }
  /*概要背景*/
  #about .overview {
    background: url(../img/top/bg_about05.png) repeat-y;
    background-size: 100%;
    width: 100%;
    padding: 10% 14%;
  }
  #about .overview:before,
  #about .overview:after {
    width: 100%;
    height: 5%;
  }
  #about .overview.second:after {
    height: 5.5%;
  }
  #about .overview:before {
    background: url(../img/top/bg_about04.png) no-repeat;
    background-size: 100%;
    top: 0;
  }
  #about .overview:after {
    background: url(../img/top/bg_about06.png) no-repeat;
    background-size: 100%;
  }
  /*概要*/
  #about .overview .inner01 {
    padding: 9% 0;
  }
  #about .overview .inner01 p,
  #about .overview .inner01 p img {
    width: 100%;
  }
  #about .overview .inner01 > dl {
    margin-top: 10%;
  }
  #about .overview .inner01 dt,
  #about .overview .inner01 dd {
    display: inline-block;
    line-height: 1.5;
  }
  #about .overview .inner01 > dl dt {
    font-size: 4.8vw;
    width: 18%;
  }
  #about .overview .inner01 > dl dt:first-child,
  #about .overview .inner01 > dl dd {
    font-size: 4.8vw;
  }
  #about .overview .inner01 > dl dd.tel a {
    font-size: 30px;
    font-size: 9.6vw;
    line-height: 1;
    display: block;
    margin-bottom: 2%;
  }
  #about .overview .inner01 > dl dd.tel span {
    font-size: 13px;
    font-size: 3.4666vw;
    margin-top: 6px;
  }
  #about .overview .inner01 > dl dt.number,
  #about .overview .inner01 > dl dd:last-child {
    font-size: 3.4666vw !important;
  }
  #about .overview .inner01 > dl dt.number {
    width: 27%;
  }
  /*営業時間*/
  #about .overview .time {
    padding: 5% 0;
    margin-top: 6%;
  }
  #about .overview .time:before,
  #about .overview .time:after {
    content: "";
    width: 100%;
    height: 4px;
    display: block;
    background: url(../img/top/border_about01.png) no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0;
  }
  #about .overview .time:before {
    top: 0;
  }
  #about .overview .time:after {
    bottom: 0;
  }
  #about .overview .time p {
    font-size: 17px;
    font-size: 4.5333vw;
    line-height: 1.2;
  }
  #about .overview .time p span {
    width: 25%;
  }
  #about .overview .time p:last-child {
    margin-top: 2%;
  }
  #about .overview .time p:last-child:after {
    height: 280%;
    width: 100%;
    right: 4%;
    bottom: -58%;
  }
  /*コメント・ボタン*/
  #about .overview .comment02 {
    font-size: 3.7333vw;
    line-height: 1.75;
    margin-top: 4%;
  }
  #about .overview a.btn01 {
    margin-top: 8%;
  }
  #about .overview a.btn01 img {
    width: 100%;
  }
  #about .overview address {
    font-size: 4.2666vw;
    line-height: 1.45;
    margin-top: 6%;
  }

  /*スタッフ紹介*/
  #about .overview.second {
    margin-top: 7%;
  }
  #about .overview.second h3 {
    font-size: 28px;
    font-size: 6.9333vw;
    line-height: 1.5;
    text-align: center;
  }
  #about .overview.second h3 span {
    font-size: 16px;
    font-size: 3.7333vw;
    display: block;
  }
  #about ul.staff li {
    position: relative;
    margin-top: 10%;
  }
  #about ul.staff li figure {
    width: 50%;
  }
  #about ul.staff li figure img {
    width: 100%;
  }
  #about ul.staff li > .profile h4 {
    font-size: 23px;
    line-height: 0.9;
    position: absolute;
    top: 7%;
    left: 55%;
  }
  #about ul.staff li > .profile h4 span img {
    width: 98px;
  }
  #about div.profile > h4 span.position {
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 5%;
  }
  #about div.profile > h4 span.name {
    font-size: 10px;
  }
  #about div.profile p.text02 {
    margin-top: 5%;
    font-size: 3.4666vw;
    line-height: 1.75;
  }

  /* 運営規定 */
  #about .overview.third {
    margin-top: 7%;
  }
  #about .overview.third h3 {
    font-size: 28px;
    font-size: 6.9333vw;
    line-height: 1.5;
    text-align: center;
  }
  #about .overview.third h3 span {
    font-size: 16px;
    font-size: 3.7333vw;
    display: block;
  }
}
/*-----------------------------------------------------
私たちについて（PC）
-----------------------------------------------------*/
@media screen and (min-width: 768px), print {
  /*背景設定*/
  #about {
    background: url(../img/top/bg_about02_pc.jpg) repeat-y center;
    height: 2070px;
    background-size: 2540px auto; 
    position: relative;
  }
  #about:before {
    content: "";
    width: 100%;
    height: 330px;
    background: url(../img/top/bg_about01_pc.jpg) no-repeat center;
    background-size: 2540px auto;
    position: absolute;
    top: -14px;
    left: 0;
    right: 0;
    margin: auto;
  }
  #about:after {
    content: "";
    width: 100%;
    height: 330px;
    background: url(../img/top/bg_about03_pc.jpg) no-repeat center;
    background-size: 2560px auto;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  /*タイトル*/
  #about .titDesign02 {
    padding: 54px;
  }
  #about .illust01 {
    position: absolute;
    right: 300px;
    top: 40px;
  }
  /*概要背景*/
  #about .overview {
    background: url(../img/top/bg_about05_pc.jpg) repeat-y;
    width: 800px;
    padding: 60px 40px;
  }
  #about .overview.first {
    height: 680px;
  }
  #about .overview:before,
  #about .overview:after {
    width: 800px;
    height: 60px;
  }
  #about .overview:before {
    background: url(../img/top/bg_about04_pc.jpg);
    background-size: 100%;
    top: 0;
  }
  #about .overview:after {
    background: url(../img/top/bg_about06_pc.jpg);
    background-size: 100%;
    bottom: 0;
  }
  /*概要*/
  #about .overview .inner01,
  #about .overview #senMap {
    display: inline-block;
  }
  #about .overview .inner01 {
    float: left;
  }
  #about .overview #senMap {
    float: right;
  }
  #about .overview .inner01 > p {
    width: 321px;
  }
  #about .overview .inner01 > p img {
    width: 100%;
  }
  #about .overview .inner01 > dl {
    margin-top: 25px;
  }
  #about .overview .inner01 dt,
  #about .overview .inner01 dd {
    margin-top: 5px;
  }
  #about .overview .inner01 > dl dt {
    font-size: 14px;
    width: 76px;
  }
  #about .overview .inner01 > dl dt.number {
    /*line-height: 18px;*/
    width: 105px;
  }
  #about .overview .inner01 > dl dt:first-child {
    font-size: 18px;
  }
  #about .overview .inner01 > dl dd {
    font-size: 18px;
  }
  #about .overview .inner01 > dl dd.tel a {
    font-size: 36px;
  }
  #about .overview .inner01 > dl dd.tel span {
    font-size: 13px;
  }
  #about .overview .inner01 > dl dt.number,
  #about .overview .inner01 > dl dd:last-child {
    font-size: 13px !important;
  }
  /*営業時間*/
  #about .overview .time {
    padding: 17px 20px 10px;
    margin-top: 20px;
  }
  #about .overview .time:before,
  #about .overview .time:after {
    content: "";
    width: 320px;
    height: 4px;
    display: block;
    background: url(../img/top/border_about01.png) no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0;
  }
  #about .overview .time:before {
    top: 0;
  }
  #about .overview .time:after {
    bottom: 0;
  }
  #about .overview .time p {
    font-size: 18px;
    margin-bottom: 2px;
  }
  #about .overview .time p span {
    margin-right: 15px;
  }
  #about .overview .time p:last-child:after {
    height: 65px;
    width: 100%;
    right: 0;
    bottom: -11px;
  }
  /*コメント・住所*/
  #about .overview .comment02 {
    font-size: 14px;
    line-height: 22px;
    color: #4A4A4A;
    margin-top: 15px;
  }
  #about .overview a.btn01 {
    margin-top: 20px;
  }
  #about .overview address {
    font-size: 16px;
    line-height: 24px;
    margin-top: 17px;
  }
  /*スタッフ紹介*/
  #about .overview.second {
    margin-top: 30px;
    z-index: 50;
  }
  #about ul.staff {
    width: 660px;
    margin: 0 auto;
  }
  #about ul.staff li {
    margin-top: 30px;
  }
  #about ul.staff li figure {
    float: left;
    width: 157px;
  }
  #about ul.staff li figure img {
    width: 100%;
  }
  #about div.profile {
    float: right;
    width: 480px;
  }
  #about div.profile > h4 {
    font-size: 20px;
  }
  #about div.profile > h4 span.position {
    font-size: 13px;
    line-height: 20px;
  }
  #about div.profile > h4 span.name {
    font-size: 10px;
    display: inline-block;
    margin-left: 10px;
  }
  #about div.profile p.text02 {
    color: #4A4A4A;
    margin-top: 5px;
    font-size: 13px;
    line-height: 22px;
  }

  /* 運営規定 */
  #about .overview.third {
    margin-top: 30px;
    z-index: 50;
  }
}
@media screen and (min-width: 768px), print {
  #senMap {
    height: 547px;
    width: 330px;
  }
}
@media screen and (max-width: 767px) {
  #senMap {
    width: 100% !important;
    height: 190px !important;
  }
}

/*-----------------------------------------------------
運営規定
-----------------------------------------------------*/
.overview__rule {
  width: 100%;
  height: 340px;
  margin-top: 10%;
  overflow: scroll;
  padding: 20px;
  background-color: #fff;
}

.overview__rule_contents {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.overview__rule_contents h4 {
  font-size: 4.5666vw;
  font-weight: bold;
  line-height: 1.75;
}

.overview__rule_contents p {
  font-size: 3.4666vw;
  line-height: 1.75;
  margin-top: 5%;
}

@media screen and (min-width: 768px), print {
  .overview__rule {
    height: 400px;
    margin-top: 30px;
    padding: 20px;
  }

  .overview__rule_contents {
    gap: 20px;
  }

  .overview__rule_contents h4 {
    font-size: 24px;
  }

  .overview__rule_contents p {
    font-size: 13px;
    margin-top: 10px;
  }
}

/*-----------------------------------------------------
トップページ・お知らせと日記（共通）
-----------------------------------------------------*/
/*背景イラスト*/
#contents.top #news .illust01 {
  position: absolute;
}

/*記事一覧*/
#news .news ul.newsDetail li figure {
  display: inline-block;
  position: relative;
}
#news .news ul.newsDetail li a > h3,
#news .news ul.newsDetail li a > p {
  color: #4A4A4A;
}
#news .news ul.newsDetail li {
  display: inline-block;
}
#news .news ul.newsDetail li a > h3 {
  font-style: italic;
}
#news .news ul.newsDetail li a > p {
  text-decoration: underline;
  font-weight: bold;
}
/*-----------------------------------------------------
トップページ・お知らせと日記（SP）
-----------------------------------------------------*/
@media screen and (max-width: 767px) {
  /*背景*/
  #news .newsDetail {
    background: url(../img/top/bg_news02.png) repeat-y;
    width: auto;
    background-size: contain;
  }
  #news .detail.news .newsBg {
    margin-top: -15%;
  }
  /*タイトル*/
  #news .news > .titDesign04,
  #news a.more {
    position: absolute;
  }
  /*見出し*/
  #news .news > .titDesign04 {
    display: inline-block;
    font-size: 28px;
    font-size: 6.9333vw;
    line-height: 1.3;
    text-align: center;
    top: 23%;
    left: 0;
    right: 0;
  }
  #news .news > .titDesign04 span {
    font-size: 16px;
    font-size: 3.7333vw;
    line-height: 1.75;
  }
  /*もっと見る*/
  #news a.more {
    bottom: 9%;
    right: 25%;
    width: 32%;
  }
  #news a.more img {
    width: 100%;
  }
  /*一覧*/
  #news .news ul.newsDetail {
    padding: 0 14%;
    position: relative;
  }
  #news .news ul.newsDetail li {
    width: 47%;
    margin-top: 10%;
    float: left;
  }
  #contents.top #news .news ul.newsDetail li:first-child,
  #contents.top #news .news ul.newsDetail li:nth-child(2) {
    margin-top: 0;
  }
  #news .news ul.newsDetail li:nth-child(even) {
    margin-left: 6%;
  }
  #news .news ul.newsDetail li figure,
  #news .news ul.newsDetail li figure img {
    width: 100%;
  }
  #news .news ul.newsDetail li a figure:before {
    content: "";
    display: block;
    width: 100%;
    min-height: 50px;
    background: url(../img/top/border_news01_pc.png) no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
  }
  #news .news ul.newsDetail li a > h3 {
    font-size: 3.2vw;
    line-height: 1.75;
    margin-top: 5%;
  }
  #news .news ul.newsDetail li a > p {
    font-size: 3.4666vw;
    line-height: 1.4;
    margin-top: 1%;
  }
}
/*-----------------------------------------------------
お知らせと日記（PC）
-----------------------------------------------------*/
@media screen and (min-width: 768px), print {
  /*背景イラスト*/
  #contents.top #news .illust01 {
    width: 43px;
    right: 230px;
    top: 124px;
    z-index: -1;
  }
  /*背景*/
  #news {
    background: url(../img/top/bg_news01_pc.png) no-repeat center;
    height: 610px;
    margin-top: -37px;
    background-size: 2555px auto; 
  }
  /*見出し*/
  #news .news > .titDesign04 {
    padding-top: 150px;
    display: inline-block;
    margin-left: 410px;
  }
  #news .news > .titDesign04 span {
    margin-top: 7px;
  }
  #news .news {
    position: relative;
  }
  /*もっと見る*/
  #news a.more {
    width: 118px;
    display: block;
    position: absolute;
    top: 230px;
    right: 200px;
  }
  #news a.more img {
    width: 100%;
  }
  /*記事一覧*/
  #contents.top #news .news ul.newsDetail {
    width: 642px;
    margin-left: 160px;
    margin-top: 50px;
  }
  #contents.top #news .news ul.newsDetail li {
    margin-top: 0;
  }
  #news .news ul.newsDetail li {
    margin-left: 24px;
    float: left;
  }
  #contents.top #news .news ul.newsDetail li:first-child {
    margin-left: 0;
  }
  #news .news ul.newsDetail li a {
    display: block;
  }
  #news .news ul.newsDetail li a > h3,
  #news .news ul.newsDetail li a > p {
    width: 194px;
  }
  #news .news ul.newsDetail li a figure:before {
    content: "";
    display: block;
    width: 194px;
    height: 141px;
    background: url(../img/top/border_news01_pc.png) no-repeat;
    background-size: 100%;
    position: absolute;
    left: -3px;
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
  }
  #news .news ul.newsDetail li a > h3 {
    font-size: 13px;
    line-height: 13px;
    margin-top: 20px;
  }
  #news .news ul.newsDetail li a > p {
    margin-top: 3px;
    height: auto !important;
  }
}

/* -----------------------------------------------------
 お知らせを縦並びにするための追加CSS
----------------------------------------------------- */
/* 共通設定：横並びを解除して縦並びにする */
#news .news ul.newsDetail li {
  float: none !important;
  display: block !important;
  width: 100% !important;
  margin-left: 0 !important;
}

/* PC：横幅の制限を解除して横いっぱいに広げる */
@media screen and (min-width: 768px), print {
  #news .news ul.newsDetail li a > h3,
  #news .news ul.newsDetail li a > p {
    width: 100% !important;
  }
}

/* =====================================================
【追加】スマホでお知らせを縦並び（1列）にする修正
===================================================== */
@media screen and (max-width: 767px) {
  #news .news ul.newsDetail li {
    width: 100% !important;       /* 横幅を画面いっぱいに広げる */
    float: none !important;        /* 横並びを強制解除する */
    margin-left: 0 !important;     /* 左側の余計な余白をなくす */
    margin-top: 15px !important;   /* 記事と記事の上下のすき間（お好みで調整） */
    display: block !important;
  }

  /* 1番目の記事の上すき間をリセット */
  #contents.top #news .news ul.newsDetail li:first-child {
    margin-top: 0 !important;
  }
}


/*-----------------------------------------------------
お問い合わせ（共通）
-----------------------------------------------------*/
/*はじめのコメント*/
#contact .contact p.comment03 {
  color: #4A4A4A;
  font-weight: bold;
  text-align: center;
  margin-top: 100px;
  padding-left: 50px;
}
/*テーブル*/
#contactTable th {
  color: #4A4A4A;
  font-weight: bold;
}
#contactTable tr.inquiry th,
#contactTable th.mail {
  vertical-align: top !important;
}
#contactTable th.mail {
  padding-top: 18px;
}
#contactTable tr,
.wpcf7-form-control-wrap.your-email_confirm {
  margin-top: 20px;
  display: block;
}
#contactTable th:first-child,
#contactTable td:first-child {
  margin-top: 0;
}
#contactTable tr:first-child {
  margin-top: none;
}
.wpcf7 td input[type="text"],
textarea.wpcf7-form-control.wpcf7-textarea,
input.wpcf7-form-control.wpcf7-text {
  border: none;
}
wpcf7-form-control-wrap,
your-postcode {
  color: #aaa;
}
#contactTable th em {
  color: #f00;
  font-style: normal;
}
/*プライバシーポリシー*/
#contact .privacy {
  font-weight: bold;
  color: #4A4A4A;
  background: #fff;
  text-align: left !important;
}
/*チェックボックス*/
.checkBox {
  text-align: center;
  margin-top: 30px;
}
span.wpcf7-list-item-label {
  font-size: 14px;
  color: #4A4A4A;
  font-weight: bold;
  margin-left: 5px;
}
input[type="checkbox"] {
  border: #4A4A4A solid 2px;
}
/*ボタン*/
a.send {
  display: block;
  text-align: center;
  margin-top: 25px;
}
/*注意文*/
div.wpcf7-validation-errors {
  text-align: center;
}
span.wpcf7-not-valid-tip {
  font-weight: bold;
}

/*-----------------------------------------------------
お問い合わせ（SP）
-----------------------------------------------------*/
@media screen and (max-width: 767px) {
  /*背景*/
  #contact .contactBg {
    position: absolute;
    z-index: 1;
  }
  #contact .spContact {
    background: url(../img/top/bg_contact02.png) repeat-y;
    width: auto;
    background-size: contain;
    padding: 0 8%;
  }
  /*見出し*/
  #contact .spContact h2 {
    font-size: 28px;
    font-size: 6.9333vw;
    line-height: 1.75;
    text-align: center;
    position: relative;
    z-index: 2;
    padding-top: 8%;
  }
  #contact .spContact h2 > span {
    font-size: 16px;
    font-size: 3.7333vw;
    line-height: 1;
    display: block;
  }
  /*はじめのコメント*/
  #contact .contact p.comment03 {
    padding-left: 0px;
    position: relative;
    z-index: 2;
    margin-top: 30%;
  }
  /*テーブル*/
  #contactTable {
    margin-top: 6%;
  }
  #contactTable table {
    width: 100%;
    position: relative;
    z-index: 2;
  }
  #contactTable,
  #contactTable td {
    width: 100%;
  }
  #contactTable th,
  #contactTable td,
  .wpcf7 td input[type="text"],
  textarea.wpcf7-form-control.wpcf7-textarea,
  input.wpcf7-form-control.wpcf7-text {
    display: block;
  }
  #contactTable th {
    font-size: 3.7333vw;
    margin-bottom: 2%;
  }
  #contactTable th em {
    margin-right: 2%;
  }
  .wpcf7 td input[type="text"],
  textarea.wpcf7-form-control.wpcf7-textarea,
  input.wpcf7-form-control.wpcf7-text {
    padding: 5%;
    width: 100%;
  }
  /*プライバシーポリシー*/
  #contact .privacy {
    font-size: 3.4666vw;
    line-height: 1.75;
    width: 100%;
    padding: 10%;
    margin: 5% auto;
  }
  /*ボタン*/
  a.send img {
    width: 100%;
  }
  #contact td input,
  #contact td textarea {
    width: 100%;
  }
  #contact .contact > img.illust01 {
    position: absolute;
    bottom: 2%;
    left: 20%;
    width: 53%;
    z-index: 100;
  }
  input#submit {
    width: 100%;
    min-height: 70px;
    height: auto !important;
    background: url(../img/top/btn_bg_contact01.png) no-repeat center right;
    background-size: cover;
    border: none;
    color: #4A4A4A;
    font-size: 3.7333vw;
    margin-top: 6%;
    font-weight: bold;
  }
  /*注意文*/
  div.wpcf7-validation-errors {
    font-size: 4.8vw;
    line-height: 1.5;
  }
}

/*-----------------------------------------------------
お問い合わせ（PC）
-----------------------------------------------------*/
@media screen and (min-width: 768px), print {
  /*背景*/
  #contact {
    background: url(../img/top/line_contact02_pc.png) repeat-y center;
    position: relative;
     background-size: 2570px auto;
  }
  #contact:before,
  #contact:after {
    content: "";
    display: block;
    position: absolute;
  }
  #contact:before {
    width: 100%;
    height: 250px;
    background: url(../img/top/line_contact01_pc.png) no-repeat center;
    background-size: cover;
    top: 0;
  }
  #contact:after {
    width: 100%;
    height: 305px;
    background: url(../img/top/line_contact03_pc.png) no-repeat center;
    background-size: cover;
    top: 100%;
    margin-top: -40px;
  }
  /*見出し*/
  #contact .titDesign02 {
    padding-top: 20px;
    padding-left: 12px;
  }
  /*画像*/
  #contact .contactbg02 {
    position: absolute;
    bottom: -180px;
    left: 55px;
    z-index: 10;
  }
  /*テーブル*/
  #contactTable {
    width: 620px;
    margin-left: 195px;
  }
  #contactTable th {
    width: 148px;
    padding-right: 50px;
    text-align: right;
    font-size: 14px;
  }
  .wpcf7 td input[type="text"],
  textarea.wpcf7-form-control.wpcf7-textarea,
  input.wpcf7-form-control.wpcf7-text {
    padding: 15px;
    width: 480px;
    font-size: 13px;
  }
  /*プライバシーポリシー*/
  #contact .privacy {
    font-size: 13px;
    line-height: 22px;
    width: 620px;
    padding: 30px 40px;
    margin: 0 auto;
    margin-top: 45px !important;
    position: relative;
    z-index: 10;
  }
  /*同意チェック*/
  .checkBox {
    position: relative;
    z-index: 100;
  }
  /*ボタン*/
  input#submit {
    width: 332px;
    height: 55px;
    background: url(../img/top/btn_bg_contact01_pc.png) no-repeat top left;
    color: #4A4A4A;
    font-size: 15px;
    border: none;
    cursor: pointer;
    margin: 40px auto 0;
    display: block;
    position: relative;
    z-index: 100;
    font-weight: bold;
  }
  /*注意文*/
  div.wpcf7-validation-errors {
    border: 2px solid #f00;
    font-size: 18px !important;
    font-weight: bold;
    line-height: 22px;
    color: #f00;
    width: 620px !important;
    margin: 30px auto 0 !important;
  }
  span.wpcf7-not-valid-tip {
    color: #f00;
    font-weight: bold;
  }
}

/*-----------------------------------------------------
ページトップ
-----------------------------------------------------*/
a.pagetop {
  display: block;
  text-align: right;
}

@media screen and (max-width: 767px) {
  a.pagetop {
    width: 100%;
    padding: 0 8%;
  }
  a.pagetop img {
    width: 15%;
  }
  #contents.blog a.pagetop {
    margin-top: 37%;
  }
}
@media screen and (min-width: 768px), print {
  #page {
    width: 1010px;
    margin: 0 auto;
    text-align: right;
    position: relative;
  }
  #contents.top #page {
    margin: 185px auto 0;
  }
  a.pagetop {
    display: inline-block;
  }
  a.pagetop img {
    width: 66px;
    height: 80px;
  }
  #contents.blog01 #page {
    margin-top: 132px;
  }
  #contents.blog02 #page {
    margin-top: 115px;
  }
}

/*-----------------------------------------------------
下層・お知らせと日記（共通）
-----------------------------------------------------*/
/*タイトル*/
#news.newsDetail #main h3 {
  color: #4A4A4A;
  display: block;
  font-weight: bold;
}
#news.newsDetail #main h3 span {
  display: block;
  font-weight: bold;
  font-style: italic;
}
/*白背景*/
#news.newsDetail .bgWhite {
  background: #fff;
  position: relative;
}
#news.newsDetail .bgWhite > p {
  color: #000;
}
/*カテゴリー*/
#news.newsDetail .bgWhite > dl {
  position: absolute;
}
#news.newsDetail .bgWhite > dl dt,
#news.newsDetail .bgWhite > dl dd {
  float: left;
  font-weight: bold;
  color: #000;
}
/*前へ次へボタン*/
#news.under .detail.news .pageBtn .prev,
#news.under .detail.news .pageBtn .next {
  display: inline-block;
  position: absolute;
}
/*サイドバータイトル線*/
#side dt:before,
#side dt:after {
  content: "";
  display: block;
  position: absolute;
}
#side dd > ul li {
  font-weight: bold;
}
#news.newsDetail .bgWhite:before,
#news.newsDetail .bgWhite:after {
  content: "";
  display: block;
  position: absolute;
}
/*-----------------------------------------------------
下層・お知らせと日記（SP）
-----------------------------------------------------*/
@media screen and (max-width: 767px) {
  /*背景*/
  #main > img,
  #side > img {
    width: 100%;
  }
  #news.under #main ul.newsDetail,
  #news.under #main .blogIn {
    background: url(../img/blog/bg_blog02.png) repeat-y center;
    height: auto;
    position: relative;
    background-size: 100%;
    margin-top: -1%;
  }
  #news.newsIndex .detail.news {
    padding-top: 14%;
  }
  /*タイトル*/
  #news.under .detail.news .titDesign04 {
    font-size: 28px;
    font-size: 7vw;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
  }
  #news.newsDetail .detail.news .titDesign04 {
    padding-top: 48%;
  }
  #news.newsIndex .detail.news .titDesign04 {
    padding-top: 54%;
  }
  /*記事一覧*/
  #news.newsIndex ul.newsDetail {
    padding: 0 11%;
  }
  #news.newsIndex ul.newsDetail li {
    width: 46%;
    margin-left: 0;
    float: left;
  }
  #news.newsIndex ul.newsDetail li:first-child,
  #news.newsIndex ul.newsDetail li:nth-child(2) {
    margin-top: 18px;
    margin-left: 0;
  }
  #news.newsIndex ul.newsDetail li:nth-child(even) {
    margin-left: 8%;
  }
  #news.newsIndex ul.newsDetail li a > p {
    height: auto !important;
  }
  /*次へ前へページ*/
  #news.under .detail.news .pageBtn {
    position: relative;
    z-index: 1000;
  }
  #news.under .detail.news .pageBtn .prev,
  #news.under .detail.news .pageBtn .next {
    top: 5%;
    width: 29%;
  }
  #news.newsIndex .detail.news .pageBtn .prev,
  #news.newsIndex .detail.news .pageBtn .next {
    padding-top: 10%;
  }
  #news.newsDetail .detail.news .pageBtn .prev,
  #news.newsDetail .detail.news .pageBtn .next {
    padding-top: 4%;
  }
  #news.under .detail.news .pageBtn a {
    display: block;
  }
  #news.under .detail.news .pageBtn a img {
    width: 100%;
  }
  #news.under .detail.news .pageBtn .prev {
    left: 11%;
  }
  #news.under .detail.news .pageBtn .next {
    right: 11%;
  }
  #news.under .blogBg01 {
    margin-top: -5%;
  }
  /*リンク集*/
  #side {
    background: url(../img/blog/line_blog01.png) repeat-y;
    background-size: contain;
    position: relative;
  }
  #side dl {
    padding: 8% 11% 0;
    position: relative;
    z-index: 10;
  }
  #side dt {
    font-size: 14px;
    font-size: 3.7333vw;
    padding: 4% 0;
    position: relative;
    text-align: center;
    background: url(../img/blog/ico_arrow02.png) no-repeat 97%;
    background-size: 7px 39px;
    margin-bottom: 5%;
    letter-spacing: 0.07em;
  }
  #side dt.open {
    background: url(../img/blog/ico_arrow01.png) no-repeat 97% !important;
    background-size: 13px 39px !important;
  }
  #side dt.open + dd {
    display: block;
  }
  #side dt:before,
  #side dt:after {
    width: 100%;
    min-height: 7px;
    background: url(../img/blog/border_blog01.png) no-repeat;
    background-size: 100%;
  }
  #side dt:before {
    top: 0;
  }
  #side dt:after {
    bottom: 0;
  }
  #side .archive dd {
    display: none;
  }
  #side dd > ul li {
    display: block;
    font-weight: bold;
    padding: 2% 6%;
    background: url(../img/blog/ico_arrow02.png) no-repeat 2%;
    background-size: 7px 39px;
    background-position: left top;
  }
  #side dl.archive dd > ul li {
    padding: 2% 2% 2% 6%;
    width: 48%;
    display: inline-block;
  }
  #side dd > ul li a {
    display: block;
    font-size: 3.7333vw;
  }
  #news.under .heightLine-2 {
    height: auto !important;
  }
  #side .blogBg02 {
    z-index: -1;
    margin-top: -10%;
  }
  /*---------------------------
		ブログ詳細ページ（SP）
		---------------------------*/
  #news.newsDetail {
    padding-top: 60px;
  }
  /*タイトル*/
  #news.newsDetail #main h3,
  #news.newsDetail #main h3 span {
    font-size: 14px;
  }
  #news.newsDetail #main h3 {
    width: 100%;
    line-height: 1.75;
    font-size: 4.5333vw;
    padding: 0 0 2%;
    background: url(../img/blog/border_blog02_pc.png) no-repeat bottom;
    margin: 20% 0 5%;
  }
  #news.newsDetail #main h3 span {
    font-size: 3.5vw;
    line-height: 1.5;
  }
  /*担当者イラスト*/
  #news.newsDetail #main .staffIco {
    width: 24%;
    position: absolute;
    top: 2.5%;
    right: 8%;
  }
  #news.newsDetail #main .staffIco img {
    width: 100%;
  }
  /*白背景など*/
  #news.newsDetail #main {
    position: relative;
  }
  #news.newsDetail .blogIn {
    padding: 4% 9%;
  }
  #news.newsDetail .bgWhite {
    padding: 7%;
    background: url(../img/blog/bg_blog07.png) repeat-y;
    background-size: contain;
  }
  #news.newsDetail .bgWhite:before,
  #news.newsDetail .bgWhite:after {
    width: 100%;
    min-height: 7%;
    left: 0;
  }
  #news.newsDetail .bgWhite:before {
    background: url(../img/blog/bg_blog06.png) no-repeat;
    background-size: 100%;
    top: 0;
  }
  #news.newsDetail .bgWhite:after {
    background: url(../img/blog/bg_blog08.png) no-repeat;
    background-size: 100%;
    bottom: -7%;
  }
  /*記事内容*/
  #news.newsDetail .bgWhite > p,
  #news.newsDetail .bgWhite > dl dt,
  #news.newsDetail .bgWhite > dl dd {
    font-size: 3.4666vw;
    line-height: 1.75;
  }
  #news.newsDetail .bgWhite > p {
    margin: 6% 0 12%;
    font-size: 13px;
    font-size: 3.4666vw;
    line-height: 1.75;
  }
  #news.newsDetail .bgWhite img,
  #news.newsDetail .bgWhite {
    width: 100%;
  }
  #news.newsDetail .bgWhite > dl {
    bottom: 2%;
    right: 5%;
    z-index: 10;
  }
  /*一覧へ戻る*/
  #news.newsDetail a.turn {
    display: inline-block;
    width: 22%;
    position: absolute;
    bottom: 3%;
    right: 0;
    left: 0;
    margin: auto;
  }
  #news.newsDetail a.turn > img {
    width: 100%;
  }
  #news.newsDetail .pageBtn a {
    padding-top: 7%;
  }
}
/*-----------------------------------------------------
下層・お知らせと日記（PC）
-----------------------------------------------------*/
@media screen and (min-width: 768px), print {
  /*背景*/
  #news.under {
    background: url(../img/blog/bg_blog02_pc.png) repeat-y center;
    height: auto;
    position: relative;
  }
  #news.newsIndex:before,
  #news.newsIndex:after,
  #news.newsDetail:before,
  #news.newsDetail:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
  }
  #news.newsIndex:before {
    background: url(../img/blog/bg_blog01_pc.png) no-repeat top center;
    background-size: cover;
    width: 100%;
    min-height: 260px;
    top: 0;
  }
  #news.newsIndex:after {
    background: url(../img/blog/bg_blog03_pc.png) no-repeat top center;
    background-size: cover;
    width: 100%;
    min-height: 272px;
    bottom: -212px;
    z-index: -1;
  }
  #news.newsDetail:before {
    background: url(../img/blog/bg_blog04_pc.png) no-repeat top center;
    background-size: cover;
    width: 100%;
    min-height: 290px;
    top: 0;
  }
  #news.newsDetail:after {
    background: url(../img/blog/bg_blog05_pc.png) no-repeat top center;
    background-size: cover;
    width: 100%;
    min-height: 270px;
    bottom: -195px;
    z-index: -1;
  }
  #news.under #main .illust01 {
    position: absolute;
  }
  #contents.blog01 #main .illust01 {
    top: -155px;
    right: 90px;
  }
  #contents.blog02 #main .illust01 {
    top: -175px;
    right: 130px;
  }
  /*メインコンテンツ*/
  #main {
    width: 728px;
    display: inline-block;
    margin-top: 170px;
    float: left;
    position: relative;
  }
  #news.under .detail.news {
    margin-top: 86px;
  }
  /*タイトル*/
  #main .titDesign04 {
    display: inline-block;
    padding-left: 325px;
  }
  /*記事一覧*/
  #news .news ul.newsDetail {
    width: 642px;
    margin-left: 44px;
    margin-top: 18px;
    display: inline-block;
  }
  #news .news ul.newsDetail li {
    margin-left: 30px;
    margin-top: 40px;
  }
  #news.under .detail.news ul.newsDetail li:first-child,
  #news.under .detail.news ul.newsDetail li:nth-child(4),
  #news.under .detail.news ul.newsDetail li:nth-child(7) {
    margin-left: 0;
  }
  /*前へ次へボタン*/
  #news.under .detail.news .pageBtn {
    width: 728px;
    margin-top: 30px;
    position: relative;
    z-index: 1000;
    z-index: 100;
  }
  #news.under .detail.news .pageBtn .prev,
  #news.under .detail.news .pageBtn .next {
    width: 120px;
  }
  #news.newsIndex .detail.news .pageBtn .prev {
    left: 44px;
  }
  #news.newsDetail .detail.news .pageBtn .prev {
    left: 0;
  }
  #news.newsIndex .detail.news .pageBtn .next {
    right: 44px;
  }
  #news.newsDetail .detail.news .pageBtn .next {
    right: 85px;
  }
  #news.under .detail.news .pageBtn a img {
    width: 100%;
  }
  /*サイドバー*/
  #side {
    display: inline-block;
    width: 220px;
    height: auto !important;
    float: right;
    margin-top: 100px;
    margin-bottom: 20px;
  }
  #side h3 img {
    width: 100%;
  }
  #side dt {
    font-size: 18px;
    position: relative;
    text-align: center;
    letter-spacing: 0.07em;
    padding: 10px 0;
    margin: 30px 0 10px;
  }
  #side dt:before,
  #side dt:after {
    width: 220px;
    height: 4px;
    background: url(../img/blog/border_blog01_pc.png) no-repeat;
    background-size: 100%;
  }
  #side dt:before {
    top: 0;
  }
  #side dt:after {
    bottom: 0;
  }
  #side dd {
    display: block !important;
  }
  #side dd > ul li {
    padding: 4px 25px;
    background: url(../img/blog/ico_arrow02.png) no-repeat 7px;
    background-size: contain;
    background-position: left top;
    background-size: auto 34px;
  }
  /*---------------------------
		ブログ詳細ページ（PC）
		---------------------------*/
  /*タイトル*/
  #news.newsDetail .titDesign04 {
    padding-left: 290px;
  }
  /*メイン*/
  #news.newsDetail #main {
    padding: 0 42px;
    position: relative;
  }
  #news.newsDetail #main .blogIn {
    position: relative;
  }
  /*タイトル*/
  #news.newsDetail #main h3 {
    width: 100%;
    font-size: 22px;
    padding-bottom: 10px;
    font-weight: bold;
    background: url(../img/blog/border_blog02_pc.png) bottom repeat-x;
    margin-top: 30px;
  }
  #news.newsDetail #main h3 span {
    font-size: 14px;
  }
  /*担当者イラスト*/
  #news.newsDetail #main .staffIco {
    width: 126px;
    position: absolute;
    top: -12px;
    right: -28px;
  }
  #news.newsDetail #main .staffIco img {
    width: 100%;
  }
  /*白背景*/
  #news.newsDetail .bgWhite {
    padding: 40px 35px 30px;
    margin-top: 35px;
    background: url(../img/blog/bg_blog07_pc.png) repeat-y;
  }
  #news.newsDetail .bgWhite:before,
  #news.newsDetail .bgWhite:after {
    width: 643px;
    height: 40px;
    left: 0;
  }
  #news.newsDetail .bgWhite:before {
    background: url(../img/blog/bg_blog06_pc.png) no-repeat;
    background-size: 100%;
    top: 0;
  }
  #news.newsDetail .bgWhite:after {
    background: url(../img/blog/bg_blog08_pc.png) no-repeat;
    background-size: 100%;
    bottom: 0;
  }
  /*記事内容*/
  #news.newsDetail .bgWhite > p {
    margin: 30px 0 40px;
  }
  #news.newsDetail .bgWhite > p a {
    color: #e95295;
  }
  #news.newsDetail .bgWhite > p a:hover {
    border-bottom: #e95295 1px solid;
    opacity: 1;
  }
  /*カテゴリ*/
  #news.newsDetail .bgWhite > dl {
    bottom: 30px;
    right: 35px;
    z-index: 100;
  }
  #news.newsDetail .bgWhite > dl dt,
  #news.newsDetail .bgWhite > dl dd {
    font-size: 12px;
  }
  #news.newsDetail .bgWhite img {
    max-width: 100%;
  }
  /*前へ次へボタン*/
  #news.newsDetail .detail.news .pageBtn a.next {
    right: 90px;
  }
  #news.newsDetail .detail.news .pageBtn a.prev {
    left: 0;
  }
  /*一覧ボタン*/
  #news.newsDetail .detail.news .turn {
    display: inline-block;
    width: 91px;
    text-align: center;
    position: absolute;
    bottom: -72px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 1000;
  }
}

.wpcf7-response-output {
  position: relative;
  z-index: 100;
}
.wpcf7-not-valid-tip {
  font-size: 12px !important;
}
div.wpcf7-validation-errors {
  border: 2px solid #f00 !important;
  font-size: 12px !important;
  font-weight: bold;
  line-height: 22px;
  color: #f00;
}
div.wpcf7-mail-sent-ok {
  border: 2px solid #398f14;
  font-size: 12px !important;
  font-weight: bold;
  line-height: 22px;
  color: #398f14;
  text-align: center;
  margin: 30px auto 0 !important;
}
@media screen and (min-width: 768px) {
  div.wpcf7-mail-sent-ok {
    width: 620px !important;
  }
}
.privacy {
  z-index: 100;
  position: relative;
}

.dateList li.year.close + li {
  display: none;
}
.dateList li {
  background: none !important;
}
.dateList li.year {
  background: url(/asset/img/blog/ico_arrow01.png) no-repeat 7px !important;
  background-size: contain !important;
}
.dateList li.year.active,
.dateList li.year.close {
  background: url(/asset/img/blog/ico_arrow02.png) no-repeat 7px !important;
  background-size: contain !important;
}
.dateList li.year.close.active {
  background: url(/asset/img/blog/ico_arrow01.png) no-repeat 7px !important;
  background-size: contain !important;
}
.dateList > li > ul {
  position: relative;
  top: -5px;
}
.dateList > li > ul > li {
  padding: 4px 14px !important;
}
/*-----------------------------------------------------
404
-----------------------------------------------------*/
@media screen and (max-width: 767px) {
  #noFound p.no404,
  #noFound a.turn02,
  #noFound p.no404 img,
  #noFound a.turn02 img {
    width: 100%;
  }
  #noFound p.no404 {
    margin-top: 115px;
  }
  #noFound a.turn02 {
    margin-top: 15px;
    display: block;
  }
  #noFound > .detail {
    min-height: calc(100vh - 214px);
  }
  #contents.noFound #page a.pagetop {
    padding-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  #noFound p.no404,
  #noFound a.turn02 {
    text-align: center;
  }
  #noFound p.no404 {
    margin-top: 156px;
  }
  #noFound a.turn02 {
    display: block;
    margin-top: 20px;
  }
  #noFound {
    min-height: calc(100vh - 236px);
  }
}

@media screen and (max-width: 767px) {
  .pcOnly {
    display: none !important;
  }
}
@media screen and (min-width: 768px), print {
  .smOnly {
    display: none !important;
  }
}