@charset "utf-8";

html,
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
p {
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", "Sawarabi", serif;
    font-weight: normal;
}

.h100 {
    height: 100%;
}

.pem1 {
    padding: 1em;
}


.headlabel {
    position: absolute;
    top: 0;
    text-align: right;
    line-height: 0;
}

.headlabel span {
    display: inline-block;
    width: 40%;
    margin-left: auto;
    height: 8px;
    background: -webkit-gradient(linear, left top, right top, from(#ea7b9e), color-stop(60%, #ea7b9e), color-stop(60%, #c59e55), to(#c59e55));
    background: linear-gradient(90deg, #ea7b9e 0%, #ea7b9e 60%, #c59e55 60%, #c59e55 100%);
}

.ol.b li:before {
    color: #3399cc;
    font-size: 75%;
}

.ol.g li:before {
    color: #ea7b9e;
    font-size: 75%;
}

.fcLB {
    color: #b18b43;
}

.gray {
    color: #787676;
}

.tel.tel01 a {
    display: inline-block;
}

.tel.tel01 {
    position: relative;
    padding-left: 1em;
    display: block;
}

.tel.tel01:before {
    content: "\f879";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    left: 0;
    font-weight: bold;
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
    -webkit-transform-origin: left center;
    transform-origin: left center;
}


.tit01 .en {
    position: relative;
    display: inline-block;
}

.tit01 .en:before {
    content: "";
    display: block;
    width: 200px;
    height: 1px;
    margin: 0.5em auto 0.75em;
    border-bottom: 1px solid #27110a;
}

/* 共通セクション余白 */
.section-my {
    margin: 80px 0;
}

.section-my-large {
    margin: 120px 0;
}

.section-py {
    padding: 80px 0;
}

.section-py-small {
    padding: 50px 0;
}

@media only screen and (max-width:599px) {
    .section-my {
        margin: 40px 0;
    }
    
    .map::after {
      padding-top: 70%;
    }
}

/* 共通見出し */

.cmn-heading {
    font-size: 30px;
    letter-spacing: 1px;
}

.cmn-heading .jp {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
    display: block;
    font-size: 24px;
    padding-bottom: 10px;
    background: url('/upload/tenant_1/7164f727468a590d9c25b839e5bd399e.png');
  background-repeat: no-repeat;
  background-size: 200px;
  background-position: center bottom;
  text-align: center;
}

[data-element-id].cmn-heading {
  position: relative;
  z-index: 1;
}
.recommend .cmn-heading {
  color: #fff;
  text-shadow: 0px 0px 8px rgb(0 0 0 / 90%);
}

.blogsinglebox .single h2 {
  width: 80%;
    display: block;
    font-size: 24px;
    padding-bottom: 10px;
    background: url('/upload/tenant_1/7164f727468a590d9c25b839e5bd399e.png');
  background-repeat: no-repeat;
  background-size: 200px;
  background-position: center bottom;
  text-align: center;
  margin: 20px auto;
}
.blogsinglebox .single h4 {
  padding-bottom: 10px;
    line-height: 150%;
    font-size: 22px;
    border-bottom: 1px solid #1b1b1b;
    margin: 20px 0;
}

.blogsinglebox .single h3 {
  position: relative;
    padding-bottom: 10px;
    font-size: 20px;
    margin: 20px 0;
}

.blogsinglebox .single h3::after {
    display: block;
    width: 100%;
    height: 4px;
    content: "";
    background: -webkit-gradient(linear, left top, right top, from(#c59e55), color-stop(30%, #c59e55), color-stop(30%, #dcdcdc), to(#dcdcdc));
    background: linear-gradient(90deg, #c59e55 0%, #c59e55 30%, #dcdcdc 30%, #dcdcdc 100%);
}
.cmn-heading02 {
    margin-bottom: 40px;
    text-shadow: 1px 1px 1px #fff;
    font-size: 24px;
    font-weight: bold;
}

.cmn-heading03 {
    display: inline-block;
    margin-bottom: 30px;
    padding-bottom: 10px;
    line-height: 150%;
    font-weight: bold;
    font-size: 22px;
    border-bottom: 1px solid #1b1b1b;
}

.cmn-heading04 {
    position: relative;
    font-size: 20px;
}

.cmn-heading04>* {
    display: inline-block;
    padding-bottom: 0.5em;
}

.cmn-heading04::after {
    display: block;
    width: 100%;
    height: 4px;
    content: "";
    background: -webkit-gradient(linear, left top, right top, from(#c59e55), color-stop(30%, #c59e55), color-stop(30%, #dcdcdc), to(#dcdcdc));
    background: linear-gradient(90deg, #c59e55 0%, #c59e55 30%, #dcdcdc 30%, #dcdcdc 100%);
}

/* 見出しの余白 */

.h-mb {
    margin-bottom: 40px;
}

.h-tac {
    text-align: center;
}

.h-tar {
    text-align: right;
}

.h-tal {
    text-align: left;
}

.tar {
    text-align: right;
}

@media only screen and (max-width:1024px) {
    .cmn-heading .jp {
        font-size: 22px;
    }

    .cmn-heading .en {
        font-size: 18px;
    }
    .blogsinglebox .single h2 {
      font-size: 22px;
    }
    .blogsinglebox .single h3 {
      font-size: 20px;
    }
    .blogsinglebox .single h4 {
      font-size: 18px;
    }
}

@media only screen and (max-width:599px) {
    .cmn-heading {
        letter-spacing: 0;
    }

    .cmn-heading .jp {
        font-size: 20px;
        width: 90%;
    }

    .cmn-heading .en {
        font-size: 16px;
    }
    .blogsinglebox .single h2 {
      font-size: 20px;
    }
    .blogsinglebox .single h3 {
      font-size: 18px;
    }
    .blogsinglebox .single h4 {
      font-size: 16px;
    }
}

.more01 .btn,
.more02 .btn,
.more02 .btn {
    border-radius: 8px;
}

.more01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
     color: #fff;
}

.more01>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px;
    width: 230px;
    max-width: 100%;
    background: #c59e55;
   
    border-radius: 8px;
    border: 1px solid #c59e55;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
}

.btn.line {
    position: relative;
}

.btn.line::after {
    content: '';
    display: block;
    width: 50%;
    height: 1px;
    background-color: #fff;
}

.more01 .arrow {
    padding: 0 0 0 2em;
    position: relative;
}

.more01 .arrow:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "→";
    width: 1.25em;
    height: 1.25em;
    line-height: 1.25em;
    background-color: #23b0c0;
    color: #fff;
    border-radius: 50%;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
}

.more01 .btn:hover .arrow:before {
    background-color: #fff;
    color: #23b0c0;
}


.more02>* {
    display: inline-block;
    max-width: 100%;
    opacity: 1;
}

.more02.b .btn {
    color: #fff;
    background: #c59e55;
}

.more02.b .btn:hover {
    color: #c59e55;
}

.more02.g .btn {
    color: #fff;
    background: #ea7b9e;
}

.more02.g .btn:hover {
    color: #ea7b9e;
}

.more02.gr .btn {
    color: #fff;
    background: #ea7b9e;
}

.more02.gr .btn:hover {
    color: #ea7b9e;
}

.more02.t .btn {
    color: #fff;
    border: 1px solid;
}

.more02 .btn {
    display: inline-block;
    padding: 0.25em 1em;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
    border: 1px solid transparent;
}

.more02 .btn:hover {
    background: none;
    border: 1px solid;
}

.more03>* {
    display: inline-block;
    max-width: 100%;
    opacity: 1;
}

.more03 .arrow {
    padding: 0 0 0 1.5em;
    position: relative;
    display: inline-block;
}

.more03 .arrow:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "\f138";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
    font-size: 125%;
}

.more03 .btn {
    padding: 1em;
    width: 420px;
    max-width: 100%;
    display: inline-block;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
    border-radius: 8px;
}

.more03.g .btn {
    background: #c59e55;
    color: #fff;
}

.more03.g .arrow:before {
    color: #fff;
}


.more04>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.5em;
    width: 230px;
    max-width: 100%;
    background: #c59e55;
    color: #fff;
    border-radius: 8px;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
}

.btn-mt {
    margin-top: 40px;
}

.btn-right {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.btn-left {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.btn-w-full>* {
    width: 100% !important;
}

@media only screen and (max-width:599px) {
    .btn-center\@sp {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .btn-left\@sp {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .btn-left\@sp {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    .more03 .arrow:before {
      font-size: 95%;
    }
}

.back01>* {
    display: inline-block;
}

.back01>*:before {
    display: block;
    content: url(#);
    margin-bottom: 0.25em;
}

.back02>* {
    display: inline-block;
    max-width: 100%;
    opacity: 1;
}

.back02.b .btn {
    color: #fff;
    background: #c59e55;
    width: 200px;
    max-width: 100%;
    display: inline-block;
    padding: 0.5em;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
    border: 1px solid transparent;
}

.back02.b .btn:hover {
    color: #c59e55;
}

.back02 .btn:hover {
    background: none;
    border: 1px solid;
}

.bg01 {
    background: #ddcfb6;
    position: relative;
    z-index: 0;
}

.bg01:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 40%;
    z-index: -1;
    background: -webkit-gradient(linear, right top, left bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, rgba(255, 255, 255, 0.6))) no-repeat top left/100% 100%;
    background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.6) 50.5%) no-repeat top left/100% 100%;
}

.bbLB {
    position: relative;
}

.bbLB:after {
    display: block;
    width: 100%;
    height: 4px;
    margin: 1em 0;
    content: "";
    background: -webkit-gradient(linear, left top, right top, from(#c59e55), color-stop(30%, #c59e55), color-stop(30%, #dcdcdc), to(#dcdcdc));
    background: linear-gradient(90deg, #c59e55 0%, #c59e55 30%, #dcdcdc 30%, #dcdcdc 100%);
}

.bbLB.mh:after {
    margin: 0.5em 0;
}

.bbLB1 {
    position: relative;
}

.bbLB1:after {
    display: block;
    width: 100%;
    height: 1px;
    margin: 1em 0;
    content: "";
    background: -webkit-gradient(linear, left top, right top, from(#c59e55), color-stop(30%, #c59e55), color-stop(30%, #dcdcdc), to(#dcdcdc));
    background: linear-gradient(90deg, #c59e55 0%, #c59e55 30%, #dcdcdc 30%, #dcdcdc 100%);
}

.bbLB1.mh:after {
    margin: 0.5em 0;
}

.bbLG {
    position: relative;
}

.bbLG:after {
    display: block;
    width: 100%;
    height: 4px;
    margin: 1em 0;
    content: "";
    background: -webkit-gradient(linear, left top, right top, from(#ea7b9e), color-stop(30%, #ea7b9e), color-stop(30%, #dcdcdc), to(#dcdcdc));
    background: linear-gradient(90deg, #ea7b9e 0%, #ea7b9e 30%, #dcdcdc 30%, #dcdcdc 100%);
}

.bbLG.mh:after {
    margin: 0.5em 0;
}

.bbLG1 {
    position: relative;
}

.bbLG1:after {
    display: block;
    width: 100%;
    height: 1px;
    margin: 1em 0;
    content: "";
    background: -webkit-gradient(linear, left top, right top, from(#ea7b9e), color-stop(30%, #ea7b9e), color-stop(30%, #dcdcdc), to(#dcdcdc));
    background: linear-gradient(90deg, #ea7b9e 0%, #ea7b9e 30%, #dcdcdc 30%, #dcdcdc 100%);
}

.bbLG1.mh:after {
    margin: 0.5em 0;
}

.bb1 {
    display: inline-block;
}

.bb1:after {
    content: "";
    width: 140px;
    height: 1px;
    border-bottom: 1px solid;
    display: block;
    margin: 0.5em auto;
}

.bb1.l:after {
    margin: 0.5em 0;
}

.bb2 {
    display: inline-block;
}

.bb2:after {
    content: "";
    width: 190px;
    height: 2px;
    border-bottom: 2px solid;
    display: block;
    margin: 0.5em auto;
}

.bb1box {
    padding: 2em 3em;
    border: 1px solid;
    border-radius: 10px;
}

.bb1box.bf {
    border-color: #bfbfbf;
}

.markLB {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, rgba(255, 255, 255, 0)), color-stop(60%, rgba(177, 139, 67, 0.4)));
    background: linear-gradient(rgba(255, 255, 255, 0) 60%, rgba(177, 139, 67, 0.4) 60%);
}

.checklist.g li {
    padding: 0.5em 0;
    padding-left: 50px;
    background-image: url(/import/tenant_1/160.16.152.60/html/images/check01.png);
    background-position: left top 0.25em;
    background-size: 35px;
    background-repeat: no-repeat;
    margin: 1em;
}

.reservebnr01 a {
    padding: 1.5em 3em;
    background: #c59e55;
    display: inline-block;
    width: 760px;
    max-width: 100%;
}

.reservebnr01 * {
    color: #fff;
}

.reservebnr01 dt {
    width: 10em;
    margin-right: 1em;
    border-right: 2px solid;
    font-size: 18px;
}

.reservebnr01 dt span {
    display: inline-block;
    padding-right: 2em;
    position: relative;
}

.reservebnr01 dt span:after {
    position: absolute;
    top: 0;
    right: 0;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    width: 1em;
    height: 1em;
    line-height: 1em;
    text-align: center;
    border: 1px solid;
    border-radius: 50%;
    letter-spacing: -2px;
    font-size: 150%;
}

.reservebnr01 dd {
    width: calc(100% - 13em);
}

@media only screen and (max-width:1024px) {
    .more03 .btn {
        padding: 0.75em;
    }

    .bb1:after {
        width: 105px;
    }

    .bb2:after {
        width: 137.5px;
    }

    .checklist.g li {
        margin: 1em 0.5em;
        padding-left: 40px;
        background-size: 30px;
        background-position: left top 0.5em;
    }


    .reservebnr01 a {
        padding: 1.25em 2em;
    }

    .bb1box {
        padding: 1.5em 2em;
    }
}

@media only screen and (max-width:599px) {
    .more03 .btn {
        padding: 0.5em;
    }

    .bb1:after {
        width: 70px;
    }

    .bb2:after {
        width: 95px;
    }

    .checklist.g li {
        margin: 1em 0;
        padding-left: 35px;
        background-size: 25px;
        background-position: left top 0.6em;
    }

    .reservebnr01 a {
        padding: 1.5em;
    }

    .reservebnr01 dt {
        width: 100%;
        border-right: none;
        border-bottom: 2px solid;
        padding-bottom: 0.5em;
        margin-bottom: 1em;
    }

    .reservebnr01 dd {
        width: 100%;
    }

    .bb1box {
        padding: 1.5em 1.5em;
    }
}

.fead-scale {
    overflow: hidden;
    position: relative;
}

.fead-scale::after {
    position: absolute;
    z-index: 1;
    background: rgba(0, 0, 0, .5);
    bottom: 0;
    content: '';
    height: auto;
    left: 0;
    opacity: 0;
    right: 0;
    top: 0;
    -webkit-transition: opacity .6s ease;
    transition: opacity .6s ease;
    width: 100%;

}

.fead-scale:hover {
    opacity: 1;
}

.fead-scale:hover::after {
    opacity: 1;
}

.fead-scale img {
    -webkit-transition: -webkit-transform .6s ease;
    transition: -webkit-transform .6s ease;
    transition: transform .6s ease;
    transition: transform .6s ease, -webkit-transform .6s ease;

}

.fead-scale .more {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    visibility: hidden;
    color: #fff;
}

.fead-scale:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    background: #121212;
    -webkit-filter: blur(3px);
    filter: blur(3px);
}

.fead-scale:hover .more {
    visibility: visible;
    opacity: 1;
}

/*header*/


h1 {
    font-size: 12px;
}


.hlogo a {
    max-width: 380px;
    display: inline-block;
}

.insta {
    position: relative;
}

.insta::before {
    content: "\f16d";
    font-family: "Font Awesome 5 Brands";
    font-weight: 400;
    font-size: 30px;
}

@media only screen and (max-width:1024px) {

    .headtop {
        margin-bottom: 0.5em;
    }

    .hlogo a {
        max-width: 250px;
    }
 .headinn .add {
      display: none;
    }
    .headlabel {
      display: none;
    }

}

@media only screen and (max-width:599px) {
    h1 {
        margin-bottom: 0;
        font-size: 9px;
    }

    .hlogo a {
        max-width: 150px;
    }

    .headtopL {
        width: 40%;
        margin: 1%;
    }
    

}

/*gnav*/

#gnav p.toggle span.n {
    display: none;
}

#gnav {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 200;
    width: 100%;
}

.glist li {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
    letter-spacing: 1px;
    text-align: center;
    position: relative;
}

.glist>li:before {
    content: "|";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    font-weight: 700;
    color: #000;

}

[data-element-id] #gnav li.pcnone {
    display: block;
}

.glist li.pcnone {
    display: none;
}

.glist li .gIcon01 {
    display: inline-block;
}

.glist li a {
    width: 100%;
    display: block;
    font-weight: 700;
    padding: 1em;
}

#gnav.fix {
    position: fixed;
    z-index: 200;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.8);
}

.fix .accordion-toggle {
    opacity: 0.8;
}

.glist li.pullbox .tit {
    width: 100%;
    display: block;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
}

.glist li .pull {
    position: relative;
}


.glist .pullbox .tit:hover .pulllistwrap {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate(-50%, -10px);
    transform: translate(-50%, -10px);
}

.glist .pullbox .pulllistwrap {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: 0.5s all ease;
    transition: 0.5s all ease;
    position: absolute;
    z-index: 10;
    margin: 50px 0 0;
    width: 450px;
    -webkit-transform: translate(-50%, -60px);
    transform: translate(-50%, -60px);
    left: 50%;
}

.glist .pullbox .pulllistwrap:before {
    top: 0;
    left: 50%;
    content: '';
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    background-color: #ea7b9e;
    position: absolute;
    width: 1px;
    height: 60px;
}

[data-element-id] .glist .pullbox .pulllistwrap {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    position: relative;
}

.glist li .pulllist {
    border-radius: 4px;
    background: #fff;
    padding: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
}

.glist li .pulllist .pullitem {
    width: 30%;
    margin: 1%;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
}

.glist li .pulllist .pullitem dd {
    margin: 1em 0;
}

.glist li .pulllist .pullitem a {
    display: block;
    padding: 0;
}

.gnavinn .headtopR {
    display: none;
}
[data-element-id].gnavinn .headtopR {
    display: block;
}

[data-element-id]#gnav .gnavinn {
  opacity: 1;
  visibility: visible;
  position: static;
  transform: unset;
  
  z-index: 10;
}

@media only screen and (max-width:1250px) {
    .glist .pullbox .pulllistwrap {
        width: 600px;
    }
}

@media only screen and (max-width: 1024px) {
    #gnav .gnavinn {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 0;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: height ease .1s, opacity ease .4s;
        transition: height ease .1s, opacity ease .4s;
        padding: 0;
        border: none;
        padding-bottom: 0;
        background: rgba(255, 255, 255, 0.8);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
        z-index: -10;

    }

    .glist li {
        display: block !important;
        width: 50%;
        text-align: left;
        position: static;
        padding: 0;
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
    }

    #gnav p.toggle {
        display: block !important;
        position: fixed;
        width: 38px;
        height: 38px;
        top: 45px;
        right: 10px;
        cursor: pointer;
        opacity: 0.8;
        margin: 2px;
        z-index: 251;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
    }

    #gnav.action .gnavinn {
        height: 100vh;
        opacity: 1;
        z-index: 250;
        visibility: visible
    }

    #gnav p.toggle span.n {
        display: block;
        text-indent: 9999px;
    }

    #gnav p.toggle .icon-bar {
        display: block;
        width: 22px;
        height: 2px;
        border-bottom: 2px solid #323232;
        position: absolute;
        left: 50%;
        margin-left: -11px;
        -webkit-transition: all .7s cubic-bezier(.19, 1, .22, 1);
        transition: all .7s cubic-bezier(.19, 1, .22, 1);
        -webkit-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
        transition-timing-function: cubic-bezier(.19, 1, .22, 1);
        -webkit-transition-property: transform;
        -webkit-transition-property: -webkit-transform;
        transition-property: -webkit-transform;
        transition-property: transform;
        transition-property: transform, -webkit-transform;
        transition-property: transform, -webkit-transform;
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        position: relative;
    }

    #gnav p.toggle .icon-bar:nth-child(1) {
        -webkit-transition-delay: 150ms;
        transition-delay: 150ms
    }

    #gnav p.toggle .icon-bar:nth-child(2) {
        width: 16px;
        top: 6px;
        -webkit-transition-delay: .4s;
        transition-delay: .4s
    }

    #gnav p.toggle .icon-bar:nth-child(3) {
        width: 12px;
        top: 12px;
        -webkit-transition-delay: 0;
        transition-delay: 0
    }

    #gnav.action p.toggle .icon-bar:nth-child(1) {
        -webkit-transform: rotate(315deg);
        transform: rotate(315deg);
        top: 2px;
        width: 25px;
        margin-left: -14px;
    }

    #gnav.action p.toggle .icon-bar:nth-child(2) {
        -webkit-transform: translate(-50px, 0);
        transform: translate(-50px, 0);
        opacity: 0;
    }

    #gnav.action p.toggle .icon-bar:nth-child(3) {
        width: 25px;
        -webkit-transform: rotate(-315deg);
        transform: rotate(-315deg);
        margin-left: -15px;
        top: 16px
    }

    #gnav .gnavinn .glist {
        width: 100%;
        padding: 60px 3% 80px;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    #gnav .gnavinn .glist a {
        height: auto;
        display: block;
        padding: 1em;
        border: none !important;
    }
    
    .glist .pullbox .pulllistwrap {
    margin: 0;
    }

    #gnav.fix {
        padding: 0;
    }

    .overlay {
        height: 100%;
        overflow: hidden;
    }

    .overlay:after {
        content: "";
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        opacity: 0.3;
        z-index: 100;
    }

    #gnav .glist li.pullbox {
        width: 100%;
    }

    #gnav .glist li.pullbox .tit {
        text-align: left;
    }

    #gnav li .pulllistwrap:before {
        display: none;
    }

    #gnav li .pulllistwrap {
        visibility: visible;
        opacity: 1;
        position: static;
        -webkit-transform: none;
        transform: none;
        width: 100%;
        padding: 0;
    }

    #gnav li .pulllist {
        padding: 0;
        background: none;
    }
    
    .glist li .pulllist .pullitem {
      padding-left: 1em
    }

    #gnav li:hover .pulllistwrap {
        -webkit-transform: none;
        transform: none;
    }

    .glist li .pulllist .pullitem .pbox {
        display: none;
    }

    #gnav li .pulllist .pullitem .tbox {
        font-size: 16px;
        text-align: left;
        font-weight: bold;
        margin: 0;
    }

    .glist li .pulllist .pullitem {
        width: 50%;
        margin: 0;
    }

    .glist>li:before {
        display: none;
    }


    .glist>li {
        -webkit-transform: translate(-2em, 0);
        transform: translate(-2em, 0);
        -webkit-transition: 0.6s all ease;
        transition: 0.6s all ease;
        opacity: 0;
    }

    .glist>li:nth-of-type(2) {
        -webkit-transition-delay: 0.1s;
        transition-delay: 0.1s;
    }

    .glist>li:nth-of-type(3) {
        -webkit-transition-delay: 0.2s;
        transition-delay: 0.2s;
    }

    .glist>li:nth-of-type(4) {
        -webkit-transition-delay: 0.3s;
        transition-delay: 0.3s;
    }

    .glist>li:nth-of-type(5) {
        -webkit-transition-delay: 0.4s;
        transition-delay: 0.4s;
    }

    .glist>li:nth-of-type(6) {
        -webkit-transition-delay: 0.5s;
        transition-delay: 0.5s;
    }

    .glist>li:nth-of-type(7) {
        -webkit-transition-delay: 0.6s;
        transition-delay: 0.6s;
    }

    .glist>li:nth-of-type(8) {
        -webkit-transition-delay: 0.7s;
        transition-delay: 0.7s;
    }

    .glist>li:nth-of-type(9) {
        -webkit-transition-delay: 0.8s;
        transition-delay: 0.8s;
    }

    .glist>li:nth-of-type(10) {
        -webkit-transition-delay: 0.9s;
        transition-delay: 0.9s;
    }

    .glist>li:nth-of-type(11) {
        -webkit-transition-delay: 1s;
        transition-delay: 1s;
    }

    .glist>li:nth-of-type(12) {
        -webkit-transition-delay: 1.1s;
        transition-delay: 1.1s;
    }

    .glist>li:nth-of-type(13) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.2s;
    }

    .glist>li:nth-of-type(14) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.3s;
    }

    .glist>li:nth-of-type(15) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.4s;
    }

    .glist>li:nth-of-type(16) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.5s;
    }

    .glist>li:nth-of-type(17) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.6s;
    }

    .glist>li:nth-of-type(18) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.7s;
    }

    .glist>li:nth-of-type(19) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.8s;
    }

    .glist>li:nth-of-type(20) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.9s;
    }

    .glist>li:nth-of-type(21) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 2s;
    }

    .glist>li:nth-of-type(22) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 2.1s;
    }

    .glist>li:nth-of-type(23) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 2.2s;
    }

    .glist>li:nth-of-type(24) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 2.3s;
    }

    .glist>li:nth-of-type(25) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 2.4s;
    }

    .glist>li:nth-of-type(26) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 2.5s;
    }

    .glist>li:nth-of-type(27) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 2.6s;
    }

    .glist>li:nth-of-type(28) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 2.7s;
    }

    .glist>li:nth-of-type(29) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 2.8s;
    }

    .glist>li:nth-of-type(30) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 2.9s;
    }

    .action .glist>li {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1;
    }
    .gnavinn .headtopR {
        display: block;
        width: 88%;
        margin: 40px auto 0;
        opacity: 1;
        -webkit-transition: 0.6s all ease;
        transition: 0.6s all ease;
    }
}

