@charset "UTF-8";
/* SCSS Document */
/* Scss Document */
@media (max-width: 679px) {
  .show-pc {
    display: none; } }

.show-sp {
  display: none; }
  @media (max-width: 679px) {
    .show-sp {
      display: block; } }

.br-sp {
  display: none; }
  @media (max-width: 679px) {
    .br-sp {
      display: block; } }

@media (max-width: 679px) {
  .not-sp {
    display: none; } }

.w100 {
  width: 100%;
  height: auto; }

.btn01 a {
  display: block;
  margin: 45px 40px 40px;
  padding: 15px 10px;
  border: 1px solid #fff;
  background: #862B4C;
  color: #FFF;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  transition: .3s;
  position: relative;
  z-index: 2;
  overflow: hidden;
  width: 250px;
  margin: 0 auto; }
  .btn01 a:after {
    display: block;
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    margin: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transition: .3s; }
  .btn01 a:hover:after {
    width: 250px;
    height: 250px;
    margin: -125px 0 0 -125px; }
  .btn01 a.w-350 {
    width: 350px; }
    .btn01 a.w-350:hover:after {
      width: 350px;
      height: 350px;
      margin: -175px 0 0 -175px; }
    @media (max-width: 679px) {
      .btn01 a.w-350 {
        width: 300px; }
        .btn01 a.w-350:hover:after {
          width: 300px;
          height: 300px;
          margin: -150px 0 0 -150px; } }

#header {
  background: #862B4C;
  padding: 10px 10px 0 10px; }
  @media (max-width: 679px) {
    #header {
      padding-top: 0; } }
  #header .wrap {
    max-width: 1920px;
    margin: 0 auto; }
  #header h1 {
    display: block;
    font-size: 10px;
    padding: 5px 10px; }
    @media (max-width: 679px) {
      #header h1 {
        display: none; } }
  #header .header-top {
    display: flex;
    align-items: center;
    margin-bottom: 15px; }
    #header .header-top .logoarea {
      width: fit-content; }
      #header .header-top .logoarea .logo {
        display: block;
        filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.8)); }
        @media (max-width: 679px) {
          #header .header-top .logoarea .logo {
            top: 10px;
            left: 10px; } }
        #header .header-top .logoarea .logo a {
          display: block;
          width: fit-content;
          font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
          line-height: 1;
          text-decoration: none; }
          #header .header-top .logoarea .logo a em {
            display: block;
            color: #FFF;
            font-size: 12px;
            letter-spacing: -0.01em;
            margin-bottom: 6px;
            font-weight: 400;
            font-style: normal; }
            @media (max-width: 679px) {
              #header .header-top .logoarea .logo a em {
                font-size: 9px; } }
          #header .header-top .logoarea .logo a p {
            display: block;
            color: #FFF;
            font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
            font-size: 10px;
            font-weight: bold;
            margin-bottom: 4px; }
          #header .header-top .logoarea .logo a h1 {
            display: flex;
            align-items: center;
            color: #FFF;
            font-size: 24px;
            padding: 4px 0 0 0;
            letter-spacing: -0.05em;
            font-weight: 400;
            border-top: #FFF 1px solid; }
            #header .header-top .logoarea .logo a h1 img {
              width: 50px;
              height: auto;
              margin-right: 5px; }
            @media (max-width: 679px) {
              #header .header-top .logoarea .logo a h1 {
                font-size: 16px; }
                #header .header-top .logoarea .logo a h1 img {
                  width: 30px;
                  margin-right: 0; } }
    #header .header-top .tel {
      width: fit-content;
      text-align: right;
      padding-right: 10px;
      vertical-align: middle;
      margin: 0 0 0 auto; }
      #header .header-top .tel strong {
        display: block;
        font-size: 2em;
        font-weight: bold;
        color: #fff;
        width: fit-content; }
        #header .header-top .tel strong i {
          font-size: 1.2em;
          margin-right: 5px; }
      #header .header-top .tel b {
        display: block;
        line-height: 1; }
      #header .header-top .tel p {
        display: block;
        font-size: 80%; }
    @media (max-width: 679px) {
      #header .header-top {
        display: none; } }
  #header .header-top-sp {
    display: none; }
    #header .header-top-sp .logoarea {
      width: fit-content;
      padding: 5px; }
      #header .header-top-sp .logoarea .logo {
        display: block; }
        #header .header-top-sp .logoarea .logo a {
          display: block;
          width: fit-content;
          font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
          line-height: 1;
          text-decoration: none; }
          #header .header-top-sp .logoarea .logo a em {
            display: block;
            color: #FFF;
            font-size: 9px;
            letter-spacing: -0.01em;
            margin-bottom: 6px;
            font-weight: 400;
            font-style: normal; }
          #header .header-top-sp .logoarea .logo a p {
            display: block;
            color: #FFF;
            font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
            font-size: 10px;
            font-weight: bold;
            margin-bottom: 4px; }
          #header .header-top-sp .logoarea .logo a h1 {
            display: flex;
            align-items: center;
            color: #FFF;
            font-size: 16px;
            padding: 4px 0 0 0;
            letter-spacing: -0.05em;
            font-weight: 400;
            border-top: #fff 1px solid; }
            #header .header-top-sp .logoarea .logo a h1 img {
              width: 30px;
              margin-right: 0;
              height: auto; }
    @media (max-width: 679px) {
      #header .header-top-sp {
        display: block;
        background: #7E334E;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 50px;
        z-index: 10;
        width: 100%;
        height: 80px;
        padding-top: 0; }
        #header .header-top-sp ul {
          position: absolute;
          display: flex;
          top: 15px;
          right: 5px; }
          #header .header-top-sp ul li {
            width: 60px; }
            #header .header-top-sp ul li:nth-child(1) {
              margin-right: 5px; }
            #header .header-top-sp ul li img {
              width: 100%;
              height: auto; }
            #header .header-top-sp ul li a.menu_icn img.close {
              display: none; } }
    @media (max-width: 400px) {
      #header .header-top-sp .logo img {
        height: 50px;
        width: auto; }
      #header .header-top-sp ul li {
        padding-top: 3px;
        width: 55px; } }

