@charset "UTF-8";
/* Scss Document */
body {
  font-family: YuGothic,"游ゴシック","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

.wrap {
  overflow: hidden; }

h2 {
  font-size: 1.8em;
  letter-spacing: 0.05em;
  line-height: 1.8em; }
  @media (max-width: 480px) {
    h2 {
      font-size: 1.2em; } }

h3 {
  font-size: 1.5em;
  letter-spacing: 0.05em;
  line-height: 1.4em;
  color: #ff6c00;
  font-weight: 600; }
  @media (max-width: 480px) {
    h3 {
      font-size: 1.2em; } }

h4 {
  font-size: 1.3em;
  letter-spacing: 0.05em;
  line-height: 1.4em;
  font-weight: 400; }
  @media (max-width: 480px) {
    h4 {
      font-size: 1.2em; } }

p {
  line-height: 1.5em; }

a {
  color: #e60012; }
  a:hover {
    color: #E6D0E3; }
  a:active {
    color: #e60012; }

.container img {
  max-width: 1280px;
  /* 横幅に合わせて自動縮小するが、拡大はしない */ }

/*
**  margin class
*/
.mr-1600 {
  margin-right: 16em; }

.ml-1600 {
  margin-left: 16em; }

.mb-500 {
  margin-bottom: 5em; }

.m-600 {
  margin: 6em; }

.ml-800 {
  margin-left: 8em; }

.mtb-600, .mt-600 {
  margin-top: 6em; }

.mrl-600, .mr-600 {
  margin-right: 6em; }

.mtb-600, .mb-600 {
  margin-bottom: 6em; }

.mrl-600, .ml-600 {
  margin-left: 6em; }

.m-550 {
  margin: 5.5em; }

.mtb-550, .mt-550 {
  margin-top: 5.5em; }

.mrl-550, .mr-550 {
  margin-right: 5.5em; }

.mtb-550, .mb-550 {
  margin-bottom: 5.5em; }

.mrl-550, .ml-550 {
  margin-left: 5.5em; }

.m-500 {
  margin: 5em; }

.mtb-500, .mt-500 {
  margin-top: 5em; }

.mrl-500, .mr-500 {
  margin-right: 5em; }

.mtb-500, .mb-500 {
  margin-bottom: 5em; }

.mrl-500, .ml-500 {
  margin-left: 5em; }

.m-450 {
  margin: 4.5em; }

.mtb-450, .mt-450 {
  margin-top: 4.5em; }

.mrl-450, .mr-450 {
  margin-right: 4.5em; }

.mtb-450, .mb-450 {
  margin-bottom: 4.5em; }

.mrl-450, .ml-450 {
  margin-left: 4.5em; }

.m-400 {
  margin: 4em; }

.mmt-400 {
  margin-top: -4em; }

.mtb-400, .mt-400 {
  margin-top: 4em; }

.mrl-400, .mr-400 {
  margin-right: 4em; }

.mtb-400, .mb-400 {
  margin-bottom: 4em; }

.mrl-400, .ml-400 {
  margin-left: 4em; }

.m-350 {
  margin: 3.5em; }

.mtb-350, .mt-350 {
  margin-top: 3.5em; }

.mrl-350, .mr-350 {
  margin-right: 3.5em; }

.mtb-350, .mb-350 {
  margin-bottom: 3.5em; }

.mrl-350, .ml-350 {
  margin-left: 3.5em; }

.m-300 {
  margin: 3em; }

.mmt-300 {
  margin-top: -3em; }

.mtb-300, .mt-300 {
  margin-top: 3em; }

.mrl-300, .mr-300 {
  margin-right: 3em; }

.mtb-300, .mb-300 {
  margin-bottom: 3em; }

.mrl-300, .ml-300 {
  margin-left: 3em; }

.m-250 {
  margin: 2.5em; }

.mtb-250, .mt-250 {
  margin-top: 2.5em; }

.mrl-250, .mr-250 {
  margin-right: 2.5em; }

.mtb-250, .mb-250 {
  margin-bottom: 2.5em; }

.mrl-250, .ml-250 {
  margin-left: 2.5em; }

.m-200 {
  margin: 2em; }

.mmtb-200, .mmt-200 {
  margin-top: -2em; }

.mtb-200, .mt-200 {
  margin-top: 2em; }

.mrl-200, .mr-200 {
  margin-right: 2em; }

.mtb-200, .mb-200 {
  margin-bottom: 2em; }

.mrl-200, .ml-200 {
  margin-left: 2em; }

.m-150 {
  margin: 1.5em; }

.mmtb-150, .mmt-150 {
  margin-top: -1.5em; }

.mtb-150, .mt-150 {
  margin-top: 1.5em; }

.mrl-150, .mr-150 {
  margin-right: 1.5em; }

.mtb-150, .mb-150 {
  margin-bottom: 1.5em; }

.mrl-150, .ml-150 {
  margin-left: 1.5em; }

.m-125 {
  margin: 1.25em; }

.mtb-125, .mt-125 {
  margin-top: 1.25em; }

.mrl-125, .mr-125 {
  margin-right: 1.25em; }

.mtb-125, .mb-125 {
  margin-bottom: 1.25em; }

.mrl-125, .ml-125 {
  margin-left: 1.25em; }

.m-100 {
  margin: 1em; }

.mtb-100, .mt-100 {
  margin-top: 1em; }

.mrl-100, .mr-100 {
  margin-right: 1em; }

.mtb-100, .mb-100 {
  margin-bottom: 1em; }

.mrl-100, .ml-100 {
  margin-left: 1em; }

.m-75 {
  margin: 0.75em; }

.mtb-75, .mt-75 {
  margin-top: 0.75em; }

.mrl-75, .mr-75 {
  margin-right: 0.75em; }

.mtb-75, .mb-75 {
  margin-bottom: 0.75em; }

.mrl-75, .ml-75 {
  margin-left: 0.75em; }

.m-50 {
  margin: 0.5em; }

.mtb-50, .mt-50 {
  margin-top: 0.5em; }

.mrl-50, .mr-50 {
  margin-right: 0.5em; }

.mtb-50, .mb-50 {
  margin-bottom: 0.5em; }

.mrl-50, .ml-50 {
  margin-left: 0.5em; }

.m-25 {
  margin: 0.25em; }

.mtb-25, .mt-25 {
  margin-top: 0.25em; }

.mrl-25, .mr-25 {
  margin-right: 0.25em; }

.mtb-25, .mb-25 {
  margin-bottom: 0.25em; }

.mrl-25, .ml-25 {
  margin-left: 0.25em; }

.m-0 {
  margin: 0; }

.mtb-0, .mt-0 {
  margin-top: 0; }

.mrl-0, .mr-0 {
  margin-right: 0; }

.mtb-0, .mb-0 {
  margin-bottom: 0; }

.mrl-0, .ml-0 {
  margin-left: 0; }

.mml-15 {
  margin-left: -15px; }

.ml-15 {
  margin-left: 15px; }

.mmr-15 {
  margin-right: -15px; }

.mml-3 {
  margin-left: -3em; }

.mml-2 {
  margin-left: -2em; }

.mb-180 {
  margin-bottom: 180px; }
  @media (max-width: 480px) {
    .mb-180 {
      margin-bottom: 120px; } }

/*
**  padding class
*/
.pl-800 {
  padding-left: 8em; }

.pr-800 {
  padding-right: 8em; }

.p-600 {
  padding: 6em; }

.ptb-600, .pt-600 {
  padding-top: 6em; }

.prl-600, .pr-600 {
  padding-right: 6em; }

.ptb-600, .pb-600 {
  padding-bottom: 6em; }

.prl-600, .pl-600 {
  padding-left: 6em; }

.p-550 {
  padding: 5.5em; }

.ptb-550, .pt-550 {
  padding-top: 5.5em; }

.prl-550, .pr-550 {
  padding-right: 5.5em; }

.ptb-550, .pb-550 {
  padding-bottom: 5.5em; }

.prl-550, .pl-550 {
  padding-left: 5.5em; }

.p-500 {
  padding: 5em; }

.ptb-500, .pt-500 {
  padding-top: 5em; }

.prl-500, .pr-500 {
  padding-right: 5em; }

.ptb-500, .pb-500 {
  padding-bottom: 5em; }

.prl-500, .pl-500 {
  padding-left: 5em; }

.p-450 {
  padding: 4.5em; }

.ptb-450, .pt-450 {
  padding-top: 4.5em; }

.prl-450, .pr-450 {
  padding-right: 4.5em; }

.ptb-450, .pb-450 {
  padding-bottom: 4.5em; }

.prl-450, .pl-450 {
  padding-left: 4.5em; }

.p-400 {
  padding: 4em; }

.ptb-400, .pt-400 {
  padding-top: 4em; }

.prl-400, .pr-400 {
  padding-right: 4em; }

.ptb-400, .pb-400 {
  padding-bottom: 4em; }

.prl-400, .pl-400 {
  padding-left: 4em; }

.p-350 {
  padding: 3.5em; }

.ptb-350, .pt-350 {
  padding-top: 3.5em; }

.prl-350, .pr-350 {
  padding-right: 3.5em; }

.ptb-350, .pb-350 {
  padding-bottom: 3.5em; }

.prl-350, .pl-350 {
  padding-left: 3.5em; }

.p-300 {
  padding: 3em; }

.ptb-300, .pt-300 {
  padding-top: 3em; }

.prl-300, .pr-300 {
  padding-right: 3em; }

.ptb-300, .pb-300 {
  padding-bottom: 3em; }

.prl-300, .pl-300 {
  padding-left: 3em; }

.p-250 {
  padding: 2.5em; }

.ptb-250, .pt-250 {
  padding-top: 2.5em; }

.prl-250, .pr-250 {
  padding-right: 2.5em; }

.ptb-250, .pb-250 {
  padding-bottom: 2.5em; }

.prl-250, .pl-250 {
  padding-left: 2.5em; }

.p-200 {
  padding: 2em; }

.ptb-200, .pt-200 {
  padding-top: 2em; }

.prl-200, .pr-200 {
  padding-right: 2em; }

.ptb-200, .pb-200 {
  padding-bottom: 2em; }

.prl-200, .pl-200 {
  padding-left: 2em; }

.p-150 {
  padding: 1.5em; }

.ptb-150, .pt-150 {
  padding-top: 1.5em; }

.prl-150, .pr-150 {
  padding-right: 1.5em; }

.ptb-150, .pb-150 {
  padding-bottom: 1.5em; }

.prl-150, .pl-150 {
  padding-left: 1.5em; }

.p-125 {
  padding: 1.25em; }

.ptb-125, .pt-125 {
  padding-top: 1.25em; }

.prl-125, .pr-125 {
  padding-right: 1.25em; }

.ptb-125, .pb-125 {
  padding-bottom: 1.25em; }

.prl-125, .pl-125 {
  padding-left: 1.25em; }

.p-100 {
  padding: 1em; }

.ptb-100, .pt-100 {
  padding-top: 1em; }

.prl-100, .pr-100 {
  padding-right: 1em; }

.ptb-100, .pb-100 {
  padding-bottom: 1em; }

.prl-100, .pl-100 {
  padding-left: 1em; }

.p-75 {
  padding: 0.75em; }

.ptb-75, .pt-75 {
  padding-top: 0.75em; }

.prl-75, .pr-75 {
  padding-right: 0.75em; }

.ptb-75, .pb-75 {
  padding-bottom: 0.75em; }

.prl-75, .pl-75 {
  padding-left: 0.75em; }

.p-50 {
  padding: 0.5em; }

.ptb-50, .pt-50 {
  padding-top: 0.5em; }

.prl-50, .pr-50 {
  padding-right: 0.5em; }

.ptb-50, .pb-50 {
  padding-bottom: 0.5em; }

.prl-50, .pl-50 {
  padding-left: 0.5em; }

.p-25 {
  padding: 0.25em; }

.ptb-25, .pt-25 {
  padding-top: 0.25em; }

.prl-25, .pr-25 {
  padding-right: 0.25em; }

.ptb-25, .pb-25 {
  padding-bottom: 0.25em; }

.prl-25, .pl-25 {
  padding-left: 0.25em; }

.p-0 {
  padding: 0 !important; }

.ptb-0, .pt-0 {
  padding-top: 0; }

.prl-0, .pr-0 {
  padding-right: 0; }

.ptb-0, .pb-0 {
  padding-bottom: 0; }

.prl-0, .pl-0 {
  padding-left: 0; }

.plr-100 {
  padding-left: 1em;
  padding-right: 1em; }

.plr-200 {
  padding-left: 2em;
  padding-right: 2em; }

.plr-300 {
  padding-left: 3em;
  padding-right: 3em; }
  @media (max-width: 480px) {
    .plr-300 {
      padding-left: 1em;
      padding-right: 1em; } }

.pr-300 {
  padding-right: 3em; }
  @media (max-width: 480px) {
    .pr-300 {
      padding-right: 1em; } }

.pr-1000 {
  padding-right: 10em; }
  @media (max-width: 480px) {
    .pr-1000 {
      padding-right: 1em; } }

/*
**  font and text class
*/
.italic {
  font-style: italic; }

.small-caps {
  font-variant: small-caps; }

.bold {
  font-weight: bold; }

.xx-small {
  line-height: 1;
  font-size: 60%; }

.x-small {
  line-height: 1;
  font-size: 75%; }

.small {
  line-height: 1;
  font-size: 88.88%; }

.large {
  line-height: 1;
  font-size: 120%; }

.x-large {
  line-height: 1;
  font-size: 150%; }

.xx-large {
  line-height: 1;
  font-size: 200%; }

.overline {
  text-decoration: overline; }

.underline {
  text-decoration: underline; }

.capitalize {
  text-transform: capitalize; }

.uppercase {
  text-transform: uppercase; }

.lowercase {
  text-transform: lowercase; }

/*
**  layout class
*/
.indent {
  text-indent: 1em; }

.left {
  text-align: left; }

.right {
  text-align: right; }

.center {
  text-align: center; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.clear:after, .clear-left:after, .clear-right:after {
  display: block;
  content: ""; }

.clear, .clear:after {
  clear: both; }

.clear-left, .clear-left:after {
  clear: left; }

.clear-right, .clear-right:after {
  clear: right; }

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
  display: block !important; }

.sp {
  display: none !important; }

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
  .pc {
    display: none !important; }

  .sp {
    display: block !important; } }
.hedback {
  background-image: url("img/hedback.jpg");
  /* 画像を常に天地左右の中央に配置 */
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  height: 600px; }
  @media (max-width: 480px) {
    .hedback {
      height: 400px;
      background-image: url("img/hedback_2.jpg"); } }

.back001 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/001.jpg");
  height: auto;
  background-size: 100%;
  padding-bottom: 80px;
  margin-top: 10px; }
  @media (max-width: 480px) {
    .back001 {
      background-image: url("img/001s.jpg");
      margin-top: 0;
      height: 520px; } }

.back002 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/back02.jpg");
  height: auto;
  padding-bottom: 50px; }

.back003 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/back05.png");
  height: auto; }
  @media (max-width: 480px) {
    .back003 {
      background-image: url("img/back05_2.png"); } }