@media only screen and (max-width:599px) {
    #gnav .gnavinn .glist {
        padding: 0;
    }

    #gnav .gnavinn {
        padding: 60px 3% 33%;
    }

    
    
    .action .gnavinn .headtopR {
        opacity: 1;
    }

    .gnavinn .headtopR * {
        text-align: left;
    }

    .glist li {
        width: 100% !important;
        font-size: 14px;
    }

    #gnav li .pulllist .pullitem {
        width: 100%;
    }

    #gnav li .pulllist .pullitem .tbox {
        font-size: 14px;
    }
}

/*スライドショー mainImg*/

.homeSlide {
    position: relative;
    overflow: hidden;
    height: 82vh;
}
.homeSlide::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block;
  /*background: rgba(0,0,0,0.3);*/
  z-index: 1;
}
.homeSlide .tbox {
  position: absolute;
    display: inline-block;
    width: 90%;
    text-align: center;
    margin-left: auto;
    position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
    z-index: 2;
}

.homeSlide .tbox p {
    color: #fff;
    font-weight: normal;
    text-shadow: 0px 0px 10px #999;
    font-size: 34px;
}

.homeSlide .tbox p .large {
    font-size: 53px;
    font-weight: bold;
}

.homeSlide .tbox .mremh img {
    width: 50px;
}

