@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : top.css
Description :
===================================================================== */

/* =====================================================================
*    mv
* =================================================================== */


@media screen and (min-width: 768px) {
    .mv_photo .inner {
        max-width: none;
    }
}

@media screen and (min-width: 1300px) {}


/* =====================================================================
*    news
* =================================================================== */
.news {
    padding: calc(70 / 750 * 100%) 0;
    background: url(../images/common/bg_orange.png) repeat left top;
    background-size: calc(814 / 750 * 100%) auto;
}

.news .sec_ttl {
    width: calc(158 / 750 * 100%);
    margin: 0 auto calc(20 / 750 * 100%);
}

.news_list {
    background-color: #fff;
    border-radius: calc(60 / 750 * 100vw);
    overflow: hidden;
}

.news_list li:not(:last-child) {
    border-bottom: 2px solid #fece2d;
}

.news_list_ttl {
    padding: calc(35 / 750 * 100%) calc(60 / 750 * 100%);
}

.news_list_ttl a {
    color: #333;
    text-decoration: underline;
}

.news_list_date {
    width: calc(540 / 630 * 100%);
    margin: 0 0 1em;
    color: #b2b2b2;
    font-size: 2rem;
    line-height: 1.4;
    cursor: default;
}

.news_list_txt {
    width: calc(540 / 630 * 100%);
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.4;
    cursor: default;
}

.news_list_txt a {
    cursor: pointer !important;
}

.news_list_btn {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.news_list_btn::before {
    content: "";
    display: block;
    width: calc(60 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    background: url(../images/common/btn_arrow_white.svg) no-repeat center 55% #bdb8b6;
    background-size: calc(23 / 60 * 100%) auto;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto calc(60 / 750 * 100%) auto 0;
}

.active .news_list_btn::before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.news_detail_txt {
    padding: calc(35 / 750 * 100%) calc(60 / 750 * 100%);
    background-color: #fffbf0;
    border-top: 2px dotted #fece2d;
    font-size: 2.8rem;
    line-height: 1.714;
}

.news_detail_txt > *:not(:last-child) {
    margin: 0 0 calc(30 / 630 * 100%);
}

@media screen and (min-width: 768px) {
    .news {
        padding: calc(20 / 1300 * 100%) 0;
        background-size: calc(814 / 1300 * 100%) auto;
    }

    .news .inner {
        padding: 0 calc(160 / 1300 * 100%);
    }

    .news .sec_ttl {
        width: calc(120 / 1300 * 100%);
        position: absolute;
        top: 0;
        left: 0;
        margin: calc(8 / 1300 * 100%) 0 0 calc(160 / 1300 * 100%);
        /*margin calc  ??68*/
    }

    .news_box {
        width: calc(830 / 980 * 100%);
        margin: 0 0 0 auto;
    }

    .news_list {
        display: inline-block;
        width: 100%;
        border-radius: 2.31vw;
        border-radius: calc(30 / 1300 * 100vw);
    }

    .news_list_ttl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: calc(15 / 830 * 100%) calc(45 / 830 * 100%);
    }

    .news_list_ttl a:hover {
        text-decoration: none;
    }

    .news_list_date {
        width: calc(100 / 740 * 100%);
        margin: 0.5em 0 0;
        font-size: 1.4rem;
        -webkit-transform: rotate(0.05deg);
        transform: rotate(0.05deg);
    }

    .news_list_txt {
        width: calc(620 / 740 * 100%);
        font-size: 2rem;
        line-height: 1.75;
        -webkit-transform: rotate(0.05deg);
        transform: rotate(0.05deg);
    }

    .news_list_btn::before {
        width: calc(30 / 1300 * 100vw);
        height: calc(30 / 1300 * 100vw);
        margin-right: calc(20 / 830 * 100%);
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }

    .news_list_btn:hover::before {
        background-color: #8fc31f;
    }

    .news_detail_txt {
        padding: calc(15 / 830 * 100%) calc(65 / 830 * 100%) calc(15 / 830 * 100%) calc(145 / 830 * 100%);
        font-size: 2rem;
        line-height: 1.75;
        -webkit-transform: rotate(0.05deg);
        transform: rotate(0.05deg);
    }

    .news_detail_txt > *:not(:last-child) {
        margin: 0 0 calc(15 / 620 * 100%);
    }

    .news_detail_txt img {
        width: calc(473 / 620 * 100%);
    }
}

@media screen and (min-width: 1300px) {
    .news {
        padding: 20px 0;
        background-size: 814px auto;
    }

    .news .inner {
        padding: 0 160px;
    }

    .news_list {
        border-radius: 30px;
    }

    .news_list_btn::before {
        width: 30px;
        height: 30px;
    }
}


/* =====================================================================
*    guide
* =================================================================== */
.guide {
    padding: calc(140 / 750 * 100%) 0;
    background: url(../images/common/bg_illust.png) no-repeat center bottom, url(../images/top/guide/bg_guide_sp.jpg) no-repeat left top #f6e7e2;
    background-size: calc(1600 / 750 * 100%) auto, 100% auto;
}

.guide h2 {
    width: calc(617 / 750 * 100%);
}

.guide_map {
    margin: 0 0 calc(30 / 750 * 100%);
    border-radius: calc(60 / 750 * 100vw);
    overflow: hidden;
}

.guide_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.guide_btn li {
    width: calc(372 / 750 * 100%);
    margin: 0 calc(6 / 750 * 100%) calc(6 / 750 * 100%) 0;
    overflow: hidden;
}

.guide_btn li:nth-child(even),
.guide_btn li:last-child {
    margin-right: 0;
}

.guide_btn li:first-child {
    border-top-left-radius: calc(60 / 750 * 100vw);
}

.guide_btn li:nth-child(2) {
    border-top-right-radius: calc(60 / 750 * 100vw);
}

.guide_btn li:last-child {
    width: 100%;
    border-bottom-left-radius: calc(60 / 750 * 100vw);
    border-bottom-right-radius: calc(60 / 750 * 100vw);
}

.guide_btn li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 4.3em;
    padding: 0 0 0 4.5em;
    background-color: #fff;
    color: #333;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.2;
}