.back004 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/back07.jpg");
  height: auto; }
  @media (max-width: 480px) {
    .back004 {
      background-image: url("img/back07.jpg"); } }

.back005 {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100%;
  background-image: url("img/023@2x.png");
  height: 450px; }
  @media (max-width: 480px) {
    .back005 {
      background-image: url("img/023s@2x.png");
      height: 860px; } }

.back006 {
  background-position: center center;
  background-repeat: repeat;
  background-color: #ff6c00;
  background-size: 100%;
  height: 40px; }

.back007 {
  background-position: top center;
  background-repeat: no-repeat;
  background-image: url("img/back07.svg");
  background-size: 100%;
  height: 2500px; }
  @media (max-width: 480px) {
    .back007 {
      height: 100%; } }

.box001 {
  border: 2px solid #EBE9A3;

  padding: 2em;
}

.back008 {
  background: url(""), url(""), url("img/010.png") no-repeat;
  background-size: 100%;
  padding-bottom: 1em; }
  @media (max-width: 480px) {
    .back008 {
      background: url("img/010s.png");
      background-size: 100%;
      background-repeat: no-repeat; } }

.back009 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/013.jpg");
  height: auto; }
  @media (max-width: 480px) {
    .back009 {
      background: url("img/013s.jpg"); } }