.homeSlide .tbox dd {
    margin: 1em 0;
    text-align: right;
}

.homeSlide .tbox .flex {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-top: 2em;
    border-top: 3px solid;
}

.homeSlide .tbox li {
    padding-left: 1.5em;
    position: relative;
    margin: 0 0.5em;
}

.homeSlide .tbox li:before {
    content: "\f14a";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    position: absolute;
    left: 0;

}

.homeSlide .up-ofi {
    min-height: 180px;
}

/*IE対策 background-position*/

.uk-slidenav-position {
    height: 100% !important;
}

.uk-slideshow {
    height: 100% !important;
}

.uk-slideshow>li {
    height: 100% !important;
}

.uk-slideshow>li>div {
    height: 100% !important;
}

.uk-slideshow>li>div>img {
    width: 100%;
    height: 100% !important;
    /*IE対策*/
    font-family: 'object-fit: cover; object-position: 50% 50%;';
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
}


.subimg-wrap {
    position: relative;
    height: 60vh;
}

.subimg {
    width: 60%;
    height: 80%;
    margin-left: auto;
    z-index: 1;
}

.texture {
    position: absolute;
    z-index: -1;
    width: 70%;
    height: 100%;
    top: 0;
    left: 0;
}

.subimg-wrap .subtit {
    position: absolute;
    z-index: 10;
    width: 90%;
    bottom: 20%;
    left: 5%;
    border-left: 2px solid;
    padding-left: 10px;
}

.subimg-wrap .subtit .ttl {
    font-size: 32px;
    font-weight: 400;
}

.subimg-wrap .subtit .sub-ttl {
    font-size: 20px;
}

@media only screen and (max-width:1024px) {
  .homeSlide {
    height: 60vh;
  }
 
    .homeSlide .tbox p{
       font-size: 24px;
    }
    .homeSlide .tbox p .large {
      font-size: 26px;
    }
    .homeSlide .tbox .mremh img {
        width: 40px;
    }

    .subimg {
        width: 70%;
    }

    .subimg-wrap .subtit .ttl {
        font-size: 24px;
    }

    .subimg-wrap .subtit .sub-ttl {
        font-size: 18px;
    }
}

@media only screen and (max-width:599px) {
  .homeSlide {
    height: 40vh;
  } 
    .homeSlide .tbox .mremh img {
        width: 30px;
    }

    .homeSlide .tbox p{
     font-size: 20px;
    }
.homeSlide .tbox p .large {
  font-size: 22px;
}
    .subimg {
        width: 90%;
        height: 80%;
    }

    .texture {
        width: 90%;
    }

    .subimg-wrap .subtit {
        bottom: 3%;
    }

    .subimg-wrap .subtit .ttl {
        font-size: 20px;
    }

    .subimg-wrap .subtit .sub-ttl {
        font-size: 16px;
    }
}

/*footer*/

footer {
    margin-top: 100px;
    position: relative;
}

footer * {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
    letter-spacing: 1px;
}

footer .bgimg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: rgba(177, 139, 67, 0.3);
}

footer .bgimg img {
    mix-blend-mode: lighten;
    height: 100% !important;
}

.footlist .item a {
    position: relative;
}

.footlist .item a::before {
    content: "\f054";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    margin-right: 5px;
    font-size: 16px;
    font-weight: bold;
}

.finfolist {
    margin-bottom: 20px;
}

.flogo a {
    max-width: 380px;
    display: inline-block;
}

.copy {
    text-align: center;
    padding: 20px 0;
}

.ftable table {
    width: 100%;
    height: auto;
    border-collapse: collapse;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #cccccc;
}

.ftable table tr {
    border-bottom: 1px solid #cccccc;
}

.ftable table tbody tr:last-of-type {
    border-bottom: none;
}

.ftable table th {
    width: auto;
    height: 42px;
    font-weight: normal;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0.5em;
    text-align: center;
    font-size: 14px;
}