/* ブログ */
#blog {
  max-width: 1520px;
  margin: 0 auto 4% auto;
  /*detail*/ }
  @media (max-width: 1520px) {
    #blog {
      padding-left: 10px;
      padding-right: 10px; } }
  #blog h3.title02 {
    text-align: center; }
  #blog .blog_cate {
    display: block;
    background: #EEE;
    padding: 2% 3%;
    margin-bottom: 3%; }
    #blog .blog_cate li {
      display: inline; }
      #blog .blog_cate li:before {
        font-family: "Font Awesome 5 Free";
        content: "\f138";
        font-weight: bold; }
      #blog .blog_cate li a {
        font-weight: bold; }
  #blog .pager-upper {
    border-bottom: #CCC 1px dotted;
    padding-bottom: 10px;
    margin-bottom: 10px; }
  #blog .pager-lower {
    border-top: #CCC 1px dotted;
    padding-top: 10px;
    margin-bottom: 10px; }
  #blog .galleryList .gallery {
    display: flex;
    flex-wrap: wrap;
    border-bottom: #CCC 1px solid;
    padding: 2% 0; }
    @media (max-width: 679px) {
      #blog .galleryList .gallery {
        padding: 5% 0; } }
    #blog .galleryList .gallery:last-child {
      border-bottom: none; }
    #blog .galleryList .gallery .image {
      width: 300px;
      margin: 0 20px 0 0; }
      @media (max-width: 679px) {
        #blog .galleryList .gallery .image {
          width: 100%;
          text-align: center;
          margin: 0 0 15px 0; } }
      #blog .galleryList .gallery .image img {
        width: 100%;
        height: auto;
        max-width: 300px; }
    #blog .galleryList .gallery .galleryInner {
      width: calc(100% - 320px); }
      @media (max-width: 679px) {
        #blog .galleryList .gallery .galleryInner {
          width: 100%; } }
      #blog .galleryList .gallery .galleryInner h3 {
        display: block;
        background: #EEE;
        padding: 7px 10px;
        font-size: 1.2em;
        margin-bottom: 15px; }
        #blog .galleryList .gallery .galleryInner h3 a {
          text-decoration: none; }
      #blog .galleryList .gallery .galleryInner .comment {
        margin-bottom: 15px; }
  #blog .galleryList .detailLink a {
    display: block;
    float: right;
    border: #CCC 1px solid;
    padding: 5px 20px;
    text-decoration: none;
    max-width: 150px;
    color: #000; }
    #blog .galleryList .detailLink a:hover {
      background: #EEE; }
  #blog .galleryDetail .title {
    display: none; }
  #blog .galleryDetail .main {
    margin-bottom: 3%;
    padding-bottom: 3%;
    border-bottom: #CCC 1px dotted; }
    #blog .galleryDetail .main .image {
      display: block;
      text-align: center;
      margin-bottom: 30px; }
      #blog .galleryDetail .main .image img {
        width: 100%;
        height: auto;
        max-width: 600px; }
    #blog .galleryDetail .main .comment {
      display: block;
      max-width: 600px;
      margin: 0 auto;
      font-size: 1.2em; }
  #blog .DetailList {
    display: flex;
    flex-wrap: wrap;
    max-width: 600px;
    margin: 0 auto; }
    #blog .DetailList .detail {
      width: 100%;
      padding: 2%;
      box-sizing: border-box; }
      @media (max-width: 679px) {
        #blog .DetailList .detail {
          width: 100%; } }
      #blog .DetailList .detail img {
        width: 100%;
        height: auto; }
      #blog .DetailList .detail p {
        font-size: 1.2em; }
  #blog .btn a {
    display: block;
    margin: 0 auto;
    border: #CCC 1px solid;
    padding: 5px 20px;
    text-align: center;
    text-decoration: none;
    max-width: 100px;
    color: #000; }
    #blog .btn a:hover {
      background: #EEE; }

.gallery_reform .wp-block-columns .wp-block-column {
  background: #F1F3F2;
  padding: 10px;
  margin-bottom: 20px; }
  .gallery_reform .wp-block-columns .wp-block-column .bgcolor {
    display: block;
    background: #51443A;
    font-weight: bold;
    color: #FFF;
    text-align: center;
    padding: 7px;
    text-decoration: none; }

.title01 {
  padding: 10px 20px;
  font-size: 18px;
  color: #862B4C;
  text-shadow: 1px 1px 2px rgba(143, 34, 76, 0.4);
  border-top: 1px solid #862B4C;
  border-bottom: 1px solid #862B4C; }

.t-02 {
  display: block;
  color: #862B4C;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-size: clamp(25px, 6vw, 33px);
  text-align: center;
  line-height: 1.3;
  margin-bottom: clamp(15px, 3%, 25px); }
  .t-02 span {
    display: block;
    font-family: "M PLUS Rounded 1c";
    font-size: 14px;
    color: #484848; }
  .t-02.w-line {
    background: url("../../images/line1.png") no-repeat;
    background-size: 200px;
    background-position: center top;
    padding-top: 35px; }

.px-5 {
  padding-top: 2rem;
  padding-bottom: 2rem; }

.flexBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
  .flexBox .col2 {
    width: 50%;
    padding: 2%;
    margin-bottom: 3%; }
    @media (max-width: 679px) {
      .flexBox .col2 {
        width: 100%;
        margin-bottom: 5%; } }
  .flexBox .col3 {
    width: 33.3%;
    padding: 2%;
    margin-bottom: 3%;
    border: 000 1px solid; }
    @media (max-width: 679px) {
      .flexBox .col3 {
        width: 100%;
        margin-bottom: 5%; } }
  .flexBox .col4 {
    width: 25%;
    padding: 2%;
    margin-bottom: 3%; }
    @media (max-width: 679px) {
      .flexBox .col4 {
        width: 50%; } }
  .flexBox .col5 {
    width: 20%;
    padding: 2%;
    margin-bottom: 3%; }
    @media (max-width: 679px) {
      .flexBox .col5 {
        width: 33.3%; } }

.freedial {
  display: block;
  position: fixed;
  width: 150px;
  height: 130px;
  top: 20px;
  right: -40px;
  z-index: 5; }
  @media (max-width: 679px) {
    .freedial {
      top: 85px; } }
  .freedial a {
    pointer-events: none; }
    .freedial a img {
      width: 100%;
      height: auto; }
  @media (max-width: 679px) {
    .freedial {
      width: 100px;
      height: 60px;
      right: -25px; }
      .freedial a {
        pointer-events: all; } }

.side-open .freedial {
  z-index: 1; }

#gallery {
  max-width: 1520px;
  margin: 0 auto; }
  @media (max-width: 1520px) {
    #gallery {
      padding: 0 20px; } }
  @media (max-width: 679px) {
    #gallery {
      padding: 0; } }
  #gallery ul.flexBox li.p-1 {
    padding: 1%; }
  #gallery ul.flexBox li .photo {
    font-size: 0;
    overflow: hidden;
    margin-bottom: 10px; }
    #gallery ul.flexBox li .photo a {
      position: relative; }
      #gallery ul.flexBox li .photo a img {
        width: 100%;
        height: auto; }
      #gallery ul.flexBox li .photo a span {
        display: block;
        background: rgba(134, 43, 76, 0.8);
        color: #FFF;
        padding: 3px 10px;
        bottom: 0;
        left: 0;
        position: absolute;
        z-index: 1;
        font-size: 12px; }
  #gallery ul.flexBox li .text {
    display: block; }
    #gallery ul.flexBox li .text p {
      text-align: center; }
      #gallery ul.flexBox li .text p a {
        text-decoration: none; }
  #gallery .detail {
    display: block;
    margin-bottom: 5%; }
    #gallery .detail h3 {
      display: block;
      border-top: #666 1px solid;
      border-bottom: #666 1px solid;
      font-size: clamp(1.3em, 2vw, 1.5em);
      padding: 15px;
      line-height: 1.2;
      font-weight: normal; }
    #gallery .detail .date {
      display: block;
      padding: 20px;
      text-align: right; }

.back_btn {
  padding: 3%; }
  .back_btn a {
    display: block;
    color: #000;
    border: #000 1px solid;
    padding: 7px;
    max-width: 150px;
    margin: 0 auto;
    text-align: center;
    font-size: 15px; }

/*wp-pagenavi base*/
.wp-pagenavi {
  clear: both;
  text-align: center;
  padding: 5% 0; }

.wp-pagenavi a, .wp-pagenavi span {
  color: #999;
  background-color: #FFF;
  border: solid 1px #FFF;
  padding: 8px 15px;
  margin: 0 2px;
  white-space: nowrap;
  -moz-border-radius: 1px;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out; }

.wp-pagenavi a:hover {
  color: #FFF;
  background-color: #CCC;
  border-color: #CCC; }

.wp-pagenavi span.current {
  color: #FFF;
  background-color: #CCC;
  border-color: #CCC;
  font-weight: bold; }

/*comming soon*/
.comming_soon {
  display: block;
  border: #CCC 2px solid;
  padding: 6% 3%;
  text-align: center;
  border-radius: 14px; }
  .comming_soon p {
    color: rgba(188, 164, 102, 0.5);
    font-size: 1.3em;
    text-align: center; }

/* 記事エディタ内の調整:start */
#editArea .sub_kiji_wrap table th {
  display: table-cell;
  font-weight: bold !important; }