.back010 {
  background-position: top center;
  background-repeat: repeat;
  background-image: url("img/back08.jpg");
  background-size: 100%;
  height: auto; }

.back011 {
  background: url("img/014@2x.png") 1% 10% no-repeat;
  background-size: 230px; }
  @media (max-width: 480px) {
    .back011 {
      background: url("img/014@2x.png");
      background-size: 200px;
      background-repeat: no-repeat; } }

.back012 {
  background: url("img/017@2x.png") 1% 10% no-repeat;
  background-size: 230px; }
  @media (max-width: 480px) {
    .back012 {
      background: url("img/017@2x.png");
      background-size: 200px;
      background-repeat: no-repeat; } }

.back013 {
  background: url("img/018@2x.png") 1% 10% no-repeat;
  background-size: 230px; }
  @media (max-width: 480px) {
    .back013 {
      background: url("img/018@2x.png");
      background-size: 200px;
      background-repeat: no-repeat; } }

.back014 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/back09.jpg");
  height: auto; }
  @media (max-width: 480px) {
    .back014 {
      background-image: url("img/back09.jpg");
      height: 100%; } }

.back015 {
  background: url("img/023@2x.png") 10% 95% no-repeat;
  background-size: 180px; }
  @media (max-width: 480px) {
    .back015 {
      background: url("img/023@2x.png");
      background-size: 100%;
      background-repeat: no-repeat; } }