.guide_btn li a img {
    width: 24vw;
}

.guide_btn li:nth-child(2) a,
.guide_btn li:nth-child(3) a {
    letter-spacing: -0.05em;
}

.guide_btn li:nth-child(7) a {
    padding: 0 0 0 11.5em;
}

.guide_btn li a::before {
    content: "";
    display: block;
    width: calc(82 / 372 * 100%);
    height: 100%;
    background: url(../images/top/guide/btn_floorplan1.png) no-repeat left center;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    left: calc(35 / 372 * 100%);
}

.guide_btn li:nth-child(2) a::before {
    background: url(../images/top/guide/btn_floorplan2.png) no-repeat left center;
    background-size: 100% auto;
}

.guide_btn li:nth-child(3) a::before {
    background: url(../images/top/guide/btn_floorplan3.png) no-repeat left center;
    background-size: 100% auto;
}

.guide_btn li:nth-child(4) a::before {
    background: url(../images/top/guide/btn_floorplan4.png) no-repeat left center;
    background-size: 100% auto;
}

.guide_btn li:nth-child(5) a::before {
    background: url(../images/top/guide/btn_floorplan5.png) no-repeat left center;
    background-size: 100% auto;
}

.guide_btn li:nth-child(6) a::before {
    background: url(../images/top/guide/btn_floorplan6.png) no-repeat left center;
    background-size: 100% auto;
}

.guide_btn li:nth-child(7) a::before {
    width: calc(82 / 750 * 100%);
    background: url(../images/top/guide/btn_floorplan7.png) no-repeat left center;
    background-size: 100% auto;
    left: calc(245 / 750 * 100%);
}