.ftable table td {
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1em;
    border-left: 1px solid #ccc;
    font-size: 14px;
}

.ftable tbody th {
    background: #fff;
}

.ftable tbody td {
    background: #fff;
    color: #c59e55;
    font-size: 14px;
}

.ftable table .x {
    color: #aaa;
    font-weight: 700;
}

.fitem dt {
    padding-left: 1em;
    position: relative;
    margin-bottom: 0.75em;
}

.fitem dt:before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    position: absolute;
    top: 0;
    left: 0;
    color: #ea7b9e;
}

.fitem .flist {
    padding-left: 2em;
}

.fitem.col2 .flist li:first-of-type:before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    position: absolute;
    top: 0;
    left: -1em;
    color: #5fb2d7;
}

.flist li {
    margin: 0.5em 0;
    position: relative;
}

.flist li a {
    display: block;
}

.fmap .map:after {
    padding-top: 90%;
}

@media only screen and (max-width:1024px) {
    footer {
        margin-top: 80px;
    }

    .footR {
        width: 100%;
        margin-bottom: 4%;
    }

    .footL {
        width: 100%;
    }

    .fmap .map:after {
        padding-top: 45%;
    }

    .flogo a {
        max-width: 320px;
    }
    .copy {
      padding-bottom: 80px;
    }
}

@media only screen and (max-width:599px) {
    footer {
        margin-top: 60px;
    }

    .fmap .map:after {
        padding-top: 75%;
    }

    .ftable table th {
        font-size: 10px;
    }

    .ftable table td {
        font-size: 10px;
    }

    .flogo a {
        max-width: 260px;
    }
}

/*ffix*/
[data-element-id].ffix li.test-a,
[data-element-id].ffix li.test-b {
  position: static;
}

.ffix li.test-a {
    margin-bottom: 2em;
    position: fixed;
    left: 0;
    top: 30%;
    z-index: 99;
    max-width: 60px;
}

.ffix li.test-b {
    margin-bottom: 2em;
    position: fixed;
    right: 0;
    top: 30%;
    z-index: 99;
    max-width: 60px;
}

.ffix li.test-a a {
    display: block;
    padding: 2em 1em;
    color: #fff;
    border-radius: 0 15px 15px 0;
    line-height: 120%;
    font-size: 18px;
    letter-spacing:5px;
    text-align: center;

}
.ffix li.test-b a {
   display: block;
    padding: 2em 1em;
    color: #fff;
    line-height: 120%;
    font-size: 18px;
    border-radius:15px 0 0 15px;
    letter-spacing:5px;
    text-align: center;
}

.ffixlist a:nth-of-type(2n+1) {
    background: #c59e55;
}

.ffixlist a:nth-of-type(2n) {
    background: #54b04e;
}

.ffixlist li:nth-of-type(2n+2) a {
    background: #f0bb2c;
}

@media only screen and (max-width:1024px) {
    .ffix li.test-a,
    .ffix li.test-b{
        margin-bottom: 0;
        max-width: unset;
        top: auto;
        bottom: 0;
        left: 10px;
        width: 60%;
        padding: 0.5em 0;
    }

    .ffix li.test-a a,
    .ffix li.test-b a{
        font-size: 16px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        max-width: 100%;
        padding: 10px 15px;
        border-radius: unset;
    }
}

@media only screen and (max-width:599px) {
    .ffix li.test-a a,
    .ffix li.test-b a {
        font-size: 14px;
    }
}

/*totop*/

#totop {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 99;
    text-align: center;
}
[data-element-id]#totop {
  position: static;
}
#totop a {
    height: 80px;
    width: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background: #7cbe27;
    color: #fff;
    border-radius: 50%;
    overflow: hidden;
}

#totop a:before {
    content: "\f106";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    display: block;
    font-size: 30px;
    width: 100%;
    text-align: center;
}

@media only screen and (max-width:1024px) {
    #totop a {
        height: 65px;
        width: 65px;
    }

    #totop a:before {
        font-size: 28px;
    }
}

@media only screen and (max-width:599px) {
    #totop a {
        height: 50px;
        width: 50px;
        font-size: 10px;
    }

    #totop a:before {
        font-size: 26px;
    }
}

/*home*/



.home-beginnercirlist {
    max-width: 750px;
    margin: 40px auto;
}

.home-beginnercirlist .home-beginnerciritem:nth-of-type(odd) .cir {
    background: #c59e55;
}

.home-beginnercirlist .home-beginnerciritem:nth-of-type(even) .cir {
    background: #ea7b9e;
}

.home-beginnerciritem {
    width: 31.333%;
}

.home-beginnerciritem .cir {
    border-radius: 50%;
    width: 220px;
    height: 220px;
    margin: 0 auto;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
    text-align: center;
    font-size: 18px;
    padding: 1em;
}

.home-beginnerbnritem {
    position: relative;
    overflow: hidden;
    border: 2px solid #c59e55;
    width: 100%;
    max-width: 310px;
    margin: 1% auto;
}

.home-beginnerbnritem .tbox {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    z-index: 1;
    width: 60%;
    padding: 0.5em;
}

.home-beginnerbnritem .tbox * {
    line-height: 140%;
}

.flow-list .item {
    position: relative;
}

.flow-list .item .num {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 40px;
    -webkit-transform: translate(5px, -25px);
    transform: translate(5px, -25px);
    color: rgb(177, 139, 67);
}

.flow-list .item .box-wrap {
    position: relative;
    z-index: -1;
}

.flow-list .item .ttl {
    margin-top: 20px;
    text-align: center;
    font-weight: 500;
}

.flow-list .item .txt {
    font-size: 14px;
    margin-top: 20px;
}

.flow-list.type2 {
    position: relative;
}

.flow-list.type2::before {
    position: absolute;
    z-index: -1;
    content: "";
    top: 20%;
    left: 5%;
    width: 90%;
    height: 20px;
    background: #ccc;
}

.recruit .flow-list {
    padding-top: 40px;
}

.recruit .flow-list .item {
    width: 50%;
}

.recruit .flow-list .item+.item {
    margin-top: 80px;
}

.recruit .flow-list .item:nth-of-type(even) {

    margin-left: auto;
}

.recruit .flow-wrap {
    position: relative;
}

.recruit .flow-wrap::before {
    position: absolute;
    z-index: -1;
    content: "";
    height: 100%;
    width: 10%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #ccc;
}

@media only screen and (max-width: 1024px) {
    .flow-list.type2::before {
        top: 13%;
    }
}

@media only screen and (max-width: 599px) {
  .recruit .flow-list .item {
    width: 100%;
    
  }
  .recruit .flow-list {
    padding-top: 0;
  }
    .flow-list .item .txt {
        margin-top: 10px;
    }

    .flow-list.type2::before {
        display: none;
    }

    .flow-wrap {
        position: relative;
    }

    .flow-wrap::before {
        position: absolute;
        z-index: -1;
        content: "";
        height: 90%;
        width: 20px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        background: #ccc;
    }
}

.pattern {
    position: relative;
    margin-top: 90px;
}

.pattern .inner {
    background: #fff;
}

.pattern .box .tbox {
    position: relative;
    width: 45%;
    padding: 0 0 4% 4%;
}

.pattern .box .pbox {
    position: relative;
    width: calc(50% + 40px);
    padding-bottom: 4%;
    margin-top: -100px;
    margin-right: -40px;
}

.pattern .pbox .num {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    font-size: 40px;
    -webkit-transform: translate(5px, -30px);
    transform: translate(5px, -30px);
    color: rgb(177, 139, 67);
}

.pattern .box-wrap+.box-wrap {
    margin-top: 80px;
}

.pattern .box-wrap .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.pattern .box-wrap:nth-of-type(odd) .box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.pattern .box-wrap:nth-of-type(odd) .box .tbox {
    padding: 0 4% 4% 0;
}

.pattern .box-wrap:nth-of-type(odd) .box .pbox {
    margin-left: -40px;
}

.pattern .box-wrap:nth-of-type(odd) .box .pbox .num2 {
  right: -20px;
  left: auto;
}
.pattern .box .pbox .num2 {
    position: absolute;
    left: -20px;
    top: 45%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    color: #fff;
    background: #54b04e;
    border-radius: 100%;
    text-align: center;
    z-index: 2;
}

.pattern.type2 {
    margin-top: 120px;
}

.pattern.type2 .inner {
    background: #ffe4ec;
}

.pattern.type2 .box-wrap:nth-of-type(odd) .inner {
    background: #f1e1c2;
}

.pattern.type2 .box-wrap+.box-wrap {
    margin-top: 80px;
}

.pattern.type2 .box .pbox {
    width: 40%;
}

.pattern.type2 .box .tbox {
    width: 60%;
}

.pattern.type2 .box .tbox h3 {
    font-size: 22px;
}

.pattern.type3 .inner {
    background: #ffe4ec;
}

.pattern.type3 .box-wrap:nth-of-type(odd) .inner {
    background: #f1e1c2;
}

.pattern.type3 .pbox {
    width: 50%;
}

.pattern.type3 .tbox {
    width: 50%;
}

.pattern .border-top::before {
    content: "";
    width: 1px;
    height: 40%;
    display: block;
    background: #f5f5f5;
    position: absolute;
    top: 0;
    left: 3%;
    z-index: 10;
}

.pattern .border-top::after {
    content: "";
    width: 40%;
    height: 1px;
    display: block;
    background: #f5f5f5;
    position: absolute;
    top: 3%;
    left: 0;
    z-index: 10;
}

.pattern .border-bottom::before {
    content: "";
    width: 1px;
    height: 40%;
    display: block;
    background: #f5f5f5;
    position: absolute;
    bottom: 0;
    right: 3%;
    z-index: 10;
}

.pattern .border-bottom::after {
    content: "";
    width: 40%;
    height: 1px;
    display: block;
    background: #f5f5f5;
    position: absolute;
    bottom: 3%;
    right: 0;
    z-index: 10;
}

.pattern .col1 .pbox {
    width: 100%;
}

.pattern .col1 .tbox {
    width: 80%;
    margin: 40px auto 0 auto;
}

.trouble {
    background: #e9e8e8;
}

.trouble .inner {}