.back016 {
  background: url("img/024@2x.png") 90% 95% no-repeat;
  background-size: 100px; }
  @media (max-width: 480px) {
    .back016 {
      background: url("img/024@2x.png");
      background-size: 100%;
      background-repeat: no-repeat; } }

.back017 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/025.jpg");
  height: auto; }
  @media (max-width: 480px) {
    .back017 {
      background: url("img/025s.jpg") 30% 45% no-repeat; } }

.back018 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/back10.jpg");
  height: auto;
  background-repeat: no-repeat; }
  @media (max-width: 480px) {
    .back018 {
      background: url("") no-repeat; } }

.back019 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/back11.png");
  height: auto;
  background-repeat: no-repeat; }
  @media (max-width: 480px) {
    .back019 {
      background: url("img/back11.png"); } }

.back020 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-color: white;
  height: auto; }
  @media (max-width: 480px) {
    .back020 {
      background: url(""); } }

.back021 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/0005.jpg");
  height: auto; }
  @media (max-width: 480px) {
    .back021 {
      background: url("img/0005.jpg"); } }

.back022 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/035@2x.png");
  height: 150px; }
  @media (max-width: 480px) {
    .back022 {
      background: url("img/035s@2x.png") 50% 0 no-repeat;
      height: 120px; } }