@media screen and (min-width: 768px) {
    .guide {
        padding: calc(100 / 1300 * 100%) 0 calc(145 / 1300 * 100%);
        background: url(../images/common/bg_illust.png) repeat-x center bottom, url(../images/top/guide/bg_guide_pc.jpg) no-repeat left top #f6e7e2;
        background-size: calc(1600 / 1300 * 100%) auto, cover;
    }

    .guide h2 {
        width: calc(463 / 1300 * 100%);
    }

    .guide_map {
        width: calc(564 / 1300 * 100%);
        margin: 0 auto calc(30 / 1300 * 100%);
        border-radius: 4.62vw;
        border-radius: calc(60 / 1300 * 100vw);
    }

    .guide_btn {
        width: calc(860 / 1300 * 100%);
        margin: 0 auto;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .guide_btn li,
    .guide_btn li:nth-child(3n) {
        width: calc(284 / 860 * 100%);
        margin: 0 0 calc(4 / 860 * 100%);
    }

    .guide_btn li:first-child {
        border-top-left-radius: calc(60 / 1300 * 100vw);
    }

    .guide_btn li:nth-child(2) {
        border-top-right-radius: 0;
    }

    .guide_btn li:nth-child(3) {
        border-top-right-radius: calc(60 / 1300 * 100vw);
    }

    .guide_btn li:nth-child(4) {
        width: calc(212 / 860 * 100%);
        border-bottom-left-radius: calc(60 / 1300 * 100vw);
    }

    .guide_btn li:nth-child(5) {
        width: calc(212 / 860 * 100%);
    }

    .guide_btn li:nth-child(6) {
        width: calc(212 / 860 * 100%);
    }

    .guide_btn li:nth-child(7) {
        width: calc(212 / 860 * 100%);
        border-bottom-left-radius: 0;
        border-bottom-right-radius: calc(60 / 1300 * 100vw);
    }

    .guide_btn li a,
    .guide_btn li:nth-child(7) a {
        height: 4.7em;
        padding: 0 0 0 5.3em;
        font-size: 1.7rem;
        -webkit-transform: rotate(0.05deg);
        transform: rotate(0.05deg);
    }

    .guide_btn li a:hover {
        background-color: #fece2d;
    }

    .guide_btn li a::before,
    .guide_btn li:nth-child(7) a::before {
        width: calc(41 / 1300 * 100vw);
        left: calc(40 / 1300 * 100vw);
    }

    .guide_btn li:not(:last-child) a img {
        width: calc(80 / 860 * 100vw);
        max-width: 117px;
    }

    .guide_btn li:last-child a img {
        width: calc(65 / 860 * 100vw);
        max-width: 90px;
    }
}

@media screen and (min-width: 1300px) {
    .guide {
        padding: 100px 0 145px;
        background-size: 1600px auto, cover;
    }

    .guide_map {
        border-radius: 60px;
    }

    .guide_btn li:first-child {
        border-top-left-radius: 60px;
    }

    .guide_btn li:nth-child(3) {
        border-top-right-radius: 60px;
    }

    .guide_btn li:nth-child(4) {
        border-bottom-left-radius: 60px;
    }

    .guide_btn li:nth-child(7) {
        border-bottom-right-radius: 60px;
    }

    .guide_btn li a::before,
    .guide_btn li:nth-child(7) a::before {
        width: 41px;
        left: 40px;
    }
}

/* =====================================================================
*    guide
* =================================================================== */
.openinghours_box {
    background-color: rgba(255,255,255,0.75);
    width: calc(500 / 750 * 100%);
    margin: calc(-25 / 750 * 100%) auto calc(30 / 750 * 100%);
    padding: calc(30 / 750 * 100%) 0;
    border-radius: calc(60 / 750 * 100vw);
    font-size: 2.8rem;
    line-height: 1.4;
}

.openinghours_box span {
    font-weight: 600;
    color: #72b610;
    display: block;
    text-align: center;
    padding-bottom: 0.5rem;
}

.openinghours_box p {
    font-weight: 600;
    color: #333;
    display: block;
    text-align: center;
}


@media screen and (min-width:768px) {
    .openinghours_box {
        width: calc(400 / 1300 * 100%);
        margin: calc(-25 / 1300 * 100%) auto calc(25 / 1300 * 100%);
        padding: calc(15 / 1300 * 100%) 0;
        border-radius: 30px;
        font-size: 2rem;
        line-height: 1.75;
    }
}

/* =====================================================================
*    popup
* =================================================================== */
.popup_list .slick-dots {
    margin-bottom: calc(-60 / 750 * 100%);
}

.guide_details {
    padding: calc(50 / 750 * 100%) calc(60 / 750 * 100%);
    background-color: #fff;
}

.guide_details dt {
    margin: 0 0 calc(45 / 630 * 100%);
    padding: calc(15 / 630 * 100%) 0 0 calc(100 / 630 * 100%);
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.714;
}

.guide_details dt::before {
    content: "";
    display: block;
    width: calc(82 / 630 * 100%);
    padding-top: calc(100 / 630 * 100%);
    position: absolute;
    top: -0.1em;
    left: 0;
}

#guide_id_01 .guide_details dt::before {
    background: url(../images/top/guide/btn_floorplan1.png) no-repeat left top;
    background-size: 100% auto;
}