.pbox-wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.pbox-wrap .pbox01 {
    width: 50%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.pbox-wrap .pbox02 {
    width: 45%;
    padding-top: 5%;
    margin-left: auto;
    margin-right: 0;

}

.pbox-wrap .pbox03 {
    width: 30%;
    display: block;
    margin-top: -23%;
    margin-left: 5%;
}

@media only screen and (max-width: 1024px) {
    .pattern {
        margin-top: 70px;
    }

    .pattern .box .tbox h3 {
        font-size: 22px !important;
    }

    .pattern .box .tbox .txt {
        text-align: left;
    }

}

@media only screen and (max-width: 599px) {
    .pattern {
        margin-top: 0;
    }

    .pattern .inner {
        padding: 0;
    }

    .pattern .box-wrap .box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse !important;

    }

    .pattern .box>* {
        width: 100% !important;
    }

    .pattern .box .pbox {
        margin: 0 !important;
        padding: 0;
    }

    .pattern .box .tbox {
        padding: 7% 4% 4% 4% !important;
    }

    .pattern .box .pbox .num2 {
       top: auto;
    bottom: -20px;
    right: auto;
    left: 50% !important;
    transform: translateX(-50%);
    }

    .pattern .box .tbox h3 {
        font-size: 22px !important;
        margin-bottom: 20px;
    }

    .pattern .box .tbox .txt {
        font-size: 14px;
    }
  .pattern.type2 .pbox {
    width: 100%;
    margin: 0 !important;
  }

}

/* .home-menu .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
} */

/* .home-menu .item {
    width: calc(100% / 6 - 2%);
    margin: 1%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
 */

.home-menu .item .name {
    display: block;
    text-align: center;
    font-size: 20px;
    color: #333333;
    margin-bottom: 10px;
    font-weight: bold;
}

/* .home-menu .item:nth-child(1) {
    width: 48%;
}

.home-menu .item:nth-child(2) {
    width: 48%;
} */

.home-menu .tbox {
    font-size: 20px;
    color: #333333;
    background: rgba(234, 123, 158, 0.1);
    margin: 0;
    padding: 10px;
}

.home-menu .txt {
    display: block;
    /* text-align: center; */
    font-size: 15px;
    font-weight: bold;
}

@media only screen and (max-width: 599px) {
    /* .home-menu .item {
        width: 50% !important;
        margin: 0 auto;
    }

    .home-menu .item+.item {
        margin-top: 40px;
    } */

    .home-menu .item .name {
        font-size: 18px;
    }

    .home-menu .txt {
        font-size: 14px;
    }
}

.home-voice dl {
    width: 48%;
    margin: 1%;
}

.home-voice .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 20px;
}

.home-voice .item dt {
    margin-top: 10px;
    font-weight: 500;
}

.home-voice .item a {
    display: block;
    width: 100%;
}

.home-voice .item dt span {
    display: inline-block;
}

.home-voice .item dt span:not(.comment) {
    color: #6e6e6e;
}

.home-voice .item dt .customer {
    margin-left: 10px;
}

.home-voice .item dt .comment {
    display: block;
    font-size: 16px;
    margin-top: 10px;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {
    .home-voice dl {
        width: 100%;
        margin: 0 auto;
    }

    .home-voice dl+dl {
        margin-top: 40px;
    }
}

.home05 .home05bnrbox .tbox {
    padding: 2em 60px;
    width: 500px;
    margin-left: auto;
    margin-right: 0;
}
.home05 .home05bnrbox.type02 .tbox {
  padding: 60px 30px;
  margin-right: auto;
  width: 800px;
}

.home05 .home05bnrbox .tbox .more03 {
    max-width: 400px;
    margin-left: auto;
}

.home05 .home05bnrbox .pic {
    width: 70%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.home05 .home05bnrbox.type02 .pic {
    width: 100%;
}

.home05 .home05bnrbox .pic:after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0.9)), color-stop(60%, rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to left, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    top: 0;
    left: 0;
}

.home05 .home05bnrbox.type02 .pic:after {
    background: rgba(255,255,255,0.7);
}
.home-sns dd {
    margin-top: 0;
    display: inline-block;
    padding: 0.25em 1em;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
    border: 1px solid;
}

.home-sns .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;

}

.home-sns .item-inner {
    position: relative;
}

.home-sns .item dl {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translate(-50%, -50%);
    width: 90%;
    text-align: center;
    z-index: 10;
}
[data-element-id].home-sns .item dl {
  width: 50%;
}

.home-sns .item .pbox {
    width: 100%;
    height: 100%;
    z-index: -1;
}

[data-element-id].home-sns .item .pbox {
  position: relative;
  z-index: 9;
}

.home-sns .item .pbox::after {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);

}