.back023 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/back08.jpg");
  height: auto; }
  @media (max-width: 480px) {
    .back023 {
      background-image: url("");
      height: 100%; } }

.back024 {
  background: url("img/033b@2x.png") 100% 85% no-repeat, url("img/0005.jpg") no-repeat;
  background-size: 13%, 100%;
  height: auto; }
  @media (max-width: 480px) {
    .back024 {
      background: url("img/0005.jpg"); } }

.hedlogo {
  padding: 2em; }

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)"; }

.chuou {
  display: flex;
  justify-content: center;
  align-items: center; }

.mannaka {
  margin-left: auto;
  margin-right: auto; }

.left_auto {
  margin-left: auto; }

.right_auto {
  margin-right: auto; }

.main h2 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 32px;
  font-size: 1.8em;
  line-height: 1.8em; }
  @media (max-width: 480px) {
    .main h2 {
      font-size: 1.4em; } }

.main h3 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 32px;
  font-size: 1.6em;
  line-height: 1.8em; }

.main002 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/back02.jpg");
  height: 400px; }

.main003 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-image: url("img/back03@2x.png");
  height: auto;
  background-color: white; }

.main004 {
  background-image: url("img/019@2x.png");
  background-repeat: no-repeat;
  background-size: 50%;
  background-position: 75% 50%; }

.main005 {
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  background-color: #E7D1E4;
  height: auto;
  background-repeat: repeat; }

.backwh {
  background-color: white; }

.backye {
  background-color: rgba(255, 241, 181, 0.3);
  background-position: bottom; }

.backred {
  background-color: red; }

.font01 {
  font-size: 1.0em;
  letter-spacing: 0.05em;
  line-height: 1.8em;
  padding-left: 4.5em;
  padding-right: 1em;
  text-align: justify; }
  @media (max-width: 480px) {
    .font01 {
      padding-left: 1em;
      padding-right: 1em; } }