#guide_id_02 .guide_details dt::before {
    background: url(../images/top/guide/btn_floorplan2.png) no-repeat left top;
    background-size: 100% auto;
}

#guide_id_03 .guide_details dt::before {
    background: url(../images/top/guide/btn_floorplan3.png) no-repeat left top;
    background-size: 100% auto;
}

#guide_id_04 .guide_details dt::before {
    background: url(../images/top/guide/btn_floorplan4.png) no-repeat left top;
    background-size: 100% auto;
}

#guide_id_05 .guide_details dt::before {
    background: url(../images/top/guide/btn_floorplan5.png) no-repeat left top;
    background-size: 100% auto;
}

#guide_id_06 .guide_details dt::before {
    background: url(../images/top/guide/btn_floorplan6.png) no-repeat left top;
    background-size: 100% auto;
}

#guide_id_07 .guide_details dt::before {
    background: url(../images/top/guide/btn_floorplan7.png) no-repeat left top;
    background-size: 100% auto;
}

.guide_details dd {
    font-size: 2.8rem;
    line-height: 1.714;
}

@media screen and (min-width:768px) {
    .popup_list .slick-dots {
        margin: 0 0 calc(-60 / 1000 * 100%);
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .popup_list .slick-dots li {
        width: calc(40 / 1300 * 100vw);
        height: calc(40 / 1300 * 100vw);
        margin: 0 calc(5 / 1300 * 100vw);
    }

    .popup_list .slick-dots li::before {
        width: calc(12 / 1300 * 100vw);
        height: calc(12 / 1300 * 100vw);
    }

    .popup_list .slick-arrow {
        width: calc(50 / 1300 * 100vw);
        height: calc(50 / 1300 * 100vw);
        margin: auto 0;
        top: 0;
        border: none;
        background: url(../images/common/btn_arrow_white3.svg) no-repeat center center;
        background-size: 100% auto;
    }

    .popup_list .slick-arrow.prev {
        left: 0;
        right: auto;
        margin-left: calc(-70 / 1000 * 100%);
    }

    .popup_list .slick-arrow.next {
        margin-right: calc(-70 / 1000 * 100%);
    }

    .guide_details {
        padding: calc(30 / 1000 * 100%) calc(130 / 1000 * 100%);
    }

    .guide_details dt {
        margin: 0 0 calc(20 / 1000 * 100%);
        padding: calc(10 / 1000 * 100%) 0 0 calc(90 / 1000 * 100%);
        font-size: 2.6rem;
        -webkit-transform: rotate(0.05deg);
        transform: rotate(0.05deg);
    }

    .guide_details dt::before {
        width: calc(51 / 740 * 100%);
        top: -0.05em;
    }

    .guide_details dt img {
        width: 240px;
    }

    .guide_details dd {
        padding: 0 0 0 calc(65 / 740 * 100%);
        font-size: 2rem;
        line-height: 1.625;
        -webkit-transform: rotate(0.05deg);
        transform: rotate(0.05deg);
    }
}

@media screen and (min-width:1300px) {
    .popup_list .slick-dots li {
        width: 40px;
        height: 40px;
        margin: 0 5px;
    }

    .popup_list .slick-dots li::before {
        width: 12px;
        height: 12px;
    }

    .popup_list .slick-arrow {
        width: 50px;
        height: 50px;
        border: none;
    }

    .guide_details dt {
        padding: calc(15 / 1300 * 100%) 0 0 calc(120 / 1300 * 100%);
        margin-bottom: calc(50 / 1300 * 100%);
    }

    .guide_details dt img {
        width: 360px;
    }
}


/* =====================================================================
*    about
* =================================================================== */
.about {
    padding: calc(150 / 750 * 100%) 0 0;
}

.about_photo {
    margin: 0 0 calc(90 / 750 * 100%);
}

.about_photo img {
    border-radius: 8vw;
    border-radius: calc(60 / 750 * 100vw);
    overflow: hidden;
}

.about_photo figcaption {
    margin: 0.7em 0 0;
    color: #b2b2b2;
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
}

.about_sec {
    width: calc(630 / 750 * 100%);
    margin: 0 auto calc(80 / 750 * 100%);
}

.about_sec_txt1 {
    font-size: 2.8rem;
    line-height: 1.714;
    text-align: justify;
}

.about_sec_dl {
    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;
}

.about_sec_dl dt {
    width: calc(160 / 630 * 100%);
    margin: 0 0 calc(10 / 630 * 100%);
    font-size: 2.8rem;
    line-height: 1.714;
}

.about_sec_dl dt::after {
    content: "：";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    margin: 0 calc(-30 / 160 * 100%) 0 0;
}

.about_sec_dl dd {
    width: calc(430 / 630 * 100%);
    margin: 0 0 calc(10 / 630 * 100%);
    font-size: 2.8rem;
    line-height: 1.714;
}

.about_sec2 {
    padding: calc(100 / 750 * 100%) 0;
    background: url(../images/common/bg_orange2.png) repeat left top;
    background-size: calc(814 / 750 * 100%) auto;
    border-radius: calc(60 / 750 * 100vw);
}

.about_view {
    padding-bottom: calc(350 / 750 * 100%);
    margin: calc(60 / 750 * 100%) auto;
}

.about_sec2_list {
    width: calc(630 / 750 * 100%);
    margin: 0 auto;
    counter-reset: number;
}

.about_sec2_list li:not(:last-child) {
    margin: 0 0 calc(100 / 630 * 100%);
}

.about_sec2_details {
    margin: 0 0 calc(40 / 630 * 100%);
}

/*
.about_sec2_details:before{
    counter-increment: number;
    content: counter(number);
    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: calc(100 / 750 * 100vw);
    height: calc(100 / 750 * 100vw);
    color: #fff;
    font-size: 6rem;
    font-weight: 600;
    line-height: 1;
    background-color: #8fc31f;
    border-radius: 50%;
    margin: 0 auto calc(45 / 750 * 100%);
}
*/

.about_sec2_details dt {
    margin: 0 0 1em;
    font-size: 4rem;
    color: #fff;
    background-color: #8fc31f;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    border-radius: 50px;
    padding: 0.7rem;
}

.about_sec2_details dd {
    font-size: 2.8rem;
    line-height: 1.714;
    text-align: justify;
}

.about_sec2_illust {
    border-radius: 50%;
    overflow: hidden;
}

.about_sec2_details:last-child dd a {
    color: #e94709;
    text-decoration: underline;
    position: relative;
}

.about_sec2_details:last-child dd a:hover {
    text-decoration: none;
}

.about_sec2_details:last-child dd a img {
    width: 30px;
    display: inline;
    vertical-align: middle;
    margin-left: 5px;
}

/*
.about_sec2_details:last-child dd a::after {
    position: absolute;
    content: '';
    background: url(/images/top/about/ico_newtab.png) no-repeat bottom;
    width: 30px;
    height: 30px;
    margin-left: 20px;
}
*/

.about_sec2_details dd p {
    position: relative;
    padding-left: 5vw;
}

.about_sec2_details dd p::before {
    content: '●';
    position: absolute;
    color: #8fc31f;
    left: 0;
}


@media screen and (min-width:768px) {
    .about {
        padding: calc(100 / 1300 * 100%) 0 calc(170 / 1300 * 100%);
    }

    .about h2 img {
        /*        width: auto;*/
    }

    .about_photo {
        width: calc(750 / 1300 * 100%);
        margin: 0 auto calc(40 / 1300 * 100%);
    }

    .about_photo img {
        border-radius: 4.62vw;
        border-radius: calc(60 / 1300 * 100vw);
    }

    .about_photo figcaption {
        margin: 0.5em 0 0;
        font-size: 1.3rem;
        -webkit-transform: rotate(0.05deg);
        transform: rotate(0.05deg);
    }

    .about_sec {
        width: calc(780 / 1300 * 100%);
        margin: 0 auto calc(40 / 1300 * 100%);
    }

    .about_sec_txt1 {
        font-size: 2rem;
        line-height: 2.25;
        -webkit-transform: rotate(0.05deg);
        transform: rotate(0.05deg);
    }

    .about_sec_dl {
        width: calc(420 / 680 * 100%);
        margin: 0 auto;
    }

    .about_sec_dl dt {
        width: calc(100 / 420 * 100%);
        margin: 0 0 calc(10 / 420 * 100%);
        -webkit-transform: rotate(0.05deg);
        font-size: 2rem;
        transform: rotate(0.05deg);
    }

    .about_sec_dl dt::after {
        margin: 0 calc(-26 / 100 * 100%) 0 0;
    }

    .about_sec_dl dd {
        font-size: 2rem;
        width: calc(280 / 420 * 100%);
        margin: 0 0 calc(10 / 420 * 100%);
        -webkit-transform: rotate(0.05deg);
        transform: rotate(0.05deg);
    }

    .about_sec2_details:last-child dd a {
        padding-left: 3rem;
    }

    .about_sec2 {
        width: calc(1280 / 1300 * 100%);
        margin: 0 auto;
        padding: calc(100 / 1300 * 100%) 0;
        background-size: calc(814 / 1300 * 100%) auto;
        border-radius: calc(60 / 1300 * 100vw);
    }

    .about_sec2_list {
        width: calc(980 / 1280 * 100%);
    }

    .about_sec2_list li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: start;
        -ms-flex-align: start;
        -ms-align-items: center;
        align-items: center;
    }

    .about_sec2_list li:not(:last-child) {
        margin: 0 0 calc(60 / 980 * 100%);
    }

    .about_sec2_list li:nth-child(even) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .about_sec2_details {
        width: calc(465 / 980 * 100%);
        margin: 0 auto;
    }

    .about_sec2_details:last-child {
        width: 100%;
    }

    .about_sec2_details:last-child dt {
        width: calc(630 / 980 * 100%);
        margin-right: auto;
        margin-left: auto
    }

/*
    .about_sec2_details:last-child dd {
        text-align: center;
    }
*/


    /*
    .about_sec2_details:before {
        width: calc(60 / 1300 * 100vw);
        height: calc(60 / 1300 * 100vw);
        margin: 0 auto calc(30 / 465 * 100%);
        font-size: 3.6rem;
    }
*/

    .about_sec2_details dt {
        margin: 0 0 1.3em;
        font-size: 2.8rem;
    }

    .about_sec2_details dd {
        font-size: 2rem;
        line-height: 2.25;
        -webkit-transform: rotate(0.05deg);
        transform: rotate(0.05deg);
    }

    .about_sec2_illust {
        width: calc(465 / 980 * 100%);
    }

    .about_sec2_details dd p {
        padding-left: 0;
    }

    .about_sec2_details dd p::before {
        position: relative;
        margin-right: 5px;
    }
}