.home-sns .item .pbox img {
    -webkit-filter: blur(5px);
    filter: blur(5px);
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {
  .home05 .home05bnrbox .pic {
   width: 100%;
  }
  
}

.home03listwrap {
    border-bottom: 2px solid #dcdcdc;
    padding: 1em 0 2em;
}

.home03list {
    overflow-y: auto;
    height: 400px;
    -webkit-overflow-scrolling: touch;
    padding: 0 1em;
}

.home03list::-webkit-scrollbar {
    width: 12px;
}

.home03list::-webkit-scrollbar-thumb {
    background: #d2d2d2;
    border-radius: 10px;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.home03list::-webkit-scrollbar-track-piece {
    background: #efefef;
}

.home03item {
    margin-bottom: 30px;
}

.home03item a {
    display: block;
}

.home03item .tbox dd {
    margin: 1em 0;
}

.home03item .tbox dd.tit {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home03item .pbox {
    width: 36%;
}

.home03item .tbox {
    width: 60%;
}

.home04contwrap .home04cont:nth-of-type(2n+1) .titbox .up-ofi:before {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(70, 174, 224, 0.6);
    content: "";
}

.home04contwrap .home04cont:nth-of-type(2n+2) .titbox .up-ofi:before {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(75, 196, 166, 0.6);
    content: "";
}

.home04cont .titbox .tfmp {
    padding: 80px 0;
}

.home04cont .titbox h3 {
    color: #fff;
}

.home04box .pointbox {
    max-width: 768px;
    margin: 40px auto;
}

.home04box .pointbox .pbox {
    width: 140px;
}

.home04box .pointbox .tbox {
    width: calc(100% - 145px);
}

.home04box .pointbox .tbox .txt {
    padding: 1em 2em 1em 4em;
    background: url(#) center center /100% 100% no-repeat;
}

.home04item {
    margin-bottom: 60px;
    width: 29.333%;
    margin: 2%;
}

.home04item a {
    display: block;
}

.home04item dd {
    margin: 1em 0;
}

.home04bnritem {
    position: relative;
    overflow: hidden;
    width: 49%;
}

.home04bnritem a {
    display: block;
}

.home04bnritem .tbox {
    position: absolute;
    left: 0;
    top: 0;
    width: 290px;
    max-width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 1;
    padding: 0.5em;
}

.home04bnritem .tbox dt,
.home04bnritem .tbox dd {
    color: #fff;
    margin: 0.5em 0;
    text-align: center;
}

.home04bnrlist .home04bnritem:nth-of-type(4n+1) .tbox {
    background-color: rgba(177, 139, 67, 0.6);
}

.home04bnrlist .home04bnritem:nth-of-type(4n+2) .tbox {
    background: rgba(234, 123, 158, 0.6);
}


.home05bnrbox .tbox {
    padding: 1em 60px;
    max-width: 100%;
}
[data-element-id].bnr-list {
  position: relative;
  z-index: 1;
}


.banner-inner{
   box-shadow: 0 0 8px gray;
   padding: 5%;
   background: #fff;
}
.banner02 .box {
  display: flex;
  justify-content: space-between;
}

.banner02 .box >* {
  width: 48%;
  text-align: center;
}
.banner02 .course {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
  background: #cdb993;
  letter-spacing: 2px;
}
.banner02 .catch {
  font-size: 18px;
   text-align: center;
   margin-bottom: 30px;
}

.banner02 .box .period {
  background-color: #f1e1c2;
  color: #121212;
  width: fit-content;
  padding: 10px 20px;
  margin: 0 auto 15px auto;
  font-size: 100%;
}
.banner02 .box .time {
  display: inline-block;
  border: 1px solid #7e6940;
  border-radius: 15px;
  text-align: center;
  padding: 5px 15px;
  vertical-align: super;
  margin-left: 10px;
  font-size: 47%;
}
.banner02 .box .before {
  font-size: 120%;
  line-height: 1.5;
}
.banner02 .box .before .delete {
  font-size: 140%;
  text-decoration-line: line-through;
}
.banner02 .box .after {
  font-size: 160%;
  line-height: 1.5;
  font-weight: bold;
  margin-top: 15px;
}
.banner02 .box .after .highlight {
  font-size: 200%;
  line-height: 0;
}

.banner02 .more03 .btn {
  padding: 15px;

}
.banner02 .more03 .arrow {
  font-size: 80%;
}
.recommend {
  position: relative;
}
.recommend .bgimg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  
}
[data-element-id].recommend .bgimg {
  z-index: 0;
}
.recommend .bgimg img {
  filter: blur(10px);
}
@media only screen and (max-width:1024px) {


    .home-beginner .tfmp:before {
        height: 30%;
    }

    .home-beginnerciritem .cir {
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
    }

    .home04cont01 .titbox .tfmp {
        padding: 60px 0;
    }

    .home04box .pointbox .pbox {
        width: 120px;
    }

    .home04box .pointbox .tbox {
        width: calc(100% - 125px);
    }

    .home04item {
        width: 31.333%;
        margin: 1%;
        margin-bottom: 40px;
    }

    .home04bnritem .tbox {
        width: 100%;
    }

    .home05bnrbox .tbox {
        padding: 1em 40px;
        width: 400px;
    }
     .banner02 .course {
      font-size: 22px;
    }
    .banner02 .catch {
      font-size: 18px;
    }
}

@media only screen and (max-width:599px) {

    .home-beginner .tfmp:before {
        height: 15%;
    }

    .home-beginnerciritem {
        width: 100%;
        margin: 1% 0;
    }

    .home-beginnerciritem .cir {
        -webkit-transform: scale(1);
        transform: scale(1);
        font-size: 14px;
        width: 100%;
        height: 100%;
        border-radius: 0;
        text-align: left;
        display: block;
    }

    .home03boxitem {
        margin: 40px 0;
    }

    .home03list {
        height: 300px;
    }

    .home04cont01 .titbox .tfmp {
        padding: 40px 0;
    }

    .home04box .pointbox .tbox {
        width: 100%;
    }

    .home04box .pointbox .tbox .txt {
        padding: 1em;
        background: none;
        border: 2px solid #dcdcdc;
        border-radius: 10px;
    }

    .home04item {
        width: 48%;
        margin: 1%;
        margin-bottom: 20px;
    }

    .home04bnritem {
        width: 100%;
    }

    .home05bnrbox .tbox {
        padding: 1em;
        width: 350px;
    }

    .home05bnrbox .tbox .txt {
        padding: 0;
    }
    .banner02 .box {
      flex-direction: column-reverse;
      flex-wrap: wrap;
    }
    
    .banner02 .box >*{
    width: 100%;
    }
    
    .banner02 .box .pic {
      margin-bottom: 20px;
    }
    .banner02 .course {
      font-size: 20px;
    }
    .banner02 .catch {
      font-size: 16px;
      text-align: left;
    }
}

/*under*/

/*news*/

.newssection-my h2 .inb {
    padding-right: 40px;
    background: url(#) top right /30px no-repeat;
}

.newssection-my {
    width: 64%;
}

.newscalist {
    width: 28%;
}

.nlist .nitem:first-of-type a {
    border-top: 1px solid #c9c9c9;
}

.nitem a {
    display: block;
    padding: 2em 1em;
    border-bottom: 1px solid #c9c9c9;
}

.nitem dt:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    display: inline-block;
    margin-right: 0.5em;
    color: #ea7b9e;
    font-weight: 700;
}

.nitem dt {
    width: 7em;
}

.nitem dd {
    width: calc(100% - 8em);
}

.newspagenav ul {
    max-width: 300px;
    margin: 80px auto;
}

.newspagenav li {
    width: 14%;
    text-align: center;
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.newspagenav li a {
    display: block;
}

.newspagenav li.now a {
    border-bottom: 1px solid #ea7b9e;
}

.newscalist dl {
    margin-bottom: 80px;
}

.newscalist dt {
    padding: 0.5em 1em;
    color: #fff;
    text-align: center;
}

.newscalist li a {
    display: block;
    padding: 2em;
    position: relative;
    border-bottom: 1px solid #c9c9c9;
}

.newscalist li a:before {
    position: absolute;
    top: 2em;
    content: "●";
    left: 0.5em;
}

.newsclist li a:before {
    color: #ea7b9e;
}

.newsalist li a:before {
    color: #c59e55;
}

.newsclist dt {
    background: #ea7b9e;
}

.newsalist dt {
    background: #c59e55;
}

.npostbox .titbox dt {
    margin-bottom: 1.5em;
}

.npostbox .titbox dt span:after {
    content: "";
    display: block;
    width: 15em;
    height: 4px;
    border-bottom: 4px solid #c9c9c9;
    margin: 0.5em auto 0.5em;
}

.npostbox .single {
    padding: 60px 0;
    border-bottom: 1px solid #c9c9c9;
}

@media only screen and (max-width:1024px) {
  
    .nitem a {
        padding: 1.5em 1em;
    }

    .newscalist li a {
        padding: 1.5em;
    }

    .newscalist li a:before {
        font-size: 75%;
        left: 0.25em;
    }

    .npostbox .single {
        padding: 50px 0;
    }
}

@media only screen and (max-width:599px) {
    .newssection-my {
        width: 100%;
    }
  .newscalist {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .newscalist dl {
        margin-bottom: 60px;
        width: 100%;
    }

    .newscalist dl:last-of-type {
        margin-bottom: 0;
    }

    .nitem dt {
        width: 100%;
        margin-bottom: 1%;
    }

    .nitem dd {
        width: 100%;
    }

    .nitem a {
        padding: 1em 1em;
    }

    .npostbox .single {
        padding: 40px 0;
    }
}

/* 下層共通 */

.insert-img {
    margin-bottom: 40px;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}
.cmn-table {
  position: relative;
  z-index: 5
}
.cmn-table dt {
    font-size: 16px;
    font-weight: 500;
}

.cmn-table02 dl {
    border-bottom: 1px dotted #1b1b1b;
    padding-bottom: 10px;
}

.cmn-table02 dl+dl {
    margin-top: 40px;
}

.cmn-table02 dt {
    width: calc(100% - 140px);
}

.cmn-table02 dd {
    font-size: 18px;
    width: 120px;
}

.cmn-table03 dl {
    border-bottom: 1px dotted #1b1b1b;
    padding-bottom: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.cmn-table03 dl+dl {
    margin-top: 40px;
}

.cmn-table03 dt {
    width: 120px;
    font-weight: 500;
}

.cmn-table03 dd {
    width: calc(100% - 200px);
}

.cmn-table04 dl+dl {
    margin-top: 40px;
}

.cmn-table04 dt {
    position: relative;
    padding-bottom: 10px;
}

.cmn-table04 dt::before {
    position: absolute;
    bottom: 0;
    content: '';
    display: block;
    width: 30px;
    height: 1px;
    background-color: #121212;
}

.cmn-table04 dd {
    padding-top: 20px;
    padding-left: 20px;
}

.pricetable .table {
    margin-bottom: 80px;
}

.breadcrumb {
    margin: 60px 0;
}

.breadcrumb .item {
    display: inline;
}

.breadcrumb .item:not(:last-of-type):after {
    content: '\f054';
    font-weight: 600;
    font-family: 'Font Awesome 5 Free';
    display: inline;
    margin-right: 5px;
    margin-left: 10px;
}

.breadcrumb .home {
    color: #333333;
}

.breadcrumb .now {
    color: #333333;
}

@media only screen and (max-width:599px) {
    .cmn-table03 dt {
        width: 100%;
    }

    .cmn-table03 dd {
        margin-top: 20px;
        width: 100%;
    }

    .breadcrumb {
        margin: 30px 0;
    }
}

/*concept*/


.concept02 .pbox {
    width: 45%;
}

.concept02 .pbox .pic01 {
    width: 100%;
}

.concept02 .pic-wrap {
    margin-top: 40px;
}

.concept02 .pbox .pic02 {
    width: 45%;
    margin-top: 40px;

}

.concept02 .pbox .pic03 {
    width: 45%;
    margin: 0 -40px 0 40px;

}

.concept02 .tbox {
    width: 45%;
    margin-top: 40px;

}


.concept03 .box-wrap {
    position: relative;
}

.concept03 .box-wrap .tbox {
    background: #f1e1c2;
    padding: 5%;
}

.concept03 .box-wrap .pbox {
    position: absolute;
    z-index: 0;
    width: 50%;
    height: 100%;
    top: 40px;
    bottom: 0;
    right: 0;

}

@media only screen and (max-width:1024px) {
  .concept03 .box-wrap .tbox {
    padding: 5% 10% 5% 5%;
  }
}

@media only screen and (max-width:599px) {
    .concept02 .box-wrap .pbox .pic-wrap {
        margin-top: 20px;
    }

    .concept02 .box-wrap .pbox {
        width: 100%;
    }

    .concept02 .pbox .pic02 {
        margin-top: 0;

    }

    .concept02 .pbox .pic03 {
        margin: 0 0 0 20px;
    }

    .concept02 .box-wrap .tbox {
        width: 100%;
       
    }

    .concept03 .box-wrap .pbox {
        position: static;
        width: 100%;
    }
    .concept03 .box-wrap .tbox {
       padding: 5%;
    }
}

/*staff*/

.staff01bg {
    padding: 20% 0;
}

.staff01bg .up-ofi:before {
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: -webkit-gradient(linear, left top, right top, from(#f4f3f0), color-stop(20%, #f4f3f0), color-stop(50%, rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, #f4f3f0 0%, #f4f3f0 20%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
}

.staff01bg:before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 60%;
    height: 40%;
    z-index: 1;
    background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, rgba(255, 255, 255, 0.6))) no-repeat top left/100% 100%;
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.6) 50.5%) no-repeat top left/100% 100%;
}

.staff01box .tbox {
    width: 50%;
}

.staff01profbox {
    background: #fff;
    padding: 2em;
    border-radius: 10px;
    -webkit-box-shadow: 1px 1px 10px #dcdcdc;
    box-shadow: 0px 0px 10px #dcdcdc;
    margin-top: -8em;
}

.staff01proflist .staff01profitem:nth-of-type(2n+1) dt {
    color: rgba(70, 174, 224, 255);
}

.staff01proflist .staff01profitem:nth-of-type(2n+2) dt {
    color: rgba(75, 196, 166, 255);
}

.staff01profitem {
    margin-bottom: 80px;
}

.staff01profitem:last-of-type {
    margin-bottom: 0;
}

.staff01profitem dt {
    padding-left: 2em;
    position: relative;
    padding-bottom: 0.5em;
    border-bottom: dotted 2px #666666;
    margin-bottom: 1.5em;
}

.staff01profitem dt:before {
    position: absolute;
    left: 0;
    content: "●";
}

.staff02item .tbox {
    max-width: 510px;
    padding: 0 3%;
}

.staff02list .staff02item:nth-of-type(odd) .tbox {
    margin-left: auto;
}

.staff02list .staff02item:nth-of-type(even) .tbox {
    margin-right: auto;
}

.staff02item .introbox * {
    margin: 0.5em 0;
}

.staff02list .staff02item:nth-of-type(odd) .profbox {
    background: #ea7b9e;
}

.staff02list .staff02item:nth-of-type(even) .profbox {
    background: #c59e55;
}

.staff02item .profbox {
    padding: 2em;
    min-height: 360px;
}

.staff02item .profbox * {
    color: #fff;
}

.staff02item .profbox dt {
    padding-left: 2em;
    position: relative;
    padding-bottom: 0.5em;
    border-bottom: dotted 2px;
    margin-bottom: 1.5em;
}

.staff02item .profbox dt:before {
    position: absolute;
    left: 0;
    content: "●";
}

.staff03item {
    width: 29.333%;
    margin: 2%;
    margin-bottom: 40px;
}

.staff03item dd {
    text-align: center;
}

@media only screen and (max-width:1024px) {
    .staff01bg {
        padding: 150px 0;
    }

    .staff01box .tbox {
        width: 70%;
    }

    .staff01profbox {
        margin-top: -5em;
    }

    .staff02item .profbox {
        padding: 1.5em;
    }

    .staff03item {
        width: 31.333%;
        margin: 2% 1%;
        margin-bottom: 30px;
    }
}

@media only screen and (max-width:599px) {
    .staff01bg .up-ofi:before {
        background: rgba(255, 255, 255, 0.6);
    }

    .staff01bg {
        padding: 60px 0;
    }

    .staff01box .tbox {
        width: 100%;
    }

    .staff01profbox {
        margin-top: -2em;
        padding: 1.5em 1em;
    }

    .staff02item .tbox {
        max-width: inherit;
        padding: 0;
        width: 96%;
        margin: 0 auto;
    }

    .staff02item .profbox {
        min-height: inherit;
    }

    .staff02item [class*="heightLine"] {
        height: auto !important;
    }

    .staff02item {
        margin-bottom: 60px;
    }

    .staff02list .staff02item:last-of-type {
        margin-bottom: 0;
    }

    .staff03item {
        width: 48%;
        margin-bottom: 20px;
    }
}

/*access*/

.access02table table {
    width: 100%;
    height: auto;
    border-collapse: collapse;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #cccccc;
}

.access02table table tr {
    border-bottom: 1px solid #cccccc;
}

.access02table table tbody tr:last-of-type {
    border-bottom: none;
}

.access02table table thead th {
    background: #c59e55;
    color: #fff;
}

.access02table table thead td {
    background: #c59e55;
    color: #fff;
}

.access02table table th {
    width: auto;
    height: 42px;
    font-weight: normal;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0.5em;
    text-align: center;
}

.access02table table td {
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1em;
    border-left: 1px solid #ccc;
}

.access02table tbody th {
    background: #fff;
}

.access02table tbody td {
    background: #fff;
    color: #c59e55;
}

.access02table table .x {
    color: #aaa;
    font-weight: 700;
}

.access02box01 .map:after {
    padding-top: 50%;
}

.access02boxinn {
    background: #fff;
    padding: 4em;
    border-radius: 10px;
    -webkit-box-shadow: 1px 1px 10px #dcdcdc;
    box-shadow: 0px 0px 10px #dcdcdc;
}

.access01worklist .access01workitem {
    margin-bottom: 80px;
}

.access01worklist .access01workitem:last-of-type {
    margin-bottom: 0;
}

.access02boxlist .access02box {
    margin-bottom: 80px;
}

.access02boxlist .access02box:last-of-type {
    margin-bottom: 0;
}

.access02boxinn .embed:after {
    padding-top: 80%;
}

.access03box .more02 .btn {
    padding: 1em 2em;
}

@media only screen and (max-width:1024px) {
    .access02boxinn {
        padding: 3em;
    }
}

@media only screen and (max-width:599px) {
    .access02table table th {
        font-size: 12px;
    }

    .access02table table td {
        font-size: 12px;
    }

    .access02boxinn {
        padding: 2em 1em;
    }
}

/*faq*/

.faq01list .faq01item:last-of-type {
    margin-bottom: 0;
}

.faq01item {
    margin-bottom: 60px;
}

.faq01item .subtit {
    position: relative;
    padding-left: 60px;
}

.faq01item .subtit:before {
    position: absolute;
    left: 0;
    top: -0.25em;
    content: "Q";
    font-size: 24px;
    color: #fff;
    width: 50px;
    height: 50px;
    line-height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #c59e55;
}

.faq01item .ans {
    padding: 1em;
    background: #edf9f6;
}

.faq01item .ans .t {
    position: relative;
    padding-left: 60px;
}

.faq01item .ans .t:before {
    position: absolute;
    left: 0;
    top: -0.25em;
    content: "A";
    font-size: 24px;
    color: #fff;
    width: 50px;
    height: 50px;
    line-height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #ea7b9e;
}

@media only screen and (max-width:1024px) {
    .faq01item .subtit:before {
        width: 45px;
        height: 45px;
        line-height: 45px;
        font-size: 22px;
    }

    .faq01item .ans .t:before {
        width: 45px;
        height: 45px;
        line-height: 45px;
        font-size: 22px;
    }

    .faq01item {
        margin-bottom: 50px;
    }
}

@media only screen and (max-width:599px) {
    .faq01item .subtit {
        padding-left: 50px;
    }

    .faq01item .ans .t {
        padding-left: 50px;
    }

    .faq01item .subtit:before {
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 20px;
    }

    .faq01item .ans .t:before {
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 20px;
    }

    .faq01item {
        margin-bottom: 40px;
    }
}
@media only screen and (max-width:599px) {
  .voice ul li{
    width: 100%;
    margin: 0;
  }
}
/*case*/

.comcaseB .comcase01nav .tit {
    color: #b18b43;
}

.comcaseB .comcase01nav .tit:after {
    display: block;
    width: 100%;
    height: 1px;
    margin: 0.5em 0;
    content: "";
    background: -webkit-gradient(linear, left top, right top, from(#c59e55), color-stop(30%, #c59e55), color-stop(30%, #dcdcdc), to(#dcdcdc));
    background: linear-gradient(90deg, #c59e55 0%, #c59e55 30%, #dcdcdc 30%, #dcdcdc 100%);
}

.comcaseG .comcase01nav .tit {
    color: rgba(75, 196, 166, 255);
}

.comcaseG .comcase01nav .tit:after {
    display: block;
    width: 100%;
    height: 1px;
    margin: 0.5em 0;
    content: "";
    background: -webkit-gradient(linear, left top, right top, from(#ea7b9e), color-stop(30%, #ea7b9e), color-stop(30%, #dcdcdc), to(#dcdcdc));
    background: linear-gradient(90deg, #ea7b9e 0%, #ea7b9e 30%, #dcdcdc 30%, #dcdcdc 100%);
}

.comcase01navlist {
    counter-reset: number;
}

.comcase01navlist .comcase01navitem:last-of-type {
    margin-bottom: 0;
}

.comcaseB .comcase01navitem {
    background-image: url(#);
}

.comcaseG .comcase01navitem {
    background-image: url(#);
}

.comcase01navitem {
    padding-left: 70px;
    margin-bottom: 40px;
    background-position: left top;
    background-size: 30px;
    background-repeat: no-repeat;
}

.comcase01navitem a {
    display: inline-block;
}

.comcase01navitem .num {
    position: relative;
    padding-left: 1.5em;
    display: inline-block;
}

.comcase01navitem .num:before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: number;
    content: counter(number)'.';
}

.comcase01list {
    counter-reset: number;
}

.comcaseB .comcase01item .tit {
    background: #c59e55;
    color: #fff;
}

.comcaseG .comcase01item .tit {
    background: #ea7b9e;
    color: #fff;
}

.comcase01list .comcase01item:last-of-type {
    margin-bottom: 0;
}

.comcase01item {
    margin-bottom: 60px;
}

.comcase01item .tit {
    padding: 1em 2em;
}

.comcase01item .tit .num {
    position: relative;
    padding-left: 1.5em;
    display: inline-block;
}

.comcase01item .tit .num:before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: number;
    content: counter(number)'.';
}

.comcase01list .comcase01item:nth-of-type(odd) .comcase01itembox {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.comcase01itemlistitem {
    margin: 40px 0;
}

.comcase01itemlistitem .more04 {
    margin-bottom: 0;
}

.comcaseB .comcase01itemlistitem .subtit {
    color: rgba(70, 174, 224, 255);
}

.comcaseG .comcase01itemlistitem .subtit {
    color: rgba(75, 196, 166, 255);
}

.comcaseB .comcase01itemlistitem .more04 {
    color: rgba(70, 174, 224, 255);
}

.comcase01item .reservebox {
    margin-bottom: 0;
}

.comcase01item .reservebox .more05 {
    width: 300px;
}

.comcase01item .reservebox .tbox {
    width: calc(100% - 300px);
}

.comcase01item .reservebox .tbox {
    padding-left: 90px;
    background-position: top left;
    background-size: 80px 120px;
    background-repeat: no-repeat;
}

.comcase01item .reservebox .tboxinn {
    min-height: 120px;
    padding: 1em 2em 1em 4em;
    background: url(#) center center /100% 100% no-repeat;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.comcaseG .reservebox .tbox {
    background-image: url(#);
}

.comcaseG .reservebox .tbox .fc {
    color: rgba(75, 196, 166, 255);
}

.comcaseG .reservebox .more05 .btn {
    background: #ea7b9e;
    color: #fff;
}

.comcaseB .reservebox .tbox {
    background-image: url(#);
}

.comcaseB .reservebox .tbox .fc {
    color: rgba(70, 174, 224, 255);
}

.comcaseB .reservebox .more05 .btn {
    background: #c59e55;
    color: #fff;
}

.comcase01item .checklist.flexsb li {
    margin: 1%;
}

.comcaseB .checklist li {
    background-image: url(/import/tenant_1/160.16.152.60/html/images/check02.png);
}

.comcase01listbox .reservebnrbox {
    margin-top: 160px;
}

.comcaseB .comcase01item .bb1box .fc {
    color: rgba(70, 174, 224, 255);
}

.comcaseG .comcase01item .bb1box .fc {
    color: rgba(75, 196, 166, 255);
}

@media only screen and (max-width:1024px) {
    .comcase01navitem {
        padding-left: 40px;
        margin-bottom: 30px;
        background-size: 25px;
    }

    .comcase01item .tit {
        padding: 0.75em 1.5em;
    }

    .comcase01item {
        margin-bottom: 50px;
    }

    .comcase01itemlistitem {
        width: 48%;
        margin: 30px 0;
    }

    .comcase01item .reservebox .tbox {
        width: 100%;
        margin-bottom: 1em;
    }

    .comcase01listbox .reservebnrbox {
        margin-top: 100px;
    }
}

@media only screen and (max-width:599px) {
    .comcase01navitem {
        padding-left: 35px;
        margin-bottom: 20px;
        background-size: 20px;
        background-position: left top 4px;
    }

    .comcase01item .tit {
        padding: 0.5em 1em;
    }

    .comcase01item {
        margin-bottom: 40px;
    }

    .comcase01itemlistitem {
        width: 100%;
        margin: 20px 0;
    }

    .comcase01itemlistitem [class*='heightLine'] {
        height: auto !important;
    }

    .comcase01item .reservebox .tboxinn {
        padding: 1em;
        background: none;
        border: 2px solid #dcdcdc;
        border-radius: 10px;
    }

    .comcase01item .reservebox .tbox {
        padding-left: 0;
        padding-top: 88px;
        background-size: 60px;
    }

    .comcase01listbox .reservebnrbox {
        margin-top: 40px;
    }
}



/*blog*/

.cate {
    background: #ea7b9e;
    color: #fff;
    padding: 5px 10px;
    border-radius: 10px;
}

.blogpagenav ul {
    max-width: 300px;
    margin: 40px auto 160px;
}

.blogpagenav li {
    width: 14%;
    text-align: center;
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.blogpagenav li a {
    display: block;
    width: 2em;
    height: 2em;
    line-height: 2em;
    background: #bfbfbf;
}

.blogpagenav li.now {
    background: #c59e55;
    color: #fff;
    display: block;
    width: 2em;
    height: 2em;
    line-height: 2em;
}

.blogcalist dt {
    color: #fff;
    text-align: center;
    padding: 0.5em 2em;
    font-weight: 700;
    position: relative;
    cursor: pointer;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
    border: 1px solid transparent;
}

.blogcalist dt:after {
    position: absolute;
    right: 1em;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
}

.blogcalist dt.open:after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.blogcalist dt.open {
    margin-bottom: 1em;
}

.blogclist dt {
    background: #c59e55;
}

.blogalist dt {
    background: #ea7b9e;
}

.blogclist dt:hover {
    background: #fff;
    color: #c59e55;
    border-color: inherit;
}

.blogalist dt:hover {
    background: #fff;
    color: #ea7b9e;
    border-color: inherit;
}

.blogcalist li a {
    padding: 1em 2em;
    display: block;
    border-bottom: 1px solid #c9c9c9;
    position: relative;
}

.blogcalist li a:before {
    position: absolute;
    top: 1.5em;
    content: "●";
    left: 0.5em;
    font-size: 70%;
}

.blogalist li a:before {
    color: #ea7b9e;
}

.blogclist li a:before {
    color: #c59e55;
}

.blogsinglebox .tit {
    padding-bottom: 1em;
    border-bottom: 1px solid #dcdcdc;
}

.blogsinglebox .single {
    padding: 60px 0;
}

.blogrecoitem .tit .ruby {
    color: rgba(204, 204, 204, 255);
    display: inline-block;
    font-size: 16px;
    font-family: "游ゴシック", YuGothic, Hiragino Sans, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

.blogsinglebox .back02 {
    margin-bottom: 40px;
}

@media only screen and (max-width:1024px) {
    .bitem {
        margin-bottom: 50px;
    }

    .blogpagenav ul {
        margin: 40px auto 120px;
    }

    .bitem .date {
        position: static;
        margin: 1em 0 1em 0.5em;
    }

    .bitem .date .label {
        padding: 0.25em;
    }

    .blogsinglebox .single {
        padding: 50px 0;
    }
}

@media only screen and (max-width:599px) {
    .bitem {
        width: 48%;
        margin: 2% 1% 40px;
    }
.blog .main {
  width: 100%;
}
    .blogpagenav ul {
        margin: 40px auto 80px;
    }

    .blogcalist dd {
        margin-bottom: 60px;
    }

    .blogcalist dl:last-of-type dd {
        margin-bottom: 0;
    }

    .blogsinglebox .single {
        padding: 40px 0;
    }
}

.syokusyu .box-wrap .pbox {
    width: 35%;
}

.syokusyu .box-wrap .tbox {
    width: 60%;
}

/*form*/
.form .box {
    border: 2px solid #ea7b9e;
    padding: 20px;
    margin-bottom: 60px;
    text-align: center;
}

.form dl {
    padding: 20px 0;
    border-bottom: 1px solid #fff;
}

.form dl:last-of-type {
    border-bottom: none;
}

.form dt {
    width: 25%;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.form dt .reqw {
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 10px;
    background: #ea7b9e;
    color: #fff;
    margin-left: 10px;
    border-radius: 5px;
    margin-left: 20px;
}

.form dt label {
    width: 150px;
}

.form dd {
    width: 70%;
}

.form dd [type=text] {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 3px;
    background: #e9e9e9;
    border: none;
    border-radius: 10px;
}
.form dd textarea {
  width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 3px;
    background: #e9e9e9;
    border: none;
    border-radius: 10px;
}
.form dd input {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px;
}

.form dd select {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px;
}

.form dd input[type="radio"] {
    display: none;
}

.form dd input[type="radio"]+label {
    padding-left: 20px;
    position: relative;
    margin-right: 20px;
    line-height: 200%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.form dd input[type="radio"]+label::before {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 10px;
    height: 10px;
    border: 1px solid #303841;
    border-radius: 50%;
    background: #fff;
}

.form dd input[type="radio"]:checked+label::after {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 0px;
    width: 10px;
    height: 10px;
    background: #303841;
    border-radius: 50%;
}

.form dd input[type="radio"]:checked+label {
    border-bottom: 1px solid;
    -webkit-transition: 0.6s;
    transition: 0.6s;
}

.form dd textsection-my {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px;
    font-size: 16px;
    font-family: "游ゴシック",
        YuGothic,
        Hiragino Sans,
        "ヒラギノ角ゴ ProN W3",
        "Hiragino Kaku Gothic Pro",
        Hiragino Kaku Gothic ProN,
        "メイリオ",
        Meiryo,
        'ＭＳ Ｐゴシック',
        sans-serif;
    height: 300px;
}

.formbtn li button:after,
.formbtn li.back button:before {
    position: relative;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 20px;
}

.formbtn li button:after {
    content: "\f105";
    margin-left: 10px;
    margin-right: -10px;
}

.formbtn li.back button:before {
    content: "\f104";
    margin-left: -10px;
    margin-right: 10px;
}

.formbtn li.back button::after {
    display: none;
}

.formbtn li button:hover {
    opacity: 0.6;
    cursor: pointer;
}

@media only screen and (max-width:1024px) {
    .form dt {
        width: 75%;
        margin-bottom: 20px;
    }

    .form dd {
        width: 100%;
    }

    .form dl {
        padding: 15px 0;
    }



}

@media only screen and (max-width:599px) {}

/* 202206support追記 */

@media only screen and (max-width:1024px) {
  .cmn-heading{
    font-size: 25px;
  }
  
 .headinn .flexsb{
   flex-wrap: nowrap;
   justify-content:start;

 }
 
 .headtopR .instagram{
   display: none;
 }
}

@media only screen and (max-width: 599px) {
 .home05 .home05bnrbox .tbox{
   padding: 2em 10px;
 }
  
}  

.pink{
  color: #ea7b9e;
}

.gold{
  color: #c59e55;
}

/* 0617 追記 */

@media only screen and (min-width: 1025px){
  .subimg-wrap {
    position: relative;
    height: 72vh;
    width: 1150px;
    margin: auto;
}

.subimg-wrap .subimg {
    width: 49%;
    height: 70%;
    margin-left: auto;
    z-index: 1;
}

.subimg-wrap .h100 {
    height: 100%;
    width: 590px;
    margin-right: 0;
}

.subimg-wrap .h100 img{
      width: 590px;
    height: 563px !important;
}

.subimg-wrap .texture {
    position: absolute;
    z-index: -1;
    width: 70%;
    height: 100%;
    top: 0;
    left: 0;
}
}

@media only screen and (max-width: 599px) {
  .pattern.type2 {
    margin-top: 0px;
}
}

/* 0801 追記 */

.ffixlist a:nth-of-type(2n+1) {
    background: #ea7b9e !important;
}
.more03.g .btn {
    background: #ea7b9e !important;
    color: #fff;
}

/* 2026/07/03 */
/* ============================================
   SNS SECTION (.index 限定)
   ============================================ */
.index .sns-embed {
  --sns-gold: #c69e58;
  --sns-ink: #4a4a4a;
  padding: 80px 20px;
  background: #f0ece1;
}
 
.index .sns-embed__inner {
  display: flex;
  gap: 48px;
  max-width: 1100px;
  margin: 0 auto;
  justify-content: center;
}
 
.index .sns-embed__col {
  flex: 1 1 0;
  max-width: 500px;
}
 
/* 見出し行 */
.index .sns-embed__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(198, 158, 88, .4);
}
 
.index .sns-embed__ttl {
  margin: 0;
  font-family: "Cormorant Garamond", "Times New Roman", "游明朝", serif;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: .06em;
  color: var(--sns-ink);
}
 
/* MOREボタン（白地・細枠） */
.index .sns-embed__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  padding: 8px 18px;
  font-size: 13px;
  letter-spacing: .12em;
  color: var(--sns-ink);
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--sns-ink);
  transition: background-color .2s ease, color .2s ease;
}
.index .sns-embed__more:hover {
  background: var(--sns-ink);
  color: #fff;
}
 
/* サムネイルグリッド（2列） */
.index .sns-embed__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
 
/* 各投稿枠（正方形） */
.index .sns-embed__item {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(198, 158, 88, .25);
}
.index .sns-embed__item img,
.index .sns-embed__item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease, opacity .3s ease;
}
.index .sns-embed__item:hover img,
.index .sns-embed__item:hover video {
  transform: scale(1.06);
  opacity: .85;
}
 
/* --- TikTok（動画）：縦長比率・クリックはaに通す --- */
.index .sns-embed__item--video {
  aspect-ratio: 9 / 16;
}
.index .sns-embed__item--video video {
  pointer-events: none; /* クリックを親のaに通す */
}
/* 再生アイコン（クリックで遷移を示唆） */
.index .sns-embed__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .45);
  pointer-events: none;
  transition: background-color .2s ease;
}
.index .sns-embed__play::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 9px 0 9px 15px;
  border-color: transparent transparent transparent #fff;
}
.index .sns-embed__item--video:hover .sns-embed__play {
  background: #fe2c55;
}

/* 追加のボタン装飾 */
.index .sns-embed__col .titbox .more02.g .btn {
  background-color: #fe2c55;
  border: none;
}
.index .sns-embed__col .titbox .more02.g .btn a {
  background-color: #fe2c55;
}
.index .sns-embed__col_insta .titbox .more02.b .btn {
  background: linear-gradient(73deg, #feda75 0%, #fa7e1e 25%, #d62976 50%, #962fbf 75%, #4f5bd5 100%);
  border: none;
}
.index .sns-embed__col_insta .titbox .more02.b .btn a {
  background: linear-gradient(73deg, #feda75 0%, #fa7e1e 25%, #d62976 50%, #962fbf 75%, #4f5bd5 100%);
}
 
/* ===== 1024px以下 ===== */
@media screen and (max-width: 1024px) {
  .index .sns-embed { padding: 60px 16px; }
  .index .sns-embed__inner { gap: 24px; }
  .index .sns-embed__ttl { font-size: 24px; }
  .index .sns-embed__grid { gap: 8px; }
  .index .sns-embed__play { width: 44px; height: 44px; }
}
 
/* ===== 599px以下 ===== */
@media screen and (max-width: 599px) {
  .index .sns-embed { padding: 48px 16px; }
  .index .sns-embed__inner {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .index .sns-embed__col { width: 100%; max-width: 400px; }
  .index .sns-embed__ttl { font-size: 22px; }
}