#editArea .sub_kiji_wrap table td {
  display: table-cell; }

#editArea .sub_kiji_wrap iframe {
  max-width: 100%; }
  @media (max-width: 679px) {
    #editArea .sub_kiji_wrap iframe {
      width: 100%; } }

/* 記事エディタ内の調整:end */
#editArea {
  display: block;
  line-height: 1.8;
  padding: 0 20px; }
  #editArea .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: 1em; }
    #editArea .youtube iframe {
      position: absolute;
      top: 0;
      right: 0;
      width: 100% !important;
      height: 100% !important; }
  #editArea img {
    max-width: 100%;
    height: auto; }
    #editArea img.aligncenter {
      display: block;
      margin: 0 auto 10px auto; }
    #editArea img.alignright {
      float: right;
      margin: 0 10px 10px 0; }
    #editArea img.alignleft {
      float: left;
      margin: 0 10px 10px 0; }
    #editArea img.size-large {
      max-width: 724px; }
    #editArea img.size-medium {
      max-width: 212px; }
  #editArea p {
    display: block;
    clear: both;
    margin-bottom: 2em; }
  #editArea .wp-block-gallery img {
    width: 100%;
    height: auto; }
  #editArea .blocks-gallery-grid,
  #editArea .wp-block-gallery {
    align-items: flex-start; }