@media screen and (min-width:1300px) {
    .about {
        padding: 100px 0 170px;
    }

    .about_photo img {
        border-radius: 60px;
    }

    .about_sec2 {
        background-size: 814px auto;
        border-radius: 60px;
    }

    .about_sec2_details:before {
        width: 60px;
        height: 60px;
    }
}

/* =====================================================================
*    about Slider
* =================================================================== */
.about_view .slick-list {
    width: 83%;
    margin: auto;
}

.about_view .slick-dots {
    left: 0;
    right: 0;
    bottom: -11vw;
    justify-content: center;
}

.about_view .slick-track li {
    width: 100% !important;
    margin: auto;
    display: block !important;
/*    padding-bottom: calc(30 / 750 * 100%);*/
}

.about_view .slick-dots li {
    margin: 0 calc(25 / 1600 * 100vw);
    width: calc(50 / 750 * 100vw);
    height: calc(50 / 750 * 100vw);
}

.about_view .slick-dots li::before {
    background-color: rgba(238, 238, 238, 1);
    width: calc(15 / 750 * 100vw);
    height: calc(15 / 750 * 100vw);
}

.about_view .slick-dots li.slick-active {
    border: 1px solid #8fc31f;
}

.about_view .slick-dots li.slick-active::before {
    background-color: #8fc31f;
}