.font02 {
  font-size: 1.0em;
  letter-spacing: 0.05em;
  line-height: 1.8em;
  padding-left: 1em;
  padding-right: 1em;
  margin-top: 1em;
  text-align: justify;
  width: 70%;
  margin-left: auto; }
  @media (max-width: 480px) {
    .font02 {
      width: 100%; } }

.font03 {
  font-size: 1.0em;
  letter-spacing: 0.05em;
  line-height: 1.8em;
  padding-right: 4em;
  text-align: justify;
  width: 70%;
  margin-left: auto; }
  @media (max-width: 480px) {
    .font03 {
      padding-left: 0.5em;
      padding-right: 0.5em;
      width: 100%; } }

.font04 {
  font-size: 1.0em;
  letter-spacing: 0.05em;
  line-height: 1.5em;
  padding-right: 4em;
  padding-left: 2em;
  text-align: justify;
  margin-left: auto; }
  @media (max-width: 480px) {
    .font04 {
      padding-left: 0.5em;
      padding-right: 0.5em; } }

.under {
  background: linear-gradient(transparent 0, #FFF100 0); }

/*フェードイン*/
.list-mv05 {
  transform: translate(0, 40px);
  -webkit-transform: translate(0, 40px); }

.mv05 {
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

@media screen and (min-width: 320px) {
  .gri40 {
    /* スマホの場合 @include mq */
    width: 90%; } }
@media screen and (min-width: 1024px) {
  .gri40 {
    /* PCの場合 @include mq(large) */
    width: 40%; } }

ul, li {
  list-style: none;
  margin: 0;
  padding: 0; }

.font04 {
  font-size: 1em;
  letter-spacing: 0.05em;
  line-height: 2em;
  padding-left: 2em;
  padding-right: 2em; }
  @media (max-width: 480px) {
    .font04 {
      font-size: 0.8em; } }

.font05 {
  font-size: 0.8em;
  letter-spacing: 0.05em;
  line-height: 1.5em;
  text-align: justify;
  padding-left: 1rem;
  padding-right: 1rem; }

.font06 {
  font-size: 0.8em;
  letter-spacing: 0.05em;
  line-height: 1.5em; }

.font07 {
  font-size: 0.8em;
  letter-spacing: 0.05em;
  line-height: 1.5em;
  padding-right: 4em;
  padding-left: 2em;
  text-align: justify;
  margin-left: auto; }
  @media (max-width: 480px) {
    .font07 {
      padding-left: 2em;
      padding-right: 2em; } }

li {
  list-style: none; }

li.maru:before {
  content: '';
  /*何も入れない*/
  display: inline-block;
  /*忘れずに！*/
  width: 20px;
  /*画像の幅*/
  height: 20px;
  /*画像の高さ*/
  background-image: url("img/047@2x.png");
  background-size: contain;
  vertical-align: middle;
  margin-right: 10px; }

.con01 {
  position: relative;
  padding: 0.5em 1.5em; }

.con01:before, .con01:after {
  content: '';
  position: absolute;
  top: -10px;
  width: 2px;
  height: -webkit-calc(100% + 20px);
  height: calc(100% + 0px);
  background-color: #B979B0; }

.con01:before {
  left: 10px; }

.con01:after {
  right: 10px; }

.con01 p {
  margin: 0;
  padding: 0; }

/*囲み線*/
.kakomi {
  padding: 1em 2em;
  margin: 2em 0;
  border: solid 1px #4F312C; }

.kakomi p {
  margin: 0;
  padding: 0; }

/*お問い合わせフォーム*/
div#mf_wrapper {
  width: 640px;
  text-align: left;
  margin: 0px auto;
  font-family: sans-serif; }

div#mf_header h1 {
  font-size: 24px;
  border-bottom: solid 1px #999;
  margin: 0px;
  padding: 0px; }

div#mf_header h2 {
  font-size: 16px;
  color: #999;
  font-weight: normal;
  margin: 0px;
  padding: 0px; }

form#mailform {
  padding: 5px; }

table.mailform {
  width: 100%;
  box-sizing: border-box; }

table.mailform tr th, table.mailform tr td {
  text-align: left;
  font-weight: bold;
  font-size: 15px;
  padding: 7px 5px 30px 5px;
  box-sizing: border-box;
  color: #4F312C; }

table.mailform tr th {
  width: 200px; }

table.mailform tr th span {
  color: #C00;
  font-size: 10px; }

table.mailform tr th p {
  margin: 0px;
  padding: 0px;
  font-size: 10px;
  color: #999; }

table.mailform tr td textarea {
  max-width: 100%;
  height: 120px;
  box-sizing: border-box; }

@media screen and (max-width: 800px) {
  div#mf_wrapper {
    width: auto;
    max-width: 100%; }

  table.mailform, table.mailform tbody, table.mailform tbody tr {
    border-spacing: 0px;
    border-collapse: collapse;
    display: block;
    width: auto;
    max-width: 100%; }

  table.mailform tr th, table.mailform tr td {
    display: block;
    width: auto;
    max-width: 100%;
    padding: 0px;
    box-sizing: border-box; }

  table.mailform tr th {
    border: none;
    padding: 7px 5px 2px 5px; }

  table.mailform tr th p {
    display: inline-block; }

  table.mailform tr th span {
    display: inline-block;
    margin: 0px 3px; }

  table.mailform tr td {
    padding: 2px 5px 7px 5px; }

  table.mailform tr td textarea,
  table.mailform tr td input,
  table.mailform tr td select {
    max-width: 100%;
    box-sizing: border-box;
    border-color: #ccc; } }
/*アニメーションcss*/
.animation {
  margin: 0; }

.fadeInDown {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  visibility: visible !important; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
/* --- float解除 --- */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden; }

.clearfix {
  min-height: 1px; }

html .clearfix {
  height: 1px;
  /*\*/
     /*/
height: auto;
overflow: hidden;
/**/ }

ul {
  display: flex; }
  ul li:first-child {
    margin-right: auto; }

.btm {
  position: absolute;
  bottom: 5px; }

.just {
  text-align: justify; }

.red {
  color: #eb6d80; }

.redfuto {
  color: #e60012;
  font-weight: 800; }

.orangefuto {
  color: #ff6c00;
  font-weight: 800; }

.blackfuto {
  color: #333;
  font-weight: 800; }

.mb300 {
  height: 200px; }

.midashi01 {
  font-size: 1.8em;
  letter-spacing: 0.05em;
  line-height: 1.4em;
  color: #eb6d80; }
  @media (max-width: 480px) {
    .midashi01 {
      font-size: 1.5em; } }

/*PCフッター電話、申し込み常に表示*/
#footpc {
  position: fixed !important;
  position: absolute;
  bottom: 0;
  left: 0; }

/*641px～PC　PC上では見えないようにする*/
@media screen and (min-width: 641px) {
  .footer_area {
    display: none; } }
/*スマホ～641pxの幅サイズまで*/
@media screen and (max-width: 640px) {
  .footer_area {
    position: fixed;
    bottom: -15px;
    left: 0;
    width: 100%;
    z-index: 10000; }

  .footer_area .footer_area_inner {
    position: relative;
    width: 100%;
    margin: 0px auto;
    padding: 20px 10px;
    margin-right: 0px;
    background-color: white; }

  .footer_area .footer_area_inner .footer_area_inner_btn {
    width: 85%;
    padding: 11px 0;
    font-size: 20px;
    font-weight: bold;
    margin-left: 15px;
    line-height: 1.3; }

  .inquiry_btn {
    background-color: #F1F8FC;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    padding: 15px 10px;
    font-size: 18px;
    font-weight: bold;
    width: 100%; }

  .inquiry_btn:link, .inquiry_btn:visited {
    color: #FFFFFF !important; }

  .footer_area_inner span {
    color: #fff; }

  #siteBottom {
    margin-bottom: 85px; } }
.fcenter {
  justify-content: center;
  align-items: center; }

.pagetop {
  position: fixed;
  right: 50px;
  display: block;
  padding: 20px; }

.otasuke {
  padding-left: 2em;
  padding-right: 2em;
  padding-top: 0.5em;
  text-align: justify; }

.otasuke2 {
  padding-left: 2em;
  padding-right: 2em;
  padding-top: 0.5em; }

#line {
  position: relative;
  z-index: 100; }

p.gotop {
  position: fixed;
  right: 8%;
  padding-bottom: 100px;
  width: 130px; }
  @media (max-width: 480px) {
    p.gotop {
      right: 10px;
      padding-bottom: 60px;
      width: 100px; } }

p.gotop a {
  width: 125px;
  height: 94px;
  display: block; }

.youtube2 {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.youtube2 iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important; }