/* 固定ページ */
.subpage {
  display: block;
  max-width: 1520px;
  box-sizing: border-box;
  margin: 0 auto 5% auto; }
  @media (max-width: 1520px) {
    .subpage {
      padding: 0 15px; } }
  .subpage p {
    display: block;
    line-height: 1.8;
    margin-bottom: 3%; }
  .subpage .contact .error-message {
    display: block;
    background: #F5E6E6;
    padding: 2% 3%;
    border: #D29697 1px solid;
    color: #B06869;
    display: none; }
  .subpage .contact table {
    border-collapse: collapse;
    width: 100%; }
    .subpage .contact table th {
      border: #CCC 1px solid;
      width: 16em;
      background: #EEE;
      padding: 1.5%; }
      .subpage .contact table th span {
        font-size: 80%;
        color: #D30003; }
    .subpage .contact table td {
      border: #CCC 1px solid;
      padding: 1.5%; }
      .subpage .contact table td input[type="text"],
      .subpage .contact table td input[type="tel"],
      .subpage .contact table td input[type="email"] {
        width: 100%;
        font-size: 1.3;
        padding: 5px; }
        .subpage .contact table td input[type="text"]::placeholder,
        .subpage .contact table td input[type="tel"]::placeholder,
        .subpage .contact table td input[type="email"]::placeholder {
          color: #CCC; }
      .subpage .contact table td p {
        font-size: 80%;
        margin: 0; }
      .subpage .contact table td textarea {
        width: 100%;
        font-size: 1.3;
        padding: 5px;
        min-height: 150px; }
        .subpage .contact table td textarea::placeholder {
          color: #CCC; }
    @media (max-width: 679px) {
      .subpage .contact table {
        border-bottom: #CCC 1px solid; }
        .subpage .contact table th, .subpage .contact table td {
          display: block;
          width: 100%;
          padding: 3%;
          border-bottom: none; } }
  .subpage .contact .btn input {
    cursor: pointer; }
  .subpage iframe {
    max-width: 100%; }
    @media (max-width: 679px) {
      .subpage iframe {
        width: 100%; } }

.right-photo-box {
  max-width: 1520px;
  margin: 0 auto; }
  @media (max-width: 1520px) {
    .right-photo-box {
      padding: 0 20px; } }
  .right-photo-box .wrap {
    display: flex;
    flex-direction: row-reverse;
    margin-bottom: 3%; }
    .right-photo-box .wrap .photo {
      width: 30%; }
      .right-photo-box .wrap .photo img {
        width: 100%;
        height: auto; }
    .right-photo-box .wrap .txt {
      padding-right: 5%;
      width: 70%;
      font-size: clamp(12px, 2.3vw, 15px); }
      .right-photo-box .wrap .txt p {
        display: block;
        margin-bottom: 1.5em; }
      .right-photo-box .wrap .txt h3 {
        display: block;
        font-size: 150%;
        font-family: Helvetica, メイリオ, Arial, sans-serif;
        font-weight: bold;
        margin-bottom: 2em;
        color: #254400; }
    @media (max-width: 679px) {
      .right-photo-box .wrap {
        flex-wrap: wrap; }
        .right-photo-box .wrap .photo {
          width: 100%;
          margin-bottom: 20px; }
        .right-photo-box .wrap .txt {
          width: 100%;
          padding: 0; } }
  .right-photo-box.promise .wrap {
    background: url("../../images/promise/promise_bg01.jpg") repeat-x;
    background-position: bottom;
    padding: 0 20px 3em 20px; }
  .right-photo-box.house .wrap .photo {
    width: 20%; }
  .right-photo-box.house .wrap .txt {
    padding-right: 5%;
    width: 80%;
    font-size: clamp(12px, 2.23vw, 15px); }
    .right-photo-box.house .wrap .txt p {
      display: block;
      margin-bottom: 1.5em;
      padding: 0 15px;
      line-height: 1.2; }
    .right-photo-box.house .wrap .txt h3 {
      padding: 10px 20px;
      font-size: 18px;
      color: #4B4B4B;
      text-shadow: 2px 2px 0 #D9D9D9;
      border-top: 1px solid #666;
      border-bottom: 1px dotted #D0D0D0; }
  @media (max-width: 679px) {
    .right-photo-box.house .wrap {
      flex-wrap: wrap; }
      .right-photo-box.house .wrap .photo {
        width: 100%;
        text-align: center;
        margin-bottom: 20px; }
        .right-photo-box.house .wrap .photo img {
          max-width: 200px; }
      .right-photo-box.house .wrap .txt {
        width: 100%;
        padding: 0; } }
  .right-photo-box.house .wrap.no-img .txt {
    width: 100%; }

.houdse_top {
  display: block;
  background: url("../../images/promise/promise_bg01.jpg") repeat-x;
  background-position: bottom;
  padding: 0 20px 3em 20px;
  margin-bottom: 3%; }
  .houdse_top h3 {
    display: block;
    font-size: 180%;
    font-family: Helvetica, メイリオ, Arial, sans-serif;
    font-weight: bold;
    margin-bottom: 0.5em;
    color: #254400; }
  .houdse_top p {
    display: block;
    margin-bottom: 1.5em;
    font-size: clamp(12px, 2.3vw, 15px); }

.flow_gallery_cate {
  clear: both;
  width: 100%;
  margin: 30px 0 0 0;
  padding-bottom: 15px;
  background: #252525; }
  .flow_gallery_cate h4 {
    width: 100%;
    height: 38px;
    text-indent: -9999px;
    display: block;
    background: url(../../images/flow_gallery/title01.jpg) no-repeat top left; }
  .flow_gallery_cate ul {
    width: 100%;
    padding: 0 15px 0 15px;
    color: #FFF;
    font-size: 14px; }
    .flow_gallery_cate ul li {
      white-space: nowrap;
      display: inline-block;
      float: left;
      margin: 0 1px;
      padding: 0 10px 0 15px;
      font-weight: bold;
      background: url(../../images/flow_gallery_icon01.jpg) no-repeat left; }
      .flow_gallery_cate ul li a {
        color: #FFF;
        font-weight: normal; }

.comming_soon {
  display: block;
  border: #EEE 5px solid;
  padding: 4%;
  text-align: center; }
  .comming_soon p {
    color: #CCC;
    font-size: 1.8em;
    text-align: center;
    font-weight: bold; }

/* not found */
#notfound {
  display: block;
  width: 100%;
  padding: 10% 3%;
  text-align: center;
  background: #EFEFEF; }
  #notfound h2 {
    display: block;
    color: #999;
    font-size: 4em; }
    @media (max-width: 679px) {
      #notfound h2 {
        font-size: 2em; } }

/*送信完了*/
.mw_wp_form .otoiawase_confirmTxt {
  display: none; }
.mw_wp_form.mw_wp_form_confirm .otoiawase_box01,
.mw_wp_form.mw_wp_form_confirm tr.style_field5 {
  display: none; }
.mw_wp_form.mw_wp_form_confirm .otoiawase_confirmTxt {
  display: block;
  margin-bottom: 20px; }
.mw_wp_form .sent_msg {
  display: block;
  padding: 5% 3%;
  border: #CCC 2px dashed;
  border-radius: 15px;
  text-align: center; }
  .mw_wp_form .sent_msg strong {
    font-size: 1.2em; }

.soudan01 {
  max-width: 1520px;
  margin: 0 auto 5% auto; }
  @media (max-width: 1520px) {
    .soudan01 {
      padding-left: 10px;
      padding-right: 10px; } }
  .soudan01 .banner {
    max-width: 1520px;
    margin: 0 auto; }
    .soudan01 .banner a img {
      width: 100%;
      height: auto;
      transition: all linear 0.3s; }
    .soudan01 .banner a:hover img {
      opacity: 0.8; }

#top-main {
  display: block;
  position: relative; }
  #top-main .logoarea {
    /*
    h1{
    	display: block;
    	position: absolute;
    	top: 25px;
    	left: 25px;
    	@include sp{
    		top: 15px;
    		left: 15px;
    	}
    	z-index: 1;
    	line-height: 1;
    	color: #FFF;
    	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    	font-size: clamp(18px, 3vw, 30px);
    	font-weight:lighter;
    	img{
    		width:100%;
    		height: auto;
    		max-width: 420px;
    		@include sp{
    			max-width: 250px;
    		}
    	}
    }
    */ }
    #top-main .logoarea .logo {
      display: block;
      position: absolute;
      top: 25px;
      left: 25px;
      z-index: 1;
      filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.8)); }
      @media (max-width: 679px) {
        #top-main .logoarea .logo {
          top: 10px;
          left: 10px; } }
      #top-main .logoarea .logo a {
        display: block;
        width: fit-content;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        line-height: 1;
        text-decoration: none; }
        #top-main .logoarea .logo a em {
          display: block;
          color: #FFF;
          font-size: 12px;
          letter-spacing: -0.01em;
          margin-bottom: 6px;
          font-weight: 400;
          font-style: normal; }
          @media (max-width: 679px) {
            #top-main .logoarea .logo a em {
              font-size: 11px; } }
        #top-main .logoarea .logo a p {
          display: block;
          color: #FFF;
          font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-size: 12px;
          font-weight: bold;
          margin-bottom: 4px; }
        #top-main .logoarea .logo a h1 {
          display: flex;
          align-items: center;
          color: #FFF;
          font-size: 30px;
          border-top: #FFF 1px solid;
          padding-top: 4px;
          letter-spacing: -0.05em;
          font-weight: 400; }
          #top-main .logoarea .logo a h1 img {
            width: 50px;
            height: auto;
            margin-right: 5px; }
          @media (max-width: 679px) {
            #top-main .logoarea .logo a h1 {
              font-size: 25px; }
              #top-main .logoarea .logo a h1 img {
                width: 30px;
                margin-right: 0; } }
  #top-main .telarea {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    position: absolute;
    top: 25px;
    right: 25px;
    z-index: 1;
    color: #FFF; }
    #top-main .telarea i {
      font-weight: bold;
      color: #FFF;
      font-size: 30px;
      margin-right: 8px; }
    #top-main .telarea span {
      font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-size: 25px; }
    #top-main .telarea p {
      width: 100%;
      text-align: right; }
    #top-main .telarea u {
      width: 100%;
      text-decoration: none;
      font-size: 80%;
      text-align: right; }
    #top-main .telarea a {
      display: none; }
    @media (max-width: 480px) {
      #top-main .telarea {
        top: 15px;
        right: 10px; }
        #top-main .telarea i, #top-main .telarea span, #top-main .telarea p, #top-main .telarea u {
          display: none; }
        #top-main .telarea a {
          display: block;
          text-decoration: none; }
          #top-main .telarea a i {
            display: block;
            font-weight: bold;
            color: #FFF;
            font-size: 35px;
            margin-right: 8px; } }
  #top-main .main_index_full {
    display: block;
    width: 100%;
    height: 100%; }
    #top-main .main_index_full div {
      display: block;
      width: 100%;
      height: 100%;
      /*
      &.slide3{
      	background: url("../../images/index/slide3.jpg?v1") no-repeat;
      }
      &.slide4{
      	background: url("../../images/index/slide4.jpg") no-repeat;
      }
      &.slide5{
      	background: url("../../images/index/slide5.jpg") no-repeat;
      }
      */ }
      #top-main .main_index_full div.slide1 {
        background: url("../../images/index/slide4.jpg?v1") no-repeat; }
      #top-main .main_index_full div.slide2 {
        background: url("../../images/index/slide1.jpg?v1") no-repeat; }
      #top-main .main_index_full div.slide3 {
        background: url("../../images/index/slide3.jpg?v2") no-repeat; }
      #top-main .main_index_full div.slide1, #top-main .main_index_full div.slide2, #top-main .main_index_full div.slide3, #top-main .main_index_full div.slide4, #top-main .main_index_full div.slide5 {
        background-position: center center;
        background-size: cover; }
  #top-main #navi-top {
    display: block;
    width: 100%;
    z-index: 1;
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: small; }
    #top-main #navi-top ul.menu-top {
      display: flex;
      background: rgba(134, 43, 76, 0.8);
      width: 100%;
      max-width: 1520px;
      margin: 0 auto; }
      #top-main #navi-top ul.menu-top li {
        width: 12.5%;
        height: 50px; }
        #top-main #navi-top ul.menu-top li.narrow {
          width: 10.5%; }
        #top-main #navi-top ul.menu-top li.wide {
          width: 14.5%; }
        #top-main #navi-top ul.menu-top li a {
          display: flex;
          align-items: center;
          width: 100%;
          height: 100%;
          font-size: 120%;
          text-align: center;
          justify-content: center;
          color: #FFF;
          text-decoration: none;
          text-align: center; }
          #top-main #navi-top ul.menu-top li a:hover {
            color: rgba(255, 255, 255, 0.7); }
        #top-main #navi-top ul.menu-top li.menu__single {
          position: relative; }
          #top-main #navi-top ul.menu-top li.menu__single ul {
            display: none; }
        #top-main #navi-top ul.menu-top li.close {
          display: none; }
        #top-main #navi-top ul.menu-top li:hover.menu__single ul {
          display: block;
          width: calc(100% + 70px);
          position: absolute;
          bottom: 50px;
          left: -35px;
          background: rgba(134, 43, 76, 0.8);
          padding: 10px; }
          #top-main #navi-top ul.menu-top li:hover.menu__single ul li {
            width: 100%;
            height: auto;
            font-size: 100%;
            padding: 8px 0;
            border-bottom: rgba(255, 255, 255, 0.2) 1px solid; }
            #top-main #navi-top ul.menu-top li:hover.menu__single ul li a {
              display: block; }
  @media (max-width: 1024px) {
    #top-main #navi-top {
      display: block;
      width: 300px;
      height: 100%;
      z-index: 3;
      position: fixed;
      top: 0;
      right: -300px;
      background: rgba(134, 43, 76, 0.8);
      padding: 20px; }
      #top-main #navi-top ul.menu-top {
        display: block;
        background: none; }
        #top-main #navi-top ul.menu-top li {
          width: 100%;
          height: auto;
          margin-bottom: 15px; }
          #top-main #navi-top ul.menu-top li.narrow, #top-main #navi-top ul.menu-top li.wide {
            width: 100%; }
          #top-main #navi-top ul.menu-top li a {
            display: block;
            text-align: left; }
          #top-main #navi-top ul.menu-top li.menu__single {
            position: relative; }
            #top-main #navi-top ul.menu-top li.menu__single a {
              display: flex;
              justify-content: flex-start; }
              #top-main #navi-top ul.menu-top li.menu__single a:after {
                content: "+";
                color: #FFF;
                margin-left: 7px; }
            #top-main #navi-top ul.menu-top li.menu__single ul {
              display: none;
              position: relative;
              bottom: auto;
              left: auto;
              width: 100%;
              margin-left: 30px;
              padding: 10px 0 15px 0; }
              #top-main #navi-top ul.menu-top li.menu__single ul li {
                margin-bottom: 5px; }
                #top-main #navi-top ul.menu-top li.menu__single ul li a:after {
                  content: ""; }
            #top-main #navi-top ul.menu-top li.menu__single.active > a:after {
              content: "-"; }
          #top-main #navi-top ul.menu-top li:hover.menu__single ul {
            display: none;
            position: relative;
            bottom: auto;
            left: auto;
            width: 100%;
            background: none;
            padding: 10px 0 15px 0; }
            #top-main #navi-top ul.menu-top li:hover.menu__single ul li {
              border-bottom: none;
              margin-bottom: 7px;
              padding: 0; }
              #top-main #navi-top ul.menu-top li:hover.menu__single ul li a {
                padding: 0; } }