.about_view .slick-arrow {
    position: absolute;
    background: url(../images/top/about/ico_about_arrow.png) no-repeat center;
    -webkit-background-size: contain;
    background-size: contain;
    border: none;
    margin: auto 0;
    bottom: 0;
    top: 0;
    height: calc(60 / 750 * 100vw);
    width: calc(35 / 750 * 100vw);
    max-width: 110px;
    z-index: 2;
}

.about_view .slick-arrow.next {
    right: 1%;
    transform: scale(-1, 1);
}

.about_view .slick-arrow.prev {
    left: 1%;
}

.view_slide li .caption {
    font-size: 2rem;
    text-align: center;
    display: block;
    margin-top: calc(40 / 750 * 100%);
    line-height: 1.5;}

@media screen and (min-width:768px) {
    .about_view {
        width: calc(750 / 1300 * 100%);
        padding-bottom: calc(50 / 750 * 100%);
    }

    .about_view .slick-dots {
        margin: auto;
        bottom: -20%;
    }

    .about_view .slick-dots li {
        max-width: 50px;
        max-height: 50px;
        width: calc(40 / 1600 * 100vw);
        height: calc(40 / 1600 * 100vw);
    }

    .about_view .slick-dots li::before {
        width: calc(15 / 1600 * 100vw);
        height: calc(15 / 1600 * 100vw);
    }

    .about_view .slick-arrow {
        background: url(../images/top/about/ico_about_arrow.png) no-repeat center center;
        border: none;
        margin: auto 0;
        bottom: 0;
        top: 0;
        height: calc(60 / 1600 * 100vw);
        max-height: 60px;
    }

    .about_view .slick-track li {
        width: 100% !important;
/*        padding-bottom: calc(20 / 750 * 100%);*/

    }

    .about_view .slick-arrow.next {
        right: -3%;
    }

    .about_view .slick-arrow.prev {
        left: -3%;
    }

    .view_slide li .caption {
        font-size: 1.6rem;
        margin-top: calc(20 / 750 * 100%);
    }
}

/* =====================================================================
*    add css 2019.12.12
* =================================================================== */

@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?1239ll');
  src:  url('fonts/icomoon.eot?1239ll#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?1239ll') format('truetype'),
    url('fonts/icomoon.woff?1239ll') format('woff'),
    url('fonts/icomoon.svg?1239ll#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-twitter:before {
  content: "\ea96";
}

.icon-twitter:before {
  content: "\ea96";
  color:#1DA1F2;
}