.sp-menu-show,
.sp-arrow-close {
  display: none; }

@media (max-width: 1024px) {
  .sp-menu-show {
    display: block;
    position: absolute;
    bottom: 15px;
    right: 15px;
    z-index: 4;
    /*
    i{
    	color: #FFF;
    	font-style: normal;
    	font-weight: bold;
    	font-size: 1.7em;
    }
    */ }
    .sp-menu-show img {
      width: 100px;
      height: auto; }

  .sp-arrow-close {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 4;
    /*
    i{
    	color: #FFF;
    	font-style: normal;
    	font-weight: bold;
    	font-size: 1.7em;
    }
    */ }
    .sp-arrow-close img {
      width: 100px;
      height: auto; }

  .overlay {
    display: none;
    background: rgba(0, 0, 0, 0.5);
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2; } }
.side-open {
  overflow: hidden; }
  .side-open .overlay {
    display: block; }
  .side-open .sp-menu-show {
    display: none; }
  .side-open .sp-arrow-close {
    display: block; }

#index {
  padding-top: 4%; }
  #index .box01 {
    display: block;
    max-width: 1200px;
    margin: 0 auto 5% auto; }
    #index .box01 .photo {
      display: block;
      width: 300px;
      margin: 0 auto 15px auto; }
      #index .box01 .photo img {
        width: 100%;
        height: auto; }
    #index .box01 .box {
      display: block;
      text-align: center; }
      #index .box01 .box p {
        font-size: 1.2rem;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        line-height: 1.8; }
    @media (max-width: 1200px) {
      #index .box01 {
        margin-left: 15px;
        margin-right: 15px; }
        #index .box01 .photo {
          width: 23vw; } }
    @media (max-width: 679px) {
      #index .box01 .photo {
        width: 200px; }
      #index .box01 .box p {
        font-size: clamp(16px, 3vw, 202px); } }
  #index .box02 {
    display: block;
    max-width: 1520px;
    margin: 0 auto 5% auto; }
    #index .box02 .photo {
      display: block;
      margin-bottom: 20px; }
      #index .box02 .photo img {
        width: 100%;
        height: auto; }
    #index .box02 .box {
      display: block;
      text-align: center; }
      @media (max-width: 1520px) {
        #index .box02 .box {
          padding-left: 15px;
          padding-right: 15px; } }
      #index .box02 .box p {
        font-size: 1.2rem;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        line-height: 1.8; }
        @media (max-width: 679px) {
          #index .box02 .box p {
            font-size: clamp(16px, 3vw, 22px);
            line-height: 1.6;
            text-align: left; } }
  #index .box03 {
    display: block;
    max-width: 1520px;
    margin: 0 auto 5% auto; }
    @media (max-width: 1520px) {
      #index .box03 {
        padding-left: 15px;
        padding-right: 15px; } }
    #index .box03 h3 {
      display: block;
      text-align: center;
      margin-bottom: 25px; }
      #index .box03 h3 img {
        width: 100%;
        height: auto;
        max-width: 350px; }
    #index .box03 ul li {
      display: flex;
      margin-bottom: 4%; }
      #index .box03 ul li .photo {
        width: 40%; }
        #index .box03 ul li .photo img {
          width: 100%;
          height: auto; }
      #index .box03 ul li .text {
        width: 60%;
        padding-left: 30px; }
        #index .box03 ul li .text .ttl {
          display: flex;
          align-items: center;
          background: linear-gradient(to left, #fff 0%, #b17088 40%, #b17088 100%);
          padding: 10px;
          margin-bottom: 1.5rem; }
          #index .box03 ul li .text .ttl .point {
            width: 80px;
            margin-right: 20px; }
            #index .box03 ul li .text .ttl .point img {
              width: 100%;
              height: auto; }
          #index .box03 ul li .text .ttl h4 {
            width: calc(100% - 100px);
            color: #FFF;
            font-weight: bold;
            font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
            font-size: clamp(15px, 4vw, 25px);
            line-height: 1.2; }
        #index .box03 ul li .text p {
          display: block;
          font-size: clamp(14px, 2vw, 18px);
          margin-left: 30px; }
      #index .box03 ul li.reverse {
        flex-direction: row-reverse; }
        #index .box03 ul li.reverse .text {
          padding-left: 0;
          padding-right: 30px; }
      @media (max-width: 679px) {
        #index .box03 ul li {
          flex-wrap: wrap;
          padding-left: 15px;
          padding-right: 15px; }
          #index .box03 ul li .photo {
            width: 100%; }
          #index .box03 ul li .text {
            width: 100%;
            padding: 0; }
            #index .box03 ul li .text p {
              margin-left: 0; } }
  #index .box04 {
    max-width: 1520px;
    margin: 0 auto 4% auto; }
    @media (max-width: 1520px) {
      #index .box04 {
        padding-left: 10px;
        padding-right: 10px; } }
    #index .box04 ul {
      display: flex;
      flex-wrap: wrap; }
      #index .box04 ul.center {
        justify-content: center; }
      #index .box04 ul li {
        width: 25%;
        padding: 2%; }
        #index .box04 ul li a img {
          width: 100%;
          height: auto;
          transition: all linear 0.3s; }
        #index .box04 ul li a:hover img {
          transform: scale(1.02, 1.02);
          box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.3); }
      @media (max-width: 679px) {
        #index .box04 ul li {
          width: 50%; } }
    #index .box04 p.center {
      display: block;
      text-align: center; }
  #index .box05 {
    max-width: 1520px;
    margin: 0 auto 4% auto; }
    #index .box05 img {
      width: 100%;
      height: auto; }
    #index .box05 p {
      font-size: 1.2rem;
      font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      line-height: 1.8;
      text-align: center;
      padding-top: clamp(15px, 3%, 40px); }
      @media (max-width: 679px) {
        #index .box05 p {
          font-size: clamp(16px, 3vw, 202px);
          padding: 0 15px;
          text-align: left; }
          #index .box05 p br.br-all {
            display: block; } }
  #index #index03 .center {
    display: block;
    text-align: center; }
    #index #index03 .center img {
      width: 250px;
      height: auto;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
      margin-bottom: 20px; }

#index01 {
  background: #EFE2E7;
  padding: 4% 15px;
  margin-bottom: 4%; }
  #index01 ul.max1000 {
    max-width: 1000px;
    margin: 0 auto; }
  #index01 ul li {
    display: flex;
    flex-wrap: wrap; }
    #index01 ul li span {
      width: 180px; }
    #index01 ul li b {
      width: calc(100% - 180px);
      display: block;
      font-size: 120%;
      font-weight: bold;
      color: #862B4C; }
    #index01 ul li p {
      width: 100%;
      padding-left: 140px; }
    @media (max-width: 679px) {
      #index01 ul li span {
        width: 100%;
        font-size: 80%; }
      #index01 ul li b {
        width: 100%; }
      #index01 ul li p {
        padding-left: 0; } }

.profile {
  display: block;
  max-width: 1000px;
  margin: 0 auto 6% auto; }
  .profile .wrap {
    display: flex;
    justify-content: center; }
    .profile .wrap .photo {
      width: 200px; }
      .profile .wrap .photo img {
        width: 100%;
        height: auto; }
    .profile .wrap .txt {
      padding-left: 30px; }
      .profile .wrap .txt strong {
        display: flex;
        font-weight: normal;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        font-size: 1.8rem;
        align-items: baseline;
        margin-bottom: 20px; }
        .profile .wrap .txt strong span {
          font-size: 12px;
          font-weight: normal;
          margin-left: 10px; }
      .profile .wrap .txt b {
        display: block;
        font-size: 1.2rem;
        margin-bottom: 15px; }
    @media (max-width: 679px) {
      .profile .wrap {
        flex-wrap: wrap;
        justify-content: center; }
        .profile .wrap .txt {
          width: 100%;
          padding-left: 0; }
          .profile .wrap .txt strong {
            display: block;
            text-align: center;
            line-height: 1.2; }
            .profile .wrap .txt strong span {
              display: block; }
          .profile .wrap .txt b {
            text-align: center;
            font-size: 1.2em; } }

.box_syuttyo {
  display: block;
  max-width: 1520px;
  margin: 0 auto 4% auto;
  background: linear-gradient(#fcf0f5 0%, #fff 100%);
  padding: 20px; }
  @media (max-width: 679px) {
    .box_syuttyo {
      padding: 10px; } }
  .box_syuttyo .box {
    display: block;
    background: url("../../images/index/bg_syuttyou.png") no-repeat;
    background-size: 100%;
    background-position: top;
    text-align: center;
    padding-top: clamp(30px, 10vw, 80px); }
    .box_syuttyo .box:after {
      display: block;
      content: "";
      width: 100%;
      height: clamp(30px, 10vw, 80px);
      background: url("../../images/index/bg_syuttyou2.png") no-repeat;
      background-size: 100%;
      background-position: bottom; }
    @media (max-width: 679px) {
      .box_syuttyo .box {
        background: url("../../images/index/bg_syuttyou_sp.png") no-repeat;
        background-size: 100%;
        background-position: top; }
        .box_syuttyo .box:after {
          background: url("../../images/index/bg_syuttyou_sp2.png") no-repeat;
          background-size: 100%;
          background-position: bottom; } }
    .box_syuttyo .box .image {
      display: block;
      width: clamp(180px, 20vw, 350px);
      margin: 0 auto 15px auto; }
      .box_syuttyo .box .image img {
        width: 100%;
        height: auto; }
    .box_syuttyo .box strong {
      display: block;
      font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      color: #7E334E;
      font-size: clamp(16px, 2vw, 25px);
      line-height: 2;
      padding: 0 1rem 1rem 1rem;
      text-shadow: 0px 0px 5px white, 0px 0px 5px white, 0px 0px 5px white; }
      @media (max-width: 679px) {
        .box_syuttyo .box strong {
          line-height: 1.6;
          margin-bottom: 0.5rem; } }
    .box_syuttyo .box p {
      display: block;
      margin-bottom: 1.5rem;
      font-size: clamp(11px, 1.2vw, 15px); }
    .box_syuttyo .box .btn {
      display: block; }
      .box_syuttyo .box .btn a {
        display: block;
        background: linear-gradient(#b88e9d 0%, #803651 72.41%, #7e334e 100%);
        border: 2px solid #fff;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
        width: fit-content;
        color: #FFF;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        font-size: clamp(13px, 1.8vw, 23px);
        text-decoration: none;
        padding: 1%;
        text-align: center;
        width: 80%;
        max-width: 450px;
        border-radius: 50px;
        transition: all linear 0.3s;
        margin: auto; }
        .box_syuttyo .box .btn a:hover {
          opacity: 0.8; }
      @media (max-width: 679px) {
        .box_syuttyo .box .btn {
          margin: 0; }
          .box_syuttyo .box .btn a {
            padding: 8px;
            margin: auto; } }

.title_01 {
  display: block;
  font-size: clamp(25px, 3.37vw, 35px);
  color: #7E334E;
  font-weight: normal;
  letter-spacing: 0.2em;
  margin-bottom: 4%;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-weight: bold; }
  .title_01.center {
    text-align: center; }
  .title_01:before {
    display: block;
    background: url(../../images/index/line1.png) no-repeat;
    background-size: 100%;
    width: 250px;
    height: 22px;
    margin: 0 auto;
    content: ""; }

#syuttyou {
  font-size: clamp(14px, 2.2vw, 17px);
  /*料金プラン（横浜から移行）*/ }
  #syuttyou img {
    width: 100%;
    height: auto; }
  #syuttyou .max1520 {
    display: block;
    max-width: 1520px;
    margin: 0 auto 5% auto; }
    @media (max-width: 1520px) {
      #syuttyou .max1520 {
        margin-left: 15px;
        margin-right: 15px; } }
  #syuttyou .mainvisual {
    display: block;
    background: url("../../images/syuttyou/mainvisual.png") no-repeat;
    background-size: cover;
    background-position: bottom center;
    padding: clamp(15px, 3%, 30px);
    height: 100vh; }
    @media (max-width: 679px) {
      #syuttyou .mainvisual {
        background: url("../../images/syuttyou/mainvisual_sp.png") no-repeat;
        background-size: cover;
        background-position: bottom center;
        height: 55vh; } }
    #syuttyou .mainvisual .logo img {
      max-width: 300px; }
    #syuttyou .mainvisual .text {
      display: block;
      width: fit-content;
      padding-top: clamp(50px, 4%, 800px);
      margin-left: auto;
      margin-right: auto;
      writing-mode: vertical-rl;
      color: #FFF; }
      #syuttyou .mainvisual .text h2 {
        display: block;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        font-size: clamp(28px, 5vw, 45px);
        letter-spacing: 1rem;
        font-weight: normal;
        margin-left: 1rem; }
      #syuttyou .mainvisual .text p {
        display: block;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        font-size: clamp(15px, 3vw, 22px);
        letter-spacing: 1rem; }
      @media (max-width: 679px) {
        #syuttyou .mainvisual .text {
          width: 70%;
          writing-mode: horizontal-tb;
          background: rgba(255, 255, 255, 0.7);
          margin: 30px 20% 0 15%;
          color: #000;
          text-align: center;
          padding: 4%; }
          #syuttyou .mainvisual .text h2 {
            margin-bottom: 1rem;
            letter-spacing: 0.7rem; }
          #syuttyou .mainvisual .text p {
            letter-spacing: 0;
            text-shadow: 0px 0px 5px white, 0px 0px 5px white, 0px 0px 3px white, 0px 0px 5px white; } }
      @media (max-width: 420px) {
        #syuttyou .mainvisual .text {
          width: calc(100% - 100px);
          margin: 20px 50px 0 50px; } }
  #syuttyou .area01 {
    display: block;
    max-width: 1520px;
    margin: -7% auto 5% auto;
    z-index: 1;
    background: #FFF;
    padding: 30px; }
    @media (max-width: 1520px) {
      #syuttyou .area01 {
        background: none; } }
    @media (max-width: 679px) {
      #syuttyou .area01 {
        margin-top: -15%;
        padding: 0 10px; } }
    #syuttyou .area01 ul {
      display: flex; }
      #syuttyou .area01 ul li {
        width: calc(33.3% - 20px);
        margin: 0 10px;
        background: #FFF;
        border: #7E334E 2px solid;
        padding: 3px; }
        #syuttyou .area01 ul li .wrap {
          display: block;
          border: #7E334E 1px solid;
          padding: 5%;
          text-align: center; }
          #syuttyou .area01 ul li .wrap .icon img {
            max-width: clamp(50px, 8vw, 70px); }
          #syuttyou .area01 ul li .wrap strong {
            font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
            font-size: clamp(13px, 3.5vw, 28px);
            color: #7E334E;
            line-height: 1.4; }
        @media (max-width: 679px) {
          #syuttyou .area01 ul li {
            width: calc(33.3% - 10px);
            margin: 0 5px;
            padding: 2px; }
            #syuttyou .area01 ul li .wrap {
              padding: 3%; } }
  #syuttyou .area02 p {
    display: block;
    text-align: center;
    line-height: 2;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
  #syuttyou .area03 {
    display: block;
    max-width: 1520px;
    margin: 0 auto 4% auto;
    background: linear-gradient(#fcf0f5 0%, #fff 100%);
    padding: 20px; }
    @media (max-width: 679px) {
      #syuttyou .area03 {
        padding: 7px; } }
    #syuttyou .area03 .waku {
      display: block;
      background: url("../../images/index/bg_syuttyou.png") no-repeat;
      background-size: 100%;
      background-position: top;
      text-align: center;
      padding-top: clamp(20px, 10vw, 80px); }
      #syuttyou .area03 .waku:after {
        display: block;
        content: "";
        width: 100%;
        height: clamp(30px, 10vw, 80px);
        background: url("../../images/index/bg_syuttyou2.png") no-repeat;
        background-size: 100%;
        background-position: bottom; }
      @media (max-width: 679px) {
        #syuttyou .area03 .waku {
          background: url("../../images/index/bg_syuttyou_sp.png") no-repeat;
          background-size: 100%;
          background-position: top; }
          #syuttyou .area03 .waku:after {
            background: url("../../images/index/bg_syuttyou_sp2.png") no-repeat;
            background-size: 100%;
            background-position: bottom; } }
    #syuttyou .area03 p {
      font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
    #syuttyou .area03 .free {
      display: flex;
      justify-content: center;
      align-items: center;
      max-width: 800px;
      margin: 3% auto; }
      #syuttyou .area03 .free .icon {
        width: 100px;
        margin-right: 20px;
        font-size: 0; }
        @media (max-width: 679px) {
          #syuttyou .area03 .free .icon {
            width: 60px;
            margin-right: 10px; } }
      #syuttyou .area03 .free em {
        font-style: normal; }
        #syuttyou .area03 .free em a {
          color: #7E334E;
          font-size: clamp(22px, 5vw, 50px);
          font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
          font-weight: bold;
          text-decoration: none; }
    #syuttyou .area03 .btns {
      display: flex;
      max-width: 800px;
      margin: 0 auto; }
      #syuttyou .area03 .btns li {
        width: 50%;
        padding: 0 15px; }
        #syuttyou .area03 .btns li a img {
          transition: all linear 0.3s; }
        #syuttyou .area03 .btns li a:hover img {
          opacity: 0.8; }
      @media (max-width: 679px) {
        #syuttyou .area03 .btns {
          flex-wrap: wrap; }
          #syuttyou .area03 .btns li {
            width: 100%; }
            #syuttyou .area03 .btns li img {
              max-width: 250px; } }
  #syuttyou .area04 {
    max-width: 1520px;
    margin: 0 auto 5% auto; }
    #syuttyou .area04 ul {
      display: flex;
      flex-wrap: wrap;
      padding: 3% 0 0 3%; }
      #syuttyou .area04 ul li {
        width: 25%;
        padding-right: 3%;
        margin-bottom: 20px; }
        #syuttyou .area04 ul li:nth-of-type(-n + 3), #syuttyou .area04 ul li:nth-of-type(5), #syuttyou .area04 ul li:nth-of-type(6) {
          background: url("../../images/syuttyou/arrow.png") no-repeat;
          background-size: clamp(12px, 1.2vw, 16px);
          background-position: top 40% right 4%; }
        #syuttyou .area04 ul li p {
          display: block;
          text-align: center;
          font-size: 80%;
          line-height: 1.4; }
      @media (max-width: 679px) {
        #syuttyou .area04 ul {
          padding: 3% 0 0 8%; }
          #syuttyou .area04 ul li {
            width: 50%;
            padding-right: 8%; }
            #syuttyou .area04 ul li:nth-of-type(odd) {
              background: url("../../images/syuttyou/arrow.png") no-repeat;
              background-size: clamp(8px, 1.2vw, 16px);
              background-position: top 35% right 4%; }
            #syuttyou .area04 ul li:nth-of-type(even), #syuttyou .area04 ul li:last-of-type {
              background: none; } }
  #syuttyou .area05 h4 {
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    color: #7E334E;
    font-size: clamp(22px, 3.5vw, 30px);
    margin-bottom: clamp(10px, 4%, 30px);
    text-align: center;
    line-height: 1.4; }
    #syuttyou .area05 h4:before {
      width: 100px;
      background: url("../../images/syuttyou/line1_l.png") no-repeat;
      background-size: 100px;
      background-position: center right;
      content: "";
      margin-right: 15px;
      height: 20px; }
      @media (max-width: 679px) {
        #syuttyou .area05 h4:before {
          width: 50px;
          background-size: 50px;
          margin-right: 5px; } }
    #syuttyou .area05 h4:after {
      width: 100px;
      background: url("../../images/syuttyou/line1_r.png") no-repeat;
      background-size: 100px;
      background-position: center left;
      content: "";
      margin-left: 15px;
      height: 20px; }
      @media (max-width: 679px) {
        #syuttyou .area05 h4:after {
          width: 50px;
          background-size: 50px;
          margin-left: 5px; } }
  #syuttyou .area05 .bnr {
    display: block;
    padding: clamp(20px, 8%, 130px) 15px;
    border: #EEE 1px solid; }
    #syuttyou .area05 .bnr.mb {
      margin-bottom: clamp(30px, 6%, 80px); }
    #syuttyou .area05 .bnr.bnr01 {
      background: url("../../images/syuttyou/bnr01.png") no-repeat;
      background-size: cover;
      background-position: center center; }
    #syuttyou .area05 .bnr.bnr02 {
      background: url("../../images/syuttyou/bnr02.png") no-repeat;
      background-size: cover;
      background-position: center center; }
    #syuttyou .area05 .bnr strong {
      display: block;
      font-size: clamp(12px, 2.8vw, 22px);
      font-weight: normal;
      font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      text-align: center;
      text-shadow: 0px 0px 3px white, 0px 0px 3px white, 0px 0px 3px white, 0px 0px 3px white; }
  #syuttyou .area06 {
    background: rgba(126, 51, 78, 0.1);
    padding: 4% 15px;
    margin-bottom: -10px; }
    #syuttyou .area06 ul {
      max-width: 1520px;
      margin: auto;
      display: flex; }
      #syuttyou .area06 ul li {
        width: 50%;
        padding: 0 15px; }
      @media (max-width: 679px) {
        #syuttyou .area06 ul {
          flex-wrap: wrap; }
          #syuttyou .area06 ul li {
            width: 100%; }
            #syuttyou .area06 ul li:not(last-of-type) {
              margin-bottom: 5%; } }
    #syuttyou .area06 .box01 {
      display: block;
      border: 2mm ridge rgba(126, 51, 78, 0.6);
      padding: 3%;
      background: rgba(126, 51, 78, 0.1);
      margin: 0 25px clamp(15px, 4%, 30px) 25px; }
      @media (max-width: 679px) {
        #syuttyou .area06 .box01 {
          margin-left: 10px;
          margin-right: 10px; } }
      #syuttyou .area06 .box01 .ttl {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 1.5rem; }
        #syuttyou .area06 .box01 .ttl em {
          font-size: clamp(22px, 2.5vw, 28px);
          color: #7E334E;
          font-style: normal; }
        #syuttyou .area06 .box01 .ttl b {
          background: #7E334E;
          color: #FFF;
          padding: 5px 15px;
          border-radius: 20px;
          font-size: clamp(14px, 1.8vw, 20px); }
      #syuttyou .area06 .box01 ul {
        display: flex;
        flex-wrap: wrap; }
        #syuttyou .area06 .box01 ul li {
          width: fit-content;
          display: flex;
          align-items: center;
          margin: 5px; }
          #syuttyou .area06 .box01 ul li span {
            background: #7E334E;
            width: 30px;
            height: 30px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 15px;
            margin-right: 10px;
            letter-spacing: 0;
            font-size: 20px;
            line-height: 1;
            color: #FFF; }
            @media (max-width: 679px) {
              #syuttyou .area06 .box01 ul li span {
                width: 20px;
                height: 20px;
                border-radius: 10px;
                font-size: 14px;
                margin-right: 5px; } }
          #syuttyou .area06 .box01 ul li b {
            font-size: clamp(17px, 1.8vw, 20px);
            color: #7E334E; }
    #syuttyou .area06 .box02 {
      padding: 0 15px; }
      @media (max-width: 679px) {
        #syuttyou .area06 .box02 {
          padding: 0 10px; } }
      #syuttyou .area06 .box02 table {
        border-collapse: collapse;
        background: #FFF;
        width: 100%;
        margin-bottom: 0.7rem; }
        #syuttyou .area06 .box02 table th {
          border: #7E334E 1px solid;
          padding: 15px;
          font-size: clamp(14px, 2.2vw, 17px); }
        #syuttyou .area06 .box02 table td {
          border: #7E334E 1px solid;
          padding: 15px;
          font-size: clamp(14px, 2.2vw, 17px);
          text-align: right; }
        #syuttyou .area06 .box02 table thead th {
          background: rgba(126, 51, 78, 0.2);
          text-align: center;
          color: #7E334E;
          font-size: clamp(14px, 1.8vw, 17px); }
      #syuttyou .area06 .box02 ul {
        display: block; }
        #syuttyou .area06 .box02 ul li {
          display: block;
          width: 100%;
          font-size: 11px;
          margin: 0 0 0.3rem 0;
          padding: 0; }
          #syuttyou .area06 .box02 ul li:before {
            content: "※"; }
  #syuttyou .plan {
    max-width: 1520px;
    margin: 0 auto; }
    @media (max-width: 1520px) {
      #syuttyou .plan {
        padding-left: 15px;
        padding-right: 15px; } }
    #syuttyou .plan .catch1 {
      display: block;
      text-align: center;
      font-size: clamp(18px, 2.2vw, 25px);
      color: #7E334E;
      margin-bottom: clamp(20px, 1.5vw, 30px); }
    #syuttyou .plan .box01 {
      display: block;
      border: 2mm ridge rgba(126, 51, 78, 0.6);
      padding: 3%;
      background: rgba(126, 51, 78, 0.1);
      margin-bottom: clamp(30px, 5%, 60px); }
      #syuttyou .plan .box01 .ttl {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 1.5rem; }
        #syuttyou .plan .box01 .ttl em {
          font-size: clamp(22px, 2.5vw, 28px);
          color: #7E334E;
          font-style: normal; }
        #syuttyou .plan .box01 .ttl b {
          background: #7E334E;
          color: #FFF;
          padding: 5px 15px;
          border-radius: 20px;
          font-size: clamp(14px, 1.8vw, 20px); }
      #syuttyou .plan .box01 ul {
        display: flex;
        flex-wrap: wrap; }
        #syuttyou .plan .box01 ul li {
          width: fit-content;
          display: flex;
          align-items: center;
          margin: 5px; }
          #syuttyou .plan .box01 ul li span {
            background: #7E334E;
            width: 30px;
            height: 30px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 15px;
            margin-right: 10px;
            letter-spacing: 0;
            font-size: 20px;
            line-height: 1;
            color: #FFF; }
            @media (max-width: 679px) {
              #syuttyou .plan .box01 ul li span {
                width: 20px;
                height: 20px;
                border-radius: 10px;
                font-size: 14px;
                margin-right: 5px; } }
          #syuttyou .plan .box01 ul li b {
            font-size: clamp(17px, 1.8vw, 20px);
            color: #7E334E; }
    #syuttyou .plan .box02 {
      margin-bottom: clamp(30px, 5%, 100px); }
      #syuttyou .plan .box02 table {
        border-collapse: collapse;
        width: 100%;
        margin-bottom: 0.7rem; }
        #syuttyou .plan .box02 table th {
          border: #7E334E 1px solid;
          padding: 15px;
          font-size: clamp(14px, 2.2vw, 17px); }
        #syuttyou .plan .box02 table td {
          border: #7E334E 1px solid;
          padding: 15px;
          font-size: clamp(14px, 2.2vw, 17px);
          text-align: right; }
        #syuttyou .plan .box02 table thead th {
          background: rgba(126, 51, 78, 0.1);
          text-align: center;
          color: #7E334E;
          font-size: clamp(14px, 1.8vw, 17px); }
      #syuttyou .plan .box02 ul li {
        display: flex;
        font-size: clamp(11px, 2.2vw, 17px);
        margin-bottom: 0.5rem; }
        #syuttyou .plan .box02 ul li:before {
          content: "※"; }
    #syuttyou .plan .box03 {
      display: block;
      max-width: 1520px;
      margin: 0 auto 4% auto;
      background: linear-gradient(#fcf0f5 0%, #fff 100%);
      padding: 20px; }
      @media (max-width: 679px) {
        #syuttyou .plan .box03 {
          padding: 10px; } }
      #syuttyou .plan .box03 .box {
        display: block;
        background: url("../../images/index/bg_syuttyou.png") no-repeat;
        background-size: 100%;
        background-position: top;
        text-align: center;
        padding-top: clamp(30px, 10vw, 80px); }
        #syuttyou .plan .box03 .box:after {
          display: block;
          content: "";
          width: 100%;
          height: clamp(30px, 10vw, 80px);
          background: url("../../images/index/bg_syuttyou2.png") no-repeat;
          background-size: 100%;
          background-position: bottom; }
        @media (max-width: 679px) {
          #syuttyou .plan .box03 .box {
            background: url("../../images/index/bg_syuttyou_sp.png") no-repeat;
            background-size: 100%;
            background-position: top; }
            #syuttyou .plan .box03 .box:after {
              background: url("../../images/index/bg_syuttyou_sp2.png") no-repeat;
              background-size: 100%;
              background-position: bottom; } }
        #syuttyou .plan .box03 .box b {
          font-size: clamp(20px, 1.2vw, 23px);
          font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
          color: #7E334E;
          font-weight: bold;
          margin-bottom: 15px;
          padding: 0 15px;
          display: block;
          line-height: 1.4; }
        #syuttyou .plan .box03 .box p {
          margin-bottom: 0;
          padding: 0 15px; }
