@charset "utf-8";

#header .navArea ul.navi a.p_home:before {
    background: #ddd;
}

#header .navArea ul.navi a.p_home:hover:before {
    background: transparent;
}

/* -----------------------------------------------------------

#topImg

----------------------------------------------------------- */
#topImg {
    min-height: 100%;
    min-height: 90vh;
    width: 100%;
    z-index: 2;
    position: relative;
    top: 0;
}

/* ----- .catchArea ----- */
#topImg .catchArea {
    position: absolute;
    bottom: -60px;
    right: 0;
    left: 0;
    text-align: center;
    z-index: 2;
}

#topImg .catchArea h2 {
    font-size: 12px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    letter-spacing: 8px;
    line-height: 50px;
}

#topImg .catchArea h2 img {
    width: 200px;
}

#topImg .catchArea h2 span {
    font-size: 11px;
    font-family: 'Open Sans';
    vertical-align: 0;
    font-weight: 300;
}

/* ----- .arrowArea ----- */
#topImg .arrowArea {
    position: absolute;
    bottom: 100px;
    right: 0;
    width: 10%;
    z-index: 2;
}

#topImg .arrowArea a {
    position: absolute;
    top: -90px;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 3;
}

/* span */
#topImg .arrowArea span {
    display: block;
    height: 60px;
    text-align: center;
    position: relative;
    z-index: 2;
}

#topImg .arrowArea span:before {
    position: absolute;
    top: 0;
    left: 50%;
    bottom: 0;
    width: 0;
    content: "";
    border-left: #ddd 1px dotted;
    z-index: -2;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#topImg .arrowArea:hover span:before {
    border-left: #fff 1px solid;
    top: 0px;
}

/* .dot */
#topImg .arrowArea span .dot {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1px;
    height: 20px;
    /*margin-left:-1px;*/
    background: #f0f0f0;
    background: #f0f0f0;
    z-index: -2;
    z-index: 1;
    -webkit-animation: scroll-next 4s infinite;
    -moz-animation: scroll-next 4s infinite;
    -o-animation: scroll-next 4s infinite;
    animation: scroll-next 4s infinite;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#topImg .arrowArea:hover span .dot {
    background: transparent;
}

/* .arrow */
#topImg .arrowArea .arrow {
    position: absolute;
    bottom: -15px;
    left: 50%;
    margin-left: -3px;
    width: 7px;
    height: 7px;
    border-bottom: #fefefe 1px solid;
    border-left: #fefefe 1px solid;
    /*opacity:0; */
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    opacity: 0;
    /*font-family: 'themify'; content: "\e64b"*/
    z-index: 3;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#topImg .arrowArea:hover .arrow {
    opacity: 1;
    bottom: -8.5px;
    bottom: 0px;
    border-bottom: #fafafa 1px solid;
    border-left: #fafafa 1px solid;
}

/* .txt */
#topImg .arrowArea span .txt {
    position: absolute;
    top: -45px;
    left: 0;
    right: 0;
    width: auto;
    color: #fff;
    font-size: 11px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 4px;
    line-height: 0;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#topImg .arrowArea:hover span .txt {
    /*letter-spacing:5px; */
}

/* ----- .img ----- */
#topImg .img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-size: cover;
    z-index: 1;
    padding-bottom: 00px;
}

#topImg .bg001 p {
    padding: 4% 5%;
    font-size: 25px;
    color: #fff;
    margin-top: 10px;
    text-shadow: 1px 1px 1px #000000;
}

#topImg .bg001 h2 {
    padding: 10px;
    position: absolute;
    bottom: 150px;
    right: 30px;
}

#topImg .bg001 h2 img {
    width: 250px;
}

#topImg .bg001 h3 {
    padding: 10px;
    position: absolute;
    bottom: 60px;
    right: 30px;
}

#topImg .bg001 h3 img {
    width: 400px;
}

#topImg .bg001 h4 {
    padding: 10px;
    font-size: 30px;
    color: #fff;
    text-shadow: 1px 1px 1px #000000;
    text-align: center;
    font-weight: 500;
    margin: 20% 0;
}

#topImg .bg002 h4 {
    padding: 10px;
    font-size: 30px;
    color: #fff;
    text-shadow: 1px 1px 1px #000000;
    text-align: center;
    font-weight: 500;
    margin: 30% 0;
}

#topImg .bg001 .reserve.btn,
#topImg .bg002 .reserve.btn,
#topImg .bg003 .reserve.btn,
#topImg .bg004 .reserve.btn,
#topImg .bg005 .reserve.btn {
    padding: 10px;
    color: #fff;
    text-align: center;
    font-weight: 500;
    position: absolute;
    bottom: 50px;
    left: 0;
    right: 0;
    z-index: 99999;
}

#topImg .bg001 .reserve.btn a,
#topImg .bg002 .reserve.btn a,
#topImg .bg003 .reserve.btn a,
#topImg .bg004 .reserve.btn a,
#topImg .bg005 .reserve.btn a,
.key__navi .reserve.btn a {
    background: #031d1e;
    border: 2px solid #fff;
}

#topImg .bg001 .reserve.btn a:hover,
#topImg .bg002 .reserve.btn a:hover,
#topImg .bg003 .reserve.btn a:hover,
#topImg .bg004 .reserve.btn a:hover,
#topImg .bg005 .reserve.btn a:hover,
.key__navi .reserve.btn a:hover {
    background: #fff;
    border: 2px solid #031d1e;
    color: #031d1e !important;
    text-shadow: none;
}

.topImg_img001 {
    width: 80%;
    margin: 0 10%;
    text-align: center;
    height: 50vh
}

.topImg_img001 img {
    width: 300px;
}

.topImg_img002 {
    width: 80%;
    margin: 0 10%;
    text-align: center;
    height: 50vh
}

.topImg_img002 img {
    width: 300px;
}

.topImg_img003 {
    width: 80%;
    margin: 0 10%;
    text-align: center;
    height: 50vh
}

.topImg_img003 img {
    width: 300px;
}

.topImg_img004 {
    width: 80%;
    margin: 0 10%;
    text-align: center;
    height: 50vh
}

.topImg_img004 img {
    width: 300px;
}

.topImg_img005 {
    width: 80%;
    margin: 0 10%;
    text-align: center;
    height: 50vh
}

.topImg_img005 img {
    width: 300px;
}

@media only screen and (max-width: 768px) {

    #topImg .catchArea {
        bottom: -60px;
    }

    #topImg .catchArea h2 img {
        width: 150px;
    }



    /* ----- .img ----- */
    #topImg .img {
        position: absolute;
        top: 60px;
        left: 2%;
        /* bottom: 20px; */
        right: 2%;
        background-size: cover;
        z-index: -1;
    }
}





/* ----- .bg ----- */
#topImg .bg001 {
    background: url(../images/home/mainslider/mv-1.webp) center center no-repeat;
}

#topImg .bg002 {
    background: url(../images/home/mainslider/mv-2.webp) bottom center no-repeat;
}

#topImg .bg003 {
    background: url(../images/home/mainslider/mv-3.webp) bottom center no-repeat;
}

#topImg .bg004 {
    background: url(../images/home/mainslider/mv-4.webp) bottom left no-repeat;
}

#topImg .bg005 {
    background: url(../images/home/mainslider/mv-5.webp) center center no-repeat;
}


#topImg .bg001 img {
    max-width: 250px;
    padding: 2%;
    margin: 0 auto;
    position: relative;
    top: 250px;
}

#topImg .bg002 img {
    max-width: 250px;
    padding: 2%;
    margin: 0 auto;
    position: relative;
    top: 250px;
}

#topImg .bg003 img {
    max-width: 250px;
    padding: 2%;
    margin: 0 auto;
    position: relative;
    top: 500px;
}

#topImg .bg004 img {
    max-width: 250px;
    padding: 2%;
    margin: 0 auto;
    position: relative;
    top: 180px;
}

#topImg .bg005 img {
    max-width: 250px;
    padding: 2%;
    margin: 0 auto;
    position: relative;
    top: 250px;
}


/* 
/* #topImg .bg005 { background: url(../images/home/mainslider/5.jpg) bottom center no-repeat; } */
/* #topImg .bg006 { background: url(../images/home/mainslider/6.jpg) center center no-repeat; } */
*/

/* ----- .slick-dots ----- */
#topImg .mainImg {
    min-height: 100%;
    width: 100%;
    background-size: cover !important;
}

/* ----- .mainSlider ----- */
.mainSlider {}

#topImg .slick-list,
#topImg .slick-track {
    height: 100%;
}

/* --- Arrows --- */
#topImg .slick-prev,
#topImg .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    /*top: 50%;*/
    top: 50%;
    display: block;
    width: 55px;
    height: 55px;
    padding: 0;
    margin-top: -25px;
    /*lte IE 8*/
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: #111;
    border: #111 1px solid;
    border: none;
    outline: none;
    background: none;
    /*background: #111;*/
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 2;
}

#topImg .slick-prev:before,
#topImg .slick-next:before {
    font-family: 'themify';
    font-size: 20px;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#topImg .slick-prev {
    left: -5%;
    border-right: none;
}

#topImg .slick-prev:before {
    content: "\e64a"
}

#topImg .slick-next {
    right: -5%;
    border-left: none;
}

#topImg .slick-next:before {
    content: "\e628";
}

#topImg .slick-prev:hover,
#topImg .slick-next:hover {
    color: #fefefe;
    background: #b09d7c;
}

#topImg .slick-prev:hover:before,
#topImg .slick-prev:focus:before,
#topImg .slick-next:hover:before,
#topImg .slick-next:focus:before {
    opacity: 1;
}

/* ----- .slick-dots ----- */
#topImg .slick-dots {
    position: absolute;
    top: 50%;
    bottom: auto;
    left: -5.25%;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0px;
    width: 5%;
    height: auto;
    z-index: 100;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin-top: -25px;
}

#topImg .slick-dots li {
    position: relative;
    display: block;
    height: 20px;
    width: 100%;
    margin: 25px auto 0;
    padding: 0;
    cursor: pointer;
    text-align: center;
}

#topImg .slick-dots li button {
    border: 0;
    /* background: #fefefe; */
    display: block;
    height: 20px;
    width: 30px;
    padding: 0;
    /*overflow: hidden; */
    line-height: 20px;
    font-size: 0;
    color: transparent;
    cursor: pointer;
    position: relative;
    z-index: 2;
    margin: 0 auto;
    text-align: center;
    -webkit-transition: all 1s ease-out;
    -moz-transition: all 1s ease-out;
    -o-transition: all 1s ease-out;
    transition: all 1s ease-out;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

#topImg .slick-dots li button:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    font-weight: 300;
    color: #111;
    z-index: -1;
    letter-spacing: 2px;
}

#topImg .slick-dots li:first-child button:after {
    border: #fff 2px solid;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    content: "";
}

#topImg .slick-dots li:nth-child(2) button:after {
    border: #fff 2px solid;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    content: "";
}

#topImg .slick-dots li:nth-child(3) button:after {
    border: #fff 2px solid;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    content: "";
}

#topImg .slick-dots li:nth-child(4) button:after {
    border: #fff 2px solid;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    content: "";
}

#topImg .slick-dots li:nth-child(5) button:after {
    border: #fff 2px solid;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    content: "";
}

#
/*topImg .slick-dots li:nth-child(5) button:after { content: "〇"; }
#topImg .slick-dots li:nth-child(6) button:after { content: "〇"; } */

#topImg .slick-dots li button:focus {
    outline: none;
}

#topImg .slick-dots li.slick-active button {
    outline: none;
    background: #ffffff;
    border-radius: 50%;
    width: 15px;
    height: 15px;
}

/*
#topImg .slick-dots li button:before { position: absolute; top: 45%; right: 100%; left: 0; content: ""; border-top: transparent 2px solid; z-index: 1; -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; opacity: 0.7; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0;}
*/
#topImg .slick-dots li button:before {}

#topImg .slick-dots li:hover button:before {
    right: 0;
    /* border-top: #311007 2px solid;*/
    opacity: 1;
}

#topImg .slick-dots li.slick-active button:before {
    position: absolute;
    top: 45%;
    right: 0;
    left: 0;
    content: "";
    border: none;
    /* border-top: #311007 2px solid;*/
    z-index: 1;
    opacity: 1;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}


/* ----- .slick-dots ----- */
#topImg .slick-dots {
    position: absolute;
    top: auto;
    bottom: 20px;
    left: 0;
    right: 0;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0px;
    width: 100%;
    height: auto;
    z-index: 30000;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    margin-top: 0;
}

#topImg .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 2%;
    padding: 0;
    cursor: pointer;
    text-align: center;
}

#https: //at-land.net/demo/aicot/topImg .slick-dots li button { border: 0; background: #fefefe; background:none; display: block; height: 20px; width: 20px; padding: 0; /*overflow: hidden; */ line-height: 20px; font-size: 0; color: transparent; cursor: pointer; position: relative; z-index: 2; margin: 0 auto; text-align: center; -webkit-transition: all 1s ease-out; -moz-transition: all 1s ease-out; -o-transition: all 1s ease-out; transition: all 1s ease-out; }

#topImg .slick-dots li button:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    font-size: 11px;
    color: #fefefe;
    z-index: -1;
    letter-spacing: 1.5px;
}

@media only screen and (max-width: 1600px) {

    #topImg .bg001 .reserve.btn,
    #topImg .bg002 .reserve.btn,
    #topImg .bg003 .reserve.btn,
    #topImg .bg004 .reserve.btn {
        bottom: 50px;
    }

    #topImg .slick-dots {
        /* bottom: 20px; */
    }
}

@media only screen and (max-width: 1200px) {

    #topImg .bg001 .reserve.btn,
    #topImg .bg002 .reserve.btn,
    #topImg .bg003 .reserve.btn,
    #topImg .bg004 .reserve.btn,
    #topImg .bg005 .reserve.btn {
        bottom: 50px;
    }

    #topImg .slick-dots {
        bottom: 20px;
    }
}

@media only screen and (max-width: 1000px) {

    #topImg .bg001 .reserve.btn,
    #topImg .bg002 .reserve.btn,
    #topImg .bg003 .reserve.btn,
    #topImg .bg004 .reserve.btn,
    #topImg .bg005 .reserve.btn {
        bottom: 50px;
    }

    #topImg .slick-dots {
        bottom: 40px;
    }
}

@media only screen and (max-width: 812px) {

    #topImg .bg001 .reserve.btn,
    #topImg .bg002 .reserve.btn,
    #topImg .bg003 .reserve.btn,
    #topImg .bg004 .reserve.btn,
    #topImg .bg005 .reserve.btn {
        display: none;
    }

    /* #topImg .slick-dots {
        bottom: 100px;
    } */

    #topImg .bg001 .reserve.btn a,
    #topImg .bg002 .reserve.btn a,
    #topImg .bg003 .reserve.btn a,
    #topImg .bg004 .reserve.btn a,
    #topImg .bg005 .reserve.btn a {
        padding: 0 70px;
    }
}

@media only screen and (min-width: 812px) {
    .key__navi .reserve.btn {
        display: none;
    }
}

@media only screen and (max-width: 800px) {
    #topImg {
        min-height: 100%;
        /* height: 100vh; */
        height: 500px;
    }

    /* ----- .catchArea ----- */
    #topImg .catchArea {
        position: absolute;
        bottom: 0;
    }

    #topImg .catchArea h2 {
        font-size: 12px;
        letter-spacing: 5px;
        line-height: 50px;
    }

    #topImg .catchArea h2 span {
        vertical-align: 0;
    }

    /* ----- .arrowArea ----- */
    #topImg .arrowArea {
        display: none;
    }

    /* ----- .img ----- */
    #topImg .img {
        position: absolute;
        top: 50px;
        left: 0;
        /* bottom: 50px; */
        right: 0;
        background-size: cover;
        z-index: -1;
    }

    /* ----- .slick-dots ----- */
    #topImg .mainImg {
        min-height: 100%;
        width: 100%;
        background-size: cover !important;
    }

    /* ----- .mainSlider ----- */
    .mainSlider {}

    #topImg .slick-list,
    #topImg .slick-track {
        height: 100%;
    }

    /* ----- .slick-dots ----- */
    /* #topImg .slick-dots { position: absolute; top: auto; bottom:10px; left: 0; right:0; list-style: none; display: block; text-align: center; padding: 0px; width: 100%; height: auto; z-index: 100; -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); margin-top: 0; } */
    #topImg .slick-dots li {
        position: relative;
        display: inline-block;
        height: 20px;
        width: 20px;
        margin: 0 2%;
        padding: 0;
        cursor: pointer;
        text-align: center;
    }

    #topImg .slick-dots li button {
        border: 0;
        background: #fefefe;
        background: none;
        display: block;
        height: 20px;
        width: 20px;
        padding: 0;
        /*overflow: hidden; */
        line-height: 20px;
        font-size: 0;
        color: transparent;
        cursor: pointer;
        position: relative;
        z-index: 2;
        margin: 0 auto;
        text-align: center;
        -webkit-transition: all 1s ease-out;
        -moz-transition: all 1s ease-out;
        -o-transition: all 1s ease-out;
        transition: all 1s ease-out;
    }

    #topImg .slick-dots li button:after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        font-size: 11px;
        color: #fefefe;
        z-index: -1;
        letter-spacing: 1.5px;
    }

}

@media only screen and (max-width: 1024px) {
    #topImg .bg001 img {
        max-width: 250px;
        padding: 3%;
        text-align: center;
        position: absolute;
        top: 30%;
        left: 30%;
        right: 35%;
    }

    #topImg .bg002 img {
        width: 54%;
        padding: 3%;
        position: absolute;
        top: 30%;
        left: 20%;
        right: 20%;
    }

    #topImg .bg003 img {
        max-width: 250px;
        padding: 3%
    }
}


@media only screen and (max-width: 768px) {
    #topImg .catchArea h2 {
        font-size: 11px;
        text-indent: 10px;
    }

    /* ----- .bg ----- */
    #topImg .bg001 {
        background: url(../images/home/mainslider/mv-1-sp.webp) center center no-repeat;
    }

    #topImg .bg002 {
        background: url(../images/home/mainslider/mv-2-sp.webp) bottom center no-repeat;
    }

    #topImg .bg003 {
        background: url(../images/home/mainslider/mv-3-sp.webp) bottom center no-repeat;
    }

    #topImg .bg004 {
        background: url(../images/home/mainslider/mv-4-sp.webp) bottom center no-repeat;
    }

    #topImg .bg005 {
        background: url(../images/home/mainslider/mv-5-sp.webp) bottom center no-repeat;
    }

    #topImg .bg001 img {
        max-width: 150px;
        padding: 3% 0;
    }

    #topImg .bg002 img {
        max-width: 150px;
        padding: 3%
    }

    #topImg .bg003 img {
        max-width: 150px;
        padding: 3%
    }


}

@media only screen and (max-width: 414px) {
    #topImg .catchArea h2 {
        font-size: 10px;
    }

    #topImg .slick-dots li button:after {
        font-weight: 600;
    }

    #topImg .bg001 img {
        max-width: 150px;
        padding: 3% 0;
    }

    #topImg .bg002 img {
        max-width: 150px;
        padding: 3%
    }

    #topImg .bg003 img {
        max-width: 150px;
        padding: 3%
    }

    #topImg .bg001 h4 {
        font-size: 20px;
    }
}

@media only screen and (max-width: 380px) {
    #topImg .catchArea h2 {
        letter-spacing: 4px;
    }

    #topImg .bg004 img {
        max-width: 200px;
        padding: 2%;
        margin: 0 auto;
        position: relative;
        top: 160px;
    }

    #topImg .bg002 h4 {
        margin: 50% 0;
        font-size: 20px;
    }
}

@media only screen and (max-width: 320px) {
    #topImg .catchArea h2 {
        letter-spacing: 3px;
    }
}








#box_pickup {
    /* padding: 59px 0 0; */
    /* margin: -59px 0 0; */
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.box_senior {
    position: relative;
    margin: 50px 1em;
    padding: 0px 10px 7px;
    border: solid 1px #311007;
}

.box_senior .box-title {
    /* height: 30px; */
    background: #031d1e;
    color: #ffffff !important;
    font-weight: bold;
    padding: 10px;
    margin: 0px -10px;
    text-align: center;
}

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

.item_60 img {
    width: 100%;
    padding: 3%;
}

.item_60 {
    width: 100%;
    padding: 2%;
    /* text-align: center; */
}

.item_60 img {
    width: 100%;
}

.item_40 .tTaisho,
.item_60 .tTaisho {
    font-size: 25px;
    margin-bottom: 20px;
    font-weight: 600;
    margin-top: 50px;
    color: #031d1e;
}

.item_60 .kyu {
    font-size: 16px;
    color: #000;
    font-weight: 500;
    border: 0px solid #ddd;
    padding: 1%;
    margin: 1%;
    background: #f0d174;
}

@media only screen and (max-width: 500px) {



    .box_senior .box-title {
        font-size: 20px;
        /* width:100%; */
        padding: 1%;
        line-height: 1.2;
    }

    .item_40 .tTaisho,
    .item_60 .tTaisho {
        font-size: 20px;
    }

}


.video {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: 10px;
}

.video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}





@media (min-width : 600px) {
    .flexbox {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        /* max-width: 1200px; */
        justify-content: center;
        /* 子要素をflexboxにより中央に配置する */
        /* align-items: center; */
        /* 子要素をflexboxにより中央に配置する */
        /* margin-bottom: 100px; */
    }

    .item_40 {
        width: 40%;
        padding: 2%;
    }

    .item_40 img {
        width: 100%;
        padding: 3%;
    }

    .item_60 {
        width: 50%;
        padding: 2%;
        text-align: left;
    }

    .item_60 img {
        width: 100%;
    }

    .item_40 .tTaisho,
    .item_60 .tTaisho {
        font-size: 18px;
        margin-bottom: 20px;
        font-weight: 600;
        margin-top: 50px;
    }

    .item_60 .kyu {
        font-size: 16px;
        color: #000;
        font-weight: 500;
        border: 0px solid #ddd;
        padding: 1%;
        margin: 1%;
        background: #f0d174;
    }

    .item_50 {
        width: 60%
    }



    .item2 {
        width: 100%;
    }

    .item2 img {
        width: 50%;
    }

    .item p,
    .item2 p {
        /* text-align:left; */
        /* font-size: 17px; */
        /* font-weight:600; */
        /* line-height: 1.7; */
        /* padding: 2%; */
    }

    .item2_pic {
        background: #000;
        color: #fff;
        padding: 3px;
        position: absolute;
        top: -35px;
        padding: 1%;
        font-size: 18px;
        left: 40px;
    }

    .item2_picA {
        background: #ffb03f;
        color: #000;
        padding: 3px;
        position: absolute;
        top: -15px;
        padding: 2%;
        font-size: 18px;
    }

    .item2_txt {
        text-align: left;
        font-size: 16px;
        font-weight: 500;
        line-height: 2;
        padding: 2%;
        padding-top: 3%;
    }

    /* 	.item2_title span color:#fff; padding:5px;} */

}

.pc {
    display: block !important;
}

.sp {
    display: none !important;
}

@media only screen and (max-width: 750px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }
}


/* -----------------------------------------------------------

#catchLink

----------------------------------------------------------- */

#catchLink {
    padding: 59px 0 0;
    margin: -59px 0 0;
}

/* -----------------------------------------------------------

#catch

----------------------------------------------------------- */

#catch {
    padding: 40px 0 90px;
    padding: 0;
    padding-left: 0px;
}

#catch span {
    padding-left: 15px;
    line-height: 2.2;
    font-size: 18px;
}




#catch .titel_plan:before {
    font-family: 'themify';
    content: "\e642";
    content: url(../images/home/title_plan.png) no-repweat;
    font-size: 28px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*position: absolute;
    top: 0;
    left: 10px;*/
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding-right: 10px;
}

#catch .titel_ex:before {
    font-family: 'themify';
    content: "\e6a8";
    /*content: url(https://img.icons8.com/material-outlined/48/000000/building-with-top-view.png);*/
    font-size: 28px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*position: absolute;
    top: 0;
    left: 10px;*/
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding-right: 10px;
}


#catch .titel_about:before {
    font-family: 'themify';
    content: "\e67c";
    font-size: 28px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*position: absolute;
    top: 0;
    left: 10px;*/
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding-right: 10px;
}







@media only screen and (max-width: 1024px) {
    #catch {
        padding: 30px 5% 80px;
    }
}


@media only screen and (max-width: 800px) {
    #catch {
        padding: 10px 5% 5px;
    }
}

@media only screen and (max-width: 738px) {
    #catch {
        padding: 30px 5% 70px;
    }
}

@media only screen and (max-width: 500px) {
    #catch {
        padding: 40px 5% 0px;
    }

    #catch span {
        padding-left: 15px;
        line-height: 2.8;
        font-size: 16px;
    }

}

/* --- h3 --- */
#catch h3,
#instagram h3 {
    font-size: 35px;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 1;
    padding-bottom: 20px;
    position: relative;
    /* relativeに設定 */
}

#catch h3.animated-border {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 70px;
}

#catch h3.animated-border .h3_flex {
    font-size: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#catch h3::after,
#instagram h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: #031d1e7a;
    transform: scaleX(0);
    /* 初期状態ではスケール0 */
    transform-origin: left;
    transition: transform 2s ease;
    /* トランジション設定 */
}

#catch h3.border-visible::after,
#instagram h3.border-visible::after {
    transform: scaleX(1);
    /* スケールを1に変更 */
}

#catch h3 br.spblock {
    display: none;
}



#catch h3.en {
    font-size: 13px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.0;
}

#catch h3.jp {
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 3px;
    line-height: 1.0;
}

#catch h3.en img {
    max-width: 634px;
    width: 100%;
}



@media only screen and (max-width: 1024px) {
    #catch h3 {
        margin-top: 15px;
        font-size: 30px;
    }
}

@media only screen and (max-width: 800px) {
    #catch h3 {
        margin-top: 15px;
        font-size: 30px;
        /* font-family: 'Catamaran', sans-serif; */
        font-weight: 600;
    }
}

@media only screen and (max-width: 738px) {
    #catch h3 {
        font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8;
        margin-top: 10px;
        color: #031d1e;
        font-family: "Poiret One", sans-serif;
        font-weight: bold;
    }

    #catch h3 br.spblock {
        display: block;
    }
}

@media only screen and (max-width: 414px) {
    #catch h3 {
        font-size: 25px;
        letter-spacing: 2px;
        line-height: 1.8;
        text-align: center;
    }
}

@media only screen and (max-width: 320px) {
    #catch h3 span {
        display: block
    }
}

/* --- .iconIllust --- */
#catch .iconIllust {
    width: 500px;
    height: auto;
    margin: 0 auto;
    /* background:url(../images/home/illust_logo.png) center center no-repeat; */
    background-size: 200px 196px;
    position: relative;
    z-index: 0;
}

@media only screen and (max-width: 738px) {
    #catch .iconIllust {
        width: 150px;
        height: 150px;
        background-size: 150px 150px;
    }
}

@media only screen and (max-width: 414px) {
    #catch .iconIllust {
        width: 120px;
        height: 120px;
        background-size: 120px 120px;
    }
}

/* --- .txtArea --- */
#catch .txtArea {
    margin: 25px auto 0;
    max-width: 700px;
}

#catch .txtArea p {
    font-size: 14px;
    line-height: 2.4;
    letter-spacing: 2px;
    margin-top: 1em;
}



@media only screen and (max-width: 738px) {
    #catch .txtArea {
        margin: 20px auto 0;
        padding: 0 2.5%;
        text-align: left;
    }

    #catch .txtArea p {
        font-size: 13px;
        line-height: 2;
        letter-spacing: 1px;
        margin-top: 1em;
    }

    #catch .txtArea p br {
        display: none;
    }
}







/* フレックスボックス
-----------------------------------------------------------------*/

#catch .catch_ex {
    /* display: -webkit-box; */
    display: -ms-flexbox;
    /* display: -webkit-flex; */
    /* display: flex; */
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    /* flex-wrap: wrap; */
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    /* border: 1px solid #eee; */
    padding: 0em;
    margin: 0 auto;
}

#catch .catch_ex a {
    width: 100%;
    margin: 0 auto;
}

#catch .catch_ex a:hover {
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}



#catch .catch_ex>div {
    flex: 1 0 300px;
}

#catch .catch_ex img {
    padding: 10px;
}

#catch .catch_ex p {
    padding: 5px 0;
    font-size: 18px;
    line-height: 1.1;
}

@media only screen and (max-width: 330px) {
    #catch .catch_ex>div {
        flex: 1 0 260px;
    }
}







/* -----------------------------------------------------------

#academy_area

----------------------------------------------------------- */

#academy_area {
    padding: 40px 0 90px;
    padding: 30px 0 90px;
    text-align: center;
    background: #fefefe;
    /* width: 1000px; */
    /* margin: 0 auto; */
    /* background: url(../images/home/catch_bg.jpg) top right no-repeat; */
    background-size: cover;
}

@media only screen and (max-width: 1024px) {
    #academy_area {
        padding: 30px 5% 80px;
    }
}


@media only screen and (max-width: 800px) {
    #academy_area {
        padding: 30px 5% 80px;
    }
}

@media only screen and (max-width: 738px) {
    #academy_area {
        padding: 30px 5% 70px;
    }
}

@media only screen and (max-width: 414px) {
    #academy_area {
        padding: 20px 5% 60px;
    }
}

/* --- h3 --- */
#academy_area h3 {
    /* font-size:25px; */
    /* font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, serif; */
    /* letter-spacing:3px; */
    /* line-height:2; */
    margin-top: 10px;
    font-size: 20px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.2;
}

#academy_area h3 br.spblock {
    display: none;
}



#academy_area h3.en {
    font-size: 13px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.0;
}

#academy_area h3.jp {
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 3px;
    line-height: 1.0;
}

#academy_area h3.en img {
    width: 634px;
}



@media only screen and (max-width: 1024px) {
    #academy_area h3 {
        margin-top: 15px;
        font-size: 22px;
    }
}

@media only screen and (max-width: 800px) {
    #academy_area h3 {
        margin-top: 15px;
        font-size: 30px;
        font-family: 'Catamaran', sans-serif;
        font-weight: 600;
    }
}

@media only screen and (max-width: 738px) {
    #academy_area h3 {
        font-size: 18px;
        letter-spacing: 2px;
        line-height: 1.8;
        margin-top: 10px;
    }

    #academy_area h3 br.spblock {
        display: block;
    }
}

@media only screen and (max-width: 414px) {
    #academy_area h3 {
        font-size: 16px;
        letter-spacing: 2px;
        line-height: 1.8;
        text-align: center;
    }
}

/* --- .iconIllust --- */
#academy_area .iconIllust {
    width: 500px;
    height: auto;
    margin: 0 auto;
    /* background:url(../images/home/illust_logo.png) center center no-repeat; */
    background-size: 200px 196px;
    position: relative;
    z-index: 0;
}

@media only screen and (max-width: 738px) {
    #academy_area .iconIllust {
        width: 150px;
        height: 150px;
        background-size: 150px 150px;
    }
}

@media only screen and (max-width: 414px) {
    #academy_area .iconIllust {
        width: 120px;
        height: 120px;
        background-size: 120px 120px;
    }
}

/* --- .txtArea --- */
#academy_area .txtArea {
    margin: 25px auto 0;
    max-width: 700px;
}

#academy_area .txtArea p {
    font-size: 14px;
    line-height: 2.4;
    letter-spacing: 2px;
    margin-top: 1em;
}



@media only screen and (max-width: 738px) {
    #academy_area .txtArea {
        margin: 20px auto 0;
        padding: 0 2.5%;
        text-align: left;
    }

    #academy_area .txtArea p {
        font-size: 13px;
        line-height: 2;
        letter-spacing: 1px;
        margin-top: 1em;
    }

    #academy_area .txtArea p br {
        display: none;
    }
}



/* フレックスボックス2
-----------------------------------------------------------------*/


#academy_area .catch_ex2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    border: 1px solid #eee;
    padding: 0em;
    margin: 0 auto;
}

#academy_area .catch_ex2 a {
    width: 100%;
    margin: 0 auto;
}

#academy_area .catch_ex2 a:hover {
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}



#academy_area .catch_ex2>div {
    flex: 1 0 300px;
}

#academy_area .catch_ex2 img {
    padding: 10px;
}

#academy_area .catch_ex2 p {
    padding: 5px 0;
    font-size: 20px;
    line-height: 1.1;
}

@media only screen and (max-width: 330px) {
    #academy_area .catch_ex2>div {
        flex: 1 0 260px;
    }
}



@media only screen and (max-width: 414px) {
    #academy_area .txtArea p {
        font-size: 12px;
    }

    #academy_area .catch_ex p {
        padding-top: 10px;
        font-size: 14px;
        line-height: 1.5;
    }

}












/* フレックスボックス
-----------------------------------------------------------------*/

#catch .catch_ex {
    /* display: -webkit-box; */
    display: -ms-flexbox;
    /* display: -webkit-flex; */
    /* display: flex; */
    -ms-flex-wrap: wrap;
    /* -webkit-flex-wrap: wrap; */
    /* flex-wrap: wrap; */
    /* -webkit-box-align: center; */
    -ms-flex-align: center;
    /* -webkit-align-items: center; */
    /* align-items: center; */
    /* border: 1px solid #eee; */
    padding: 5px;
    /* margin: 50px auto 0; */
    text-align: left;
    width: 100%;
    padding-top: 30px;
    max-width: 1000px;
}

#catch .catch_ex img {
    max-width: 1000px;
    margin: auto;
}

@media only screen and (max-width: 812px) {
    #catch .catch_ex {
        padding-top: 0px;
    }
}


#catch .catch_ex>div {
    flex: 1 0 300px;
}

#catch .catch_ex img {
    padding: 10px;
}

#catch .catch_ex p {
    padding: 2px 0;
    font-size: 15px;
    line-height: 1.1;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 2px;
    margin-top: 0.2em;
    font-family: 'Playfair Display', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, serif;
}

@media only screen and (max-width: 330px) {
    #catch .catch_ex>div {
        flex: 1 0 260px;
    }
}

#catch .catch_ex a {
    transition: all .5s;
    width: 100%;
    margin: 0 auto;
}

#catch .catch_ex a:hover {
    position: relative;
    top: -10px;
    opacity: 1;
    transition: all .5s;
}


/* フレックスボックス2
-----------------------------------------------------------------*/


#catch .catch_ex2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    border: 1px solid #eee;
    padding: 0em;
    margin: 0 auto;
}

#catch .catch_ex2 a {
    width: 100%;
    margin: 0 auto;
}

#catch .catch_ex2 a:hover {
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}



#catch .catch_ex2>div {
    flex: 1 0 300px;
}

#catch .catch_ex2 img {
    padding: 10px;
}

#catch .catch_ex2 p {
    padding: 5px 0;
    font-size: 20px;
    line-height: 1.1;
}

@media only screen and (max-width: 330px) {
    #catch .catch_ex2>div {
        flex: 1 0 260px;
    }
}



@media only screen and (max-width: 414px) {
    #catch .txtArea p {
        font-size: 12px;
    }

    #catch .catch_ex p {
        padding-top: 10px;
        font-size: 14px;
        line-height: 1.5;
    }

}


/* --- .illustArea --- */
.illustArea {
    margin: 45px auto 0;
    max-width: 650px;
    height: auto;
}

@media only screen and (max-width: 800px) {
    .illustArea {
        margin: 40px auto 0;
    }
}

@media only screen and (max-width: 738px) {
    .illustArea {
        margin: 35px auto 0;
    }
}

@media only screen and (max-width: 414px) {
    .illustArea {
        margin: 30px auto 0;
    }
}

.boxInfo {
    border: 2px solid #de5252;
    padding: 10px;
    text-align: center;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.boxInfo p {
    font-size: 18px;
}

.boxInfo p span {
    font-size: 16px;
}

@media only screen and (max-width: 1024px) {
    .boxInfo {
        width: 80%;
        margin: 0 10%;
    }
}

@media only screen and (max-width: 500px) {
    .boxInfo p {
        font-size: 16px;
    }

    .boxInfo p span {
        font-size: 15px;
    }
}



/* -----------------------------------------------------------

#w_about

----------------------------------------------------------- */

#w_about {
    padding: 0px 0% 20px;
    position: relative;
    z-index: 1;
    text-align: center;
}

#w_about h3 {
    margin: 0 auto;
    font-size: 25px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, serif;
    letter-spacing: 2.5px;
    line-height: 1.8;
    text-align: left;
}

/* --- .conceptArea --- */
#w_about .descriptionArea {
    margin-top: 20px;
    position: relative;
    z-index: 1;
    margin: 20px auto 0;
}

#w_about .descriptionArea p {
    font-size: 14px;
    line-height: 2.4;
    letter-spacing: 2px;
    margin-top: 1em;
}

/* --- .nameArea --- */
#w_about .nameArea {
    margin: 40px 0;
    position: relative;
    z-index: 2;
}

#w_about .nameArea:before {
    position: absolute;
    top: 7px;
    left: 0;
    bottom: 7px;
    right: 0;
    content: "";
    /* border: #fff 1px solid; */
    /* background: #fefefe; */
    z-index: -2;
}

#w_about .nameArea:after {
    position: absolute;
    top: 0;
    left: 7px;
    bottom: 0;
    right: 7px;
    content: "";
    /* border: #fff 1px dotted; */
    z-index: -2;
}

/* --- .inner --- */
#w_about .nameArea .inner {
    padding: 70px 5%;
}

/* .imgArea */
#w_about .nameArea .imgArea {
    float: left;
    width: 95%;
    position: relative;
    z-index: 1;
    margin: 1%;
    margin-bottom: 10px
}

#w_about .nameArea .imgArea:before {
    position: absolute;
    top: 10px;
    right: 20px;
    left: 20px;
    bottom: 10px;
    content: "";
    border-top: #fefefe 1px solid;
    border-bottom: #fefefe 1px solid;
    z-index: 2;
}

#w_about .nameArea .imgArea:after {
    position: absolute;
    top: 20px;
    right: 10px;
    left: 10px;
    bottom: 20px;
    content: "";
    border-right: #fefefe 1px solid;
    border-left: #fefefe 1px solid;
    z-index: 2;
}

#w_about h3 {
    font-size: 16px;
    /* border-top: 1px solid #eee; */
    /* border-bottom: 1px solid #eee; */
    margin-bottom: 20px;
    text-align: left;
    padding-left: 10px;
}


#w_about h3:before {
    padding-right: 8px;
    font-size: 15px;
    text-align: left;
    font-family: 'FontAwesome';
    content: "\f18c";
    /* content: url(../images/icon_mark01.svg); */
    font-weight: normal;
    color: #000;
}




/* .txtArea */
#w_about .nameArea .txtArea {
    float: left;
    width: 50%;
    text-align: left;
    margin-bottom: 20px;
}

#w_about .nameArea .txtArea .txtBox {
    margin: 0 auto;
    /* max-width:450px; */
    width: 95%;
    margin: 0 2.5%;
}

#w_about .nameArea .txtArea h3 {}

#w_about .nameArea .txtArea h4 {
    font-size: 30px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, serif;
    font-weight: normal;
    letter-spacing: 1px;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 25px;
    padding-bottom: 20px;
    position: relative;
    z-index: 2;
}

#w_about .nameArea .txtArea h4 b {
    display: block;
    font-size: 15px;
    font-weight: normal;
    vertical-align: 0;
}

#w_about .nameArea .txtArea h4:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 50px;
    height: 0;
    margin-left: -25px;
    content: "";
    border-top: #ddd double;
    z-index: -1;
}

#w_about .nameArea .txtArea p {
    font-size: 14px;
    line-height: 2.5;
    letter-spacing: 2px;
    margin-top: 30px;
    text-align: left;
    display: inline;
}

/* .txtArea */
#w_about .nameArea .txtArea_100 {
    float: left;
    width: 100%;
    text-align: left;
}

#w_about .nameArea .txtArea_100 .txtBox {
    margin: 0 auto;
    /* max-width:450px; */
    width: 95%;
    margin: 0 2.5%;
}

#w_about .nameArea .txtArea_100 h3 {}

#w_about .nameArea .txtArea_100 h4 {
    font-size: 30px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, serif;
    font-weight: normal;
    letter-spacing: 1px;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 25px;
    padding-bottom: 20px;
    position: relative;
    z-index: 2;
}

#w_about .nameArea .txtArea_100 h4 b {
    display: block;
    font-size: 15px;
    font-weight: normal;
    vertical-align: 0;
}

#w_about .nameArea .txtArea_100 h4:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 50px;
    height: 0;
    margin-left: -25px;
    content: "";
    border-top: #ddd double;
    z-index: -1;
}

#w_about .nameArea .txtArea_100 p {
    font-size: 14px;
    line-height: 2.4;
    letter-spacing: 2px;
    margin-top: 30px;
    text-align: left;
}



#w_about .nameArea .txtArea p:before {

    padding-right: 10px;
    font-size: 15px;
    text-align: left;
    font-family: 'FontAwesome';
    content: "\f219";
    font-weight: normal;
    color: #A560A3;
}



#w_about .nameArea .txtArea .i_phone:before {

    padding-right: 10px;
    font-size: 15px;
    text-align: left;
    font-family: 'FontAwesome';
    content: "\f095";
    font-weight: normal;
    color: #FF9800;
}

#w_about .nameArea .txtArea .i_mail:before {
    padding-right: 10px;
    font-size: 15px;
    text-align: left;
    font-family: 'FontAwesome';
    content: "\f003";
    font-weight: normal;
    color: #A560A3;
}



#w_about .nameArea .sign {
    margin-top: 30px;
    width: 100%;
    height: 65px;
    /* background:url(../images/about/sign.png) center right no-repeat;*/
}


@media only screen and (max-width: 1024px) {
    #w_about {
        padding: 0px 0% 20px;
        position: relative;
        z-index: 1;
        text-align: center;
    }

    #w_about .nameArea .txtArea p {
        font-size: 13px;
        line-height: 2.2;
        letter-spacing: 1px;
    }
}

@media only screen and (max-width: 812px) {
    #w_about {
        padding: 0px 5% 40px;
    }

    #w_about h3 {
        margin: 0 auto;
        font-size: 20px;
        margin-bottom: 20px;
    }


    /* --- .nameArea --- */
    #w_about .nameArea {
        margin: 10px 0 0;
    }

    /* --- .inner --- */
    #w_about .nameArea .inner {
        padding: 60px 6%;
    }

    /* .imgArea */
    #w_about .nameArea .imgArea {
        width: 100%;
    }

    /* .txtArea */
    #w_about .nameArea .txtArea {
        width: 50%;
    }

    #w_about .nameArea .txtArea h4 {
        font-size: 25px;
        margin-bottom: 20px;
        margin-top: -5px;
        padding-bottom: 15px;
    }

    #w_about .nameArea .txtArea h4 b {
        font-size: 14px;
    }

    #w_about .nameArea .sign {
        margin-top: 25px;
        width: 100%;
        height: 58px;
        background-size: 150px 58px;
    }
}

@media only screen and (max-width: 738px) {
    #w_about {
        padding: 50px 5% 70px;
    }

    #w_about h3 {
        font-size: 18px;
        letter-spacing: 2px;
        line-height: 1.8;
    }

    /* --- .conceptArea --- */
    #w_about .descriptionArea {
        margin: 20px auto 0;
        padding: 0 2.5%;
        text-align: left;
    }

    #w_about .descriptionArea p {
        font-size: 13px;
        line-height: 2;
        letter-spacing: 1px;
        margin-top: 1em;
    }

    #w_about .descriptionArea p br {
        display: none;
    }

    /* --- .nameArea --- */
    #w_about .nameArea {
        margin: 60px 0 0;
    }

    /* --- .inner --- */
    #w_about .nameArea .inner {
        padding: 50px 7.5%;
    }

    /* .imgArea */
    #w_about .nameArea .imgArea {
        float: none;
        width: 100%;
        margin: 0 auto;
    }

    #w_about .nameArea .imgArea:before {
        top: 5px;
        right: 15px;
        left: 15px;
        bottom: 5px;
    }

    #w_about .nameArea .imgArea:after {
        top: 15px;
        right: 5px;
        left: 5px;
        bottom: 15px;
    }

    /* .txtArea */
    #w_about .nameArea .txtArea {
        float: none;
        width: 100%;
        margin-top: 30px;
    }

    #w_about .nameArea .txtArea .txtBox {
        max-width: 1000px;
        padding: 0 2.5%;
    }

    #w_about .nameArea .txtArea h4 {
        font-size: 20px;
    }

    #w_about .nameArea .txtArea h4 b {
        display: block;
        font-size: 15px;
        font-weight: normal;
        vertical-align: 0;
    }

    #w_about .nameArea .txtArea p {
        font-size: 12px;
        line-height: 2;
        letter-spacing: 1px;
    }

    #w_about .nameArea .sign {
        margin-top: 10px;
        width: 100%;
        height: 39px;
        background-size: 100px 39px;
    }

}

@media only screen and (max-width: 500px) {
    #w_about {
        padding: 0px 5% 30px;
    }

    #w_about h3 {
        font-size: 15px;
        letter-spacing: 2px;
        line-height: 1.8;
        text-align: center;
    }

    #w_about .descriptionArea p {
        font-size: 12px;
    }

    /* --- .nameArea --- */
    #w_about .nameArea {
        margin: 20px 0 0;
    }

    #w_about .nameArea .txtArea h4 b {
        font-size: 13px;
    }
}

#w_about .nameArea .txtArea_100 h4 {
    font-size: 20px;
    margin-top: 10px;
}

.access_map {
    padding: 10px;
    margin: 15px 0;
    background: #f7f7f7;
    border: 1px solid #fff;
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, .2), 0 -1px 0 #f2f2f2;
    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, .2), 0 -1px 0 #f2f2f2;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .2), 0 -1px 0 #f2f2f2;
    height: auto;
}










/* -----------------------------------------------------------

#photography

----------------------------------------------------------- */

#photography {
    padding: 10px 0;
    position: relative;
    z-index: 1;
    /* border-top: #a3d9e0 1px solid; */
    background: #fefefe;
    /* background: url(../images/noise.png) repeat #fefefe; */
}

#photography:before {
    position: absolute;
    top: -1px;
    left: 0%;
    right: 0%;
    height: 0;
    content: "";
    border-top: #ededed 1px solid;
    z-index: 2;
}

@media only screen and (max-width: 800px) {
    #photography {
        padding: 0 0 80px;
    }
}

@media only screen and (max-width: 738px) {
    #photography {
        padding: 0 0 70px;
        background: url(../images/noise2.png) repeat #fefefe;
    }
}

@media only screen and (max-width: 414px) {
    #photography {
        padding: 0 0 60px;
    }
}

/* ----- .headlineImg ----- */
#photography .headlineImg {
    background: url(../images/home/bg_photography.jpg) center center no-repeat;
    background-size: cover;
    padding: 200px 0;
    text-align: center;
    color: #fefefe;
    position: relative;
    z-index: 1;
}

#photography .headlineImg:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    background: #111;
    opacity: 0.2;
    z-index: 2;
}

#photography .headlineImg h2.en {
    font-size: 45px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 5px;
    position: relative;
    z-index: 3;
}

#photography .headlineImg h2.jp {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 5px;
    line-height: 1;
    margin-top: 20px;
    position: relative;
    z-index: 3;
}

@media only screen and (max-width: 1024px) {
    #photography .headlineImg {
        padding: 175px 0;
    }
}

@media only screen and (max-width: 800px) {
    #photography .headlineImg {
        padding: 150px 0;
        margin: 0;
    }

    #photography .headlineImg h2.en {
        font-size: 35px;
        letter-spacing: 4px;
        position: relative;
        z-index: 3;
    }

    #photography .headlineImg h2.jp {
        font-size: 14px;
        font-weight: bold;
        letter-spacing: 4px;
        line-height: 1;
        margin-top: 15px;
        position: relative;
        z-index: 3;
    }
}

@media only screen and (max-width: 738px) {
    #photography .headlineImg {
        background: url(../images/home/bg_photographySp.jpg) center center no-repeat;
        background-size: cover;
        padding: 125px 0;
    }

    #photography .headlineImg h2.en {
        font-size: 30px;
        letter-spacing: 3px;
        position: relative;
        z-index: 3;
    }
}

@media only screen and (max-width: 414px) {
    #photography .headlineImg {
        padding: 80px 0;
    }

    #photography .headlineImg h2.en {
        font-size: 23px;
        letter-spacing: 3px;
        position: relative;
        z-index: 3;
    }

    #photography .headlineImg h2.jp {
        font-size: 12px;
        font-weight: bold;
        letter-spacing: 3px;
        line-height: 1;
        margin-top: 10px;
        position: relative;
        z-index: 3;
    }
}




/* -----------------------------------------------------------

#instagram

----------------------------------------------------------- */

#photography {
    padding: 30px 5%;
    position: relative;
    z-index: 1;
    /* border-top: #a3d9e0 1px solid; */
}

#photography:before {
    position: absolute;
    top: -1px;
    left: 5%;
    right: 5%;
    height: 0;
    content: "";
    border-top: #ededed 1px solid;
    z-index: 2;
}

@media only screen and (max-width: 800px) {
    #photography {
        padding: 80px 5%;
    }
}

@media only screen and (max-width: 738px) {
    #photography {
        padding: 70px 5%;
    }
}

@media only screen and (max-width: 414px) {
    #photography {
        padding: 60px 5%;
    }
}


/* ----- .headline ----- */
#photography .headline {
    margin-bottom: 45px;
    text-align: center;
}

#photography .headline h2.en {
    font-size: 50px;
    /* font-family: 'Satisfy', cursive; */
    letter-spacing: 0;
    line-height: 1;
}

#photography .headline h3 {
    font-size: 14px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 1;
    margin-top: 20px;
}

#photography .headline h3 b {
    font-weight: 600;
    letter-spacing: 2px;
}


@media only screen and (max-width: 800px) {
    #photography .headline {
        margin-bottom: 40px;
    }

    #photography .headline h2.en {
        font-size: 40px;
    }

    #photography .headline h3 {
        margin-top: 15px;
    }
}

@media only screen and (max-width: 738px) {
    #photography .headline {
        margin-bottom: 30px;
    }

    #photography .headline h2.en {
        font-size: 35px;
    }
}

@media only screen and (max-width: 414px) {
    #photography .headline h2.en {
        font-size: 30px;
    }

    #photography .headline h3 {
        font-size: 13px;
        margin-top: 10px;
    }
}














/* ----- .photographyArea ----- */
#photography .photographyArea {
    margin: 0;
}

/* .photographyBox */
#photography .photographyBox {
    width: 48%;
    float: left;
    /* display: block; */
    margin: 20px 1% 80px;
    /* position: relative; */
    z-index: 2;
    background: #fefefe;
    border: #ededed 1px solid;
    padding: 30px 30px 60px 30px;
    background: #fafafa;
}

/* -#photography .photographyBox:nth-child(even) {padding:30px 0 60px 30px;} */

/* ----- .txtArea ----- */
#photography .photographyBox .txtArea {
    /* position:absolute; */
    /* top:0; */
    /* left:0; */
    /* bottom:0; */
    width: 100%;
    z-index: 1;
    display: block;
}

/* #photography .photographyBox:nth-child(even) .txtArea { left:auto; right:0; } */

/* .photographyhHead */
#photography .photographyhHead {
    display: block;
    text-align: center;
    /* position: absolute; */
    z-index: 2;
    margin-top: 50px;
    -o-transform: translate(-50%, -50%);
    /* transform: translate(-50%, -50%); */
}

/* .iconIllust */
#photography .photographyhHead .iconIllust {
    width: 90px;
    height: 90px;
    margin: 20px auto 0;
    position: relative;
    z-index: 0;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}

#photography .photographyhHead .iconIllust:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    content: "";
    border: #f0f0f0 1px solid;
    z-index: 2;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}

#photography .photographyhHead .iconIllust_location {
    /* background: url(../images/photography/location/icon.png) center center no-repeat; */
    /* background-size:80px 80px; */
}

#photography .photographyhHead .iconIllust_wedding {
    background: url(../images/photography/wedding/icon.png) center center no-repeat;
    background-size: 80px 80px;
}

#photography .photographyhHead .iconIllust_family {
    background: url(../images/photography/family/icon.png) center center no-repeat;
    background-size: 80px 80px;
}

/* h2,h3 */
#photography .photographyhHead h2 {
    font-size: 12px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 500;
    letter-spacing: 2.5px;
    line-height: 1.8;
    position: relative;
    z-index: 4;
}

#photography .photographyhHead h3.en {
    font-size: 13px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.8;
}

#photography .photographyhHead h3.jp {
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 3px;
    line-height: 1.8;
}


/* .catchArea */
#photography .catchArea {
    margin-top: 10px;
}

#photography .catchArea h4 {
    font-size: 13px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, serif;
    letter-spacing: 1px;
    line-height: 2;
}

/* .linkAreaHead */
#photography .photographyhHead .linkAreaHead {
    margin-top: 20px;
}

#photography .photographyhHead .linkAreaHead a {
    width: 160px;
    font-size: 13px;
    z-index: 1000;
}

/* ----- .imgArea ----- */
#photography .photographyBox .imgArea {
    /* float: right; */
    width: 100%;
    /* position: relative; */
    z-index: 2;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/*#photography .photographyBox:nth-child(even) .imgArea { float: left; }*/



@media only screen and (max-width: 800px) {

    /* ----- .photographyArea ----- */
    #photography .photographyArea {
        margin: 0 5%;
    }

    #photography .photographyBox,
    #photography .photographyBox:nth-child(even) {
        margin: 70px 1% 70px;
        padding: 0;
        border: #ededed 1px solid;
        background: #fefefe;
        overflow: hidden;
    }

    /* 
    #photography .photographyhHead h3.jp:after {content:''; position: absolute; left:2.5%; top:34px; width:95%; background:#000; 10px;height:1.5px;-webkit-transition:all 0.2s ease-out;
    transition:all 0.2s ease-out}
    */

    /* ----- .txtArea ----- */
    #photography .photographyBox .txtArea,
    #photography .photographyBox:nth-child(even) .txtArea {
        position: static;
        width: 100%;
        padding: 35px 5% 50px;
    }

    /* .photographyhHead */
    #photography .photographyBox .photographyhHead {
        display: block;
        text-align:
            center;
        position:
            static;
        -moz-transform:
            /*translate(0, 0);-ms-transform: translate(0, 0);-o-transform: translate(0, 0); transform: translate(0, 0); */
    }

    #photography .catchArea {
        display: block;
    }

    /* .linkAreaHead */
    #photography .photographyBox .photographyhHead .linkAreaHead {
        margin-top: 20px;
    }

    #photography .photographyhHead .iconIllust {
        width: 100px;
        height: 100px;
    }

    #photography .photographyhHead .iconIllust_location,
    #photography .photographyhHead .iconIllust_wedding,
    #photography .photographyhHead .iconIllust_family {
        background-size: 90px 90px;
    }

    /* ----- .imgArea ----- */
    #photography .photographyBox .imgArea {
        float: none;
        width: 100%;
        padding: 30px 5% 0;
        padding: 0;
        -webkit-transition: none;
        -moz-transition: none;
        -o-transition: none;
        transition: none;
    }

    #photography .photographyBox:nth-child(even) .imgArea {
        float: none;
    }

}

@media only screen and (max-width: 738px) {

    #photography .photographyBox,
    #photography .photographyBox:nth-child(even) {
        margin: 60px 0 0;
    }

    /* ----- .txtArea ----- */
    #photography .photographyBox .txtArea,
    #photography .photographyBox:nth-child(even) .txtArea {
        padding: 30px 5% 45px;
    }

    #photography .photographyhHead .iconIllust {
        width: 70px;
        height: 70px;
        margin: 15px auto 0;
    }

    #photography .photographyhHead .iconIllust_location,
    #photography .photographyhHead .iconIllust_wedding,
    #photography .photographyhHead .iconIllust_family {
        background-size: 60px 60px;
    }

    #photography .catchArea h4 {
        font-size: 12px;
    }

    #photography .photographyBox .photographyhHead .linkAreaHead {
        margin-top: 15px;
        z-index: 100;
    }
}

@media only screen and (max-width: 500px) {

    #photography .photographyBox,
    #photography .photographyBox:nth-child(even) {
        width: 100%;
        margin: 50px 0 0;
    }

    #photography .photographyhHead .linkAreaHead a {
        z-index: 10000;
    }


}






/* ----- .gallerySlider ----- */
.gallerySlider {
    margin: 0;
    padding-bottom: 0;
}

/* --- li --- */
.gallerySlider li {
    margin: 0;
    position: relative;
    background: #fefefe;
    z-index: 3;
}

/* --- .imgArea --- */
.gallerySlider li .imgArea {
    overflow: hidden;
    position: relative;
    z-index: 4;
    background: #fefefe;
}

.gallerySlider li .imgArea:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background: #fefefe;
    z-index: 5;
    opacity: 0;
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease;
}

.gallerySlider li:hover .imgArea:before {
    content: "";
    background: #e4f5fd;
    opacity: 0.8;
}

.gallerySlider li .imgArea img {
    -webkit-transition: all 2s ease;
    -moz-transition: all 2s ease;
    -o-transition: all 2s ease;
    transition: all 2s ease;
}

.gallerySlider li:hover .imgArea img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    opacity: 0.5;
}

/* Arrow */
.gallerySlider .slick-prev,
.gallerySlider .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 60px;
    height: 60px;
    padding: 0;
    /*lte IE 8*/
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: #111;
    border: #ddd 1px solid;
    border: none;
    background: #fefefe;
    outline: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    z-index: 2;
}

.gallerySlider .slick-prev:before,
.gallerySlider .slick-next:before {
    font-family: 'themify';
    font-size: 12px;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.gallerySlider .slick-prev {
    left: 0;
    margin-left: -30px;
}

.gallerySlider .slick-prev:before {
    content: "\e64a";
}

.gallerySlider .slick-next {
    margin-right: -30px;
    right: 0;
}

.gallerySlider .slick-next:before {
    content: "\e649";
}

/* --- .slick-dots --- */
.gallerySlider .slick-dots {
    bottom: -33px;
}

.gallerySlider .slick-dots li {
    position: relative;
    height: 6px;
    width: 6px;
    margin: 0 10px;
    padding: 0;
    cursor: pointer;
    text-align: center;
}

/* --- .linkArea --- */
#photography .linkArea {
    margin-bottom: 70px;
    /* position:relative; */
    z-index: 0;
}


@media only screen and (max-width: 800px) {

    /* --- Arrows --- */
    .gallerySlider .slick-prev,
    .gallerySlider .slick-next {
        width: 40px;
        height: 40px;
    }

    .gallerySlider .slick-prev {
        left: auto;
        right: 46px;
    }

    .gallerySlider .slick-next {
        right: 5px;
    }

    #photography .photographyBox:nth-child(even) .gallerySlider .slick-prev {
        left: 5px;
        right: auto;
    }

    #photography .photographyBox:nth-child(even) .gallerySlider .slick-next {
        left: 46px;
        right: auto;
    }
}

@media only screen and (max-width: 800px) {
    .gallerySlider {
        margin: 0 -1px 41px;
        padding-bottom: 0;
    }

    .gallerySlider .slick-dots {
        position: absolute;
        top: auto;
        bottom: -40px;
        right: 0;
        left: 0;
        width: 100%;
        height: 6px;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    .gallerySlider .slick-dots li {
        position: relative;
        display: inline-block;
        height: 6px;
        width: 6px;
        margin: 0px 10px;
        padding: 0;
        cursor: pointer;
        -webkit-transition: all 1s ease-out;
        -moz-transition: all 1s ease-out;
        -o-transition: all 1s ease-out;
        transition: all 1s ease-out;
        border: none;
    }

    /* --- .linkArea --- */
    #photography .linkArea {
        margin-top: 60px;
    }
}

@media only screen and (max-width: 738px) {
    .gallerySlider {
        margin: 0 -1px 31px;
    }

    .gallerySlider .slick-dots,
    #photography .photographyBox:nth-child(even) .gallerySlider .slick-dots {
        bottom: -30px;
    }

    /* --- .linkArea --- */
    #photography .linkArea {
        margin-top: 50px;
    }
}

@media only screen and (max-width: 414px) {
    #photography .linkArea {
        margin-top: 40px;
    }
}




/* -----------------------------------------------------------

#release

----------------------------------------------------------- */


#release {
    padding: 30px 5%;
    position: relative;
    z-index: 1;
    /* border-top: #a3d9e0 1px solid; */
    /* background: #eee; */
}

#release:before {
    position: absolute;
    top: -1px;
    left: 5%;
    right: 5%;
    height: 0;
    content: "";
    border-top: #eee 0px solid;
    z-index: 2;
}

@media only screen and (max-width: 1024px) {
    #release {
        padding: 30px 0;
    }
}

@media only screen and (max-width: 800px) {
    #release {
        padding: 0px 5%;
    }
}

@media only screen and (max-width: 738px) {
    #release {
        padding: 70px 5%;
    }
}

@media only screen and (max-width: 414px) {
    #release {
        padding: 10px 5%;
    }
}


/* ----- .headline ----- */
#release .headline {
    margin-bottom: 45px;
    text-align: center;
}

#release .headline h2.en {
    /* font-size:50px; */
    /* font-family: 'Satisfy', cursive; */
    /* letter-spacing:0; */
    /* line-height: 1; */
    /* font-size: 36px; */
    /* font-family: 'Satisfy', cursive; */
    /* letter-spacing: 0; */
    /* line-height: 1; */
    /* font-family: 'Catamaran', sans-serif; */
    font-size: 35px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 4px;
}

#release .headline h2.en img {
    max-width: 634px;
    margin: 0 auto;
    width: 100%;
}

#release .headline h3 {
    font-size: 15px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 1;
    margin-top: 20px;
}

#release .headline h3 b {
    font-weight: 600;
    letter-spacing: 2px;
}


@media only screen and (max-width: 800px) {
    #release .headline {
        margin-bottom: 40px;
    }

    #release .headline h2.en {
        font-size: 40px;
    }

    #release .headline h3 {
        margin-top: 15px;
    }
}

@media only screen and (max-width: 738px) {
    #release .headline {
        margin-bottom: 10px;
    }

    #release .headline h2.en {
        font-size: 35px;
    }
}

@media only screen and (max-width: 414px) {
    #release .headline h2.en {
        font-size: 24px;
    }

    #release .headline h3 {
        font-size: 13px;
        margin-top: 10px;
    }
}




/* --- .nameArea --- */
#release .nameArea {
    margin: 0;
    position: relative;
    z-index: 2;
}

#release .nameArea:before {
    position: absolute;
    top: 7px;
    left: 0;
    bottom: 7px;
    right: 0;
    content: "";
    border: #ddd 1px solid;
    background: #fefefe;
    z-index: -2;
}

/* #release .nameArea:after { position: absolute; top: 0; left: 7px; bottom: 0; right:7px; content: ""; border: #ddd 1px dotted; z-index: -2; }*/

/* --- .inner --- */
#release .nameArea .inner {
    padding: 70px 5%;
}

/* .imgArea */
#release .nameArea .imgArea {
    float: left;
    width: 22%;
    margin: 1%;
    padding: 40px;
    position: relative;
    z-index: 1;
}

#release .nameArea .imgArea {
    float: left;
    width: 22%;
    margin: 1%;
    padding: 40px;
    position: relative;
    z-index: 1;
}

#release .nameArea .imgArea:before {
    position: absolute;
    top: 0;
    right: 10px;
    left: 10px;
    bottom: 0;
    content: "";
    border-top: #ddd 1px solid;
    border-bottom: #ddd 1px solid;
    z-index: 2;
}

#release .nameArea .imgArea:after {
    position: absolute;
    top: 10px;
    right: 0;
    left: 0;
    bottom: 10px;
    content: "";
    border-right: #ddd 1px solid;
    border-left: #ddd 1px solid;
    z-index: 2;
}

#release .nameArea .imgArea img {
    /* border:#fafafa 1px solid; */
}


#release .nameArea .imgReco {
    /* display: flex; */
    /* flex-wrap: wrap; */
    border: 1px solid #eee;
    padding: 1em;
    /* background: #fff; */
    /* justify-content: center; */
    /* 子要素をflexboxにより中央に配置する */
}




.item_Reco {
    background: #f9f9f9;
    padding: 2%;
    /* border-radius: 5px; */
    /* flex: 1 0 200px; */
    margin: 1%;
    text-align: center;
    width: 48%;
    float: left;
    border: 1px solid #eee;
}

.item_Reco.w100 {
    width: 100%;
}

@media only screen and (max-width: 800px) {
    #release .nameArea:before {
        border: #eee 0px solid;
    }

    #release .nameArea .imgReco {
        /* background: #eee; */
        margin-bottom: 60px;
    }

    .item_Reco {
        /* background: #f9f9f9; */
        padding: 0.5%;
        /* border-radius: 5px; */
        /* flex: 1 0 200px; */
        margin: 0 0;
        text-align: center;
        width: 90%;
        margin: 1% 5% 60px;
        float: left;
        padding-bottom: 60px;
        border-bottom: 1px solid #eee;
    }

}

@media only screen and (max-width: 500px) {


    .item_Reco {
        /* background: #f9f9f9; */
        padding: 2% 2% 5%;
        /* border-radius: 5px; */
        /* flex: 1 0 200px; */
        margin: 0 0;
        text-align: center;
        width: 98%;
        margin: 1% 1% 50px;
        float: left;
        border: 1px solid #ddd;
    }


    #release .nameArea .imgReco {
        border: 0px solid #eee;
        margin-bottom: 30px;
    }


}



.item_Reco a:hover {
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;

}

.item_Reco h3 {
    font-size: 12px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 500;
    letter-spacing: 2.5px;
    line-height: 1.8;
    text-align: center;
    position: relative;
    z-index: 4;
    margin-top: 20px;
}

.item_Reco h4 {
    font-size: 20px;
    font-family: 'Playfair Display', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, serif;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 1.6;
    text-align: center;
    margin: 20px 0 15px;
    padding-bottom: 10px;
    position: relative;
    z-index: 2;
}

.item_Reco h4 b {
    display: block;
    font-size: 15px;
    font-weight: normal;
    vertical-align: 0;
    margin-top: 2px;
    font-family: 'Catamaran', sans-serif;
}

.item_Reco h4:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 50px;
    height: 0;
    margin-left: -25px;
    content: "";
    /* border-top: #ddd double; */
    z-index: -1;
    border-top: #ddd solid 1px;
}


.item_Reco .linkAreaHead {
    /* margin-top: 20px; */
}

.item_Reco .linkAreaHead a {
    width: 160px;
    font-size: 13px;
}

























/* コース; */


#release .nameArea .imgCourse {
    /* display: flex; */
    /* flex-wrap: wrap; */
    /* border: 1px solid #eee; */
    padding: 1em;
    /* background: #fff; */
    /* justify-content: center; */
    /* 子要素をflexboxにより中央に配置する */
}




.item_Course {
    background: #f9f9f9;
    padding: 2%;
    /* border-radius: 5px; */
    /* flex: 1 0 200px; */
    margin: 0 0;
    text-align: center;
    width: 48%;
    float: left;
    border: 1px solid #eee;
    margin: 1%;
}


.item_Course:hover {
    background: #f1f1f1;

}




.item_Course img {
    width: 200px;
}

@media only screen and (max-width: 800px) {
    #release .nameArea:before {
        border: #eee 0px solid;
    }

    #release .nameArea .imgCourse {
        background: #eee;
    }

    .item_Course {
        /* background: #f9f9f9; */
        padding: 2%;
        /* border-radius: 5px; */
        /* flex: 1 0 200px; */
        margin: 0 0;
        text-align: center;
        width: 48%;
        margin: 1%;
        float: left;
        border: 1px solid #eee;
    }

}

@media only screen and (max-width: 500px) {


    .item_Course {
        /* background: #f9f9f9; */
        padding: 2%;
        /* border-radius: 5px; */
        /* flex: 1 0 200px; */
        margin: 0 0;
        text-align: center;
        width: 98%;
        margin: 1% 1% 4%;
        float: left;
        border: 1px solid #eee;
    }

}



.item_Course a:hover {
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;

}

.item_Course h3 {
    font-size: 12px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 500;
    letter-spacing: 2.5px;
    line-height: 1.8;
    text-align: center;
    position: relative;
    z-index: 4;
    margin-top: 20px;
}

.item_Course h4 {
    font-size: 20px;
    font-family: 'Playfair Display', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, serif;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 1.6;
    text-align: center;
    margin: 5px 0 25px;
    padding-bottom: 10px;
    position: relative;
    z-index: 2;
}

.item_Course h4 b {
    display: block;
    font-size: 15px;
    font-weight: normal;
    vertical-align: 0;
    margin-top: 2px;
    font-family: 'Catamaran', sans-serif;
}

.item_Course h4:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 50px;
    height: 0;
    margin-left: -25px;
    content: "";
    /* border-top: #ddd double; */
    z-index: -1;
    border-top: #ddd solid 1px;
}


.item_Course .linkAreaHead {
    margin-top: 20px;
}

.item_Course .linkAreaHead a {
    width: 160px;
    font-size: 13px;
}





/* -----------------------------------------------------------

#newsarea

----------------------------------------------------------- */


#newsarea {
    padding: 30px 5%;
    /* position: relative; */
    /* top: 0px; */
    z-index: 3;
    /* border-top: #009688 1px solid; */
    /* background: #f5f2ec; */
    margin-bottom: 0px;
    /* overflow: auto; */
    /* background: url(../images/home/news_bg.png) repeat; */
    /* background-size: cover; */
    margin: 0;
    padding: 0;
}

#newsarea:before {
    position: absolute;
    top: -1px;
    left: 5%;
    right: 5%;
    height: 0;
    content: "";
    border-top: #eee 0px solid;
    z-index: 2;
}

@media only screen and (max-width: 800px) {
    #newsarea {
        padding: 10px 5% 10px;
    }
}

@media only screen and (max-width: 738px) {
    #newsarea {
        padding: 70px 5%;
    }
}

@media only screen and (max-width: 414px) {
    #newsarea {
        padding: 50px 5% 0;
    }
}




/* ----- .headline ----- */
#newsarea .headline {
    margin-bottom: 10px;
    text-align: center;
    margin-top: 10px;
}

#newsarea .headline h2.en {
    font-size: 36px;
    /* font-family: 'Satisfy', cursive; */
    letter-spacing: 0;
    line-height: 1;
    font-family: 'Catamaran', sans-serif;
    font-size: 15px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 4px;
}

#newsarea .headline h3 {
    font-size: 15px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 1;
    margin-top: 20px;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 5px;
    line-height: 1;
    margin-top: 20px;
    position: relative;
    z-index: 3;
}

#newsarea .headline h3 b {
    font-weight: 600;
    letter-spacing: 2px;
}


@media only screen and (max-width: 800px) {
    #newsarea .headline {
        margin-bottom: 40px;
    }

    #newsarea .headline h2.en {
        font-size: 40px;
    }

    #newsarea .headline h3 {
        margin-top: 15px;
    }
}

@media only screen and (max-width: 738px) {
    #newsarea .headline {
        margin-bottom: 30px;
    }

    #newsarea .headline h2.en {
        font-size: 35px;
    }
}

@media only screen and (max-width: 414px) {
    #newsarea .headline h2.en {
        font-size: 24px;
    }

    #newsarea .headline h3 {
        font-size: 13px;
        margin-top: 10px;
    }
}






#newsarea .nameArea .top_news {
    /* display: flex; */
    /* flex-wrap: wrap; */
    /* border: 1px solid #eee; */
    padding: 1em;
    /* background: #fff; */
    /* justify-content: center; */
    /* 子要素をflexboxにより中央に配置する */
    /* margin-top: 50px; */
}

@media only screen and (max-width: 414px) {
    #newsarea .nameArea .top_news {
        margin-top: 0px;
    }
}


#w_about {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}



#w_about .item_news h2 {
    font-size: 18px;
    /* border-top: 1px solid #eee; */
    border-bottom: 1px solid #eee;
    /* margin-bottom: 60px; */
    text-align: left;
    padding-left: 10px;
}


#w_about .item_news h2:before {
    padding-right: 10px;
    font-size: 15px;
    text-align: left;

    font-family: 'FontAwesome';
    content: "\f003";
    content: url(../images/icon_mark01.svg);
    font-weight: normal;
    color: #000;
}

#w_about .item_news h2 span {
    font-size: 12px;
    /* border-top: 1px solid #eee; */
    /* border-bottom: 1px solid #eee; */
    /* margin-bottom: 60px; */
    position: relative;
    color: #016c6e;
    padding-left: 150px;
}


#w_about .item_news h2 span:after {
    padding-left: 10px;
    font-family: 'FontAwesome';
    content: "\f054";
}



#w_about .item_news {
    background: #fff;
    padding: 2%;
    /* border-radius: 5px; */
    /* flex: 1 0 350px; */
    margin: 1%;
    text-align: center;
    float: left;
    border: 1px solid #eee;
    /* min-height: 400px; */
    width: 100%;
}




/*================ 各コンテンツ メニュー （施設・観光・イベント）=================*/
#sub_contents {
    /* margin-top: 40px; */
    margin: 40px 0;
    overflow: auto;
}

#sub_contents h2 {
    /*	display:none;*/
    padding-top: 5px;
    text-align: center;
    /* font-size:25px; */
    color: #fff;
}

#sub_contents .news_post_wrapper {
    width: 33.33%;
    float: left;
}

@media only screen and (max-width: 812px) {
    #sub_contents .news_post_wrapper {
        width: 50%;
        float: left;
    }

    #sub_contents h2 {
        /* font-size: 16px; */
        color: #fff;
    }
}



#sub_contents .news_post_wrapper .figure {
    width: 100%;
    height: auto;
    position: relative;
    padding: 63.5% 0 0;
    /*padding:63.5% 0 0;*/
    overflow: hidden;
}

#sub_contents .news_post_wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    vertical-align: top;
    -webkit-transition: all 1.0s;
    -moz-transition: all 1.0s;
    transition: all 1.0s;
}

#sub_contents a:hover .news_post_wrapper img {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}

#sub_contents .news_post_wrapper .figure .overlay {
    width: 100%;
    height: 100%;
    font-size: 11px;
    font-size: 1.1rem;
    /*  font-family: "Brandon Grot W01 Bold";*/

    font-weight: normal;
    color: #FFF;
    letter-spacing: 0.08em;
    text-align: center;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.50);
    opacity: 0.0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
}

#sub_contents .news_post_wrapper .figure .overlay:after {
    z-index: 1;
    border-top: 1px solid #FFF;
    position: absolute;
    width: 20px;
    content: "";
    top: 50%;
    left: 50%;
    margin-left: -10px;
    margin-top: -18px;
    -webkit-transform: scaleX(0.0);
    transform: scaleX(0.0);
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}


#sub_contents .news_post_wrapper .figure .overlay span {
    width: 120px;
    height: 36px;
    line-height: 36px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -60px;
    margin-top: -14px;
}


#sub_contents .news_txt_wrapper {
    display: none;
    padding: 0px 30px;
    margin: 20px 0 40px;
    border-right: #e6e6e6 1px solid;
    height: 150px;
}

#sub_contents .news_box:nth-child(4n) .news_txt_wrapper {
    border-right: none;
}

#sub_contents .news_txt_wrapper dl {
    margin-bottom: 10px;
}

#sub_contents .news_txt_wrapper dl dt {
    color: #0e2c44;
    display: inline-block;
    font-size: 11px;
    text-decoration: none;
}

/*　d93600　→　ffffff*/
#sub_contents .news_txt_wrapper dl dd {
    display: inline-block;
    font-size: 11px;
    text-decoration: none;
}

#sub_contents .news_txt_wrapper h3 {
    font-size: 14px;
    color: #0e2c44;
    margin-bottom: 5px;
    text-decoration: none;
    word-break: break-all;
    word-wrap: break-word;
    /*white-space: pre;*/
}

#sub_contents .news_txt_wrapper p {
    font-size: 12px;
    /*text-align:justify;*/
    word-break: break-all;
    word-wrap: break-word;
    text-decoration: none;
}


.txt-en {
    position: absolute;
    top: 30%;
    left: 30px;
    right: 30px;
    font-size: 25px;
    line-height: 1.2;
    color: #fff;
    z-index: 10;
    font-weight: 400;
    text-align: center;
    margin: 0 10%;
    bottom: 30%;
}


@media only screen and (max-width: 800px) {
    .txt-en {
        font-size: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .txt-en {
        font-size: 15px;
        position: absolute;
        top: 30%;
        left: 10px;
        right: 10px;
        text-align: center;
        margin: 0 5%;
    }

}

/* -----------------------------------------------------------

#newsarea

----------------------------------------------------------- */


#newsarea {
    padding: 30px 5%;
    position: relative;
    z-index: 1;
    /* border-top: #a3d9e0 1px solid; */
    /* background: #f5f2ec; */
}

#newsarea:before {
    position: absolute;
    top: -1px;
    left: 5%;
    right: 5%;
    height: 0;
    content: "";
    border-top: #eee 0px solid;
    z-index: 2;
}

@media only screen and (max-width: 800px) {
    #newsarea {
        padding: 10px 5% 10px;
    }
}

@media only screen and (max-width: 738px) {
    #newsarea {
        padding: 70px 5%;
    }
}

@media only screen and (max-width: 414px) {
    #newsarea {
        padding: 50px 5% 0;
    }
}




/* ----- .headline ----- */
#newsarea .headline {
    margin-bottom: 45px;
    text-align: center;
}

#newsarea .headline h2.en {
    font-size: 36px;
    /* font-family: 'Satisfy', cursive; */
    letter-spacing: 0;
    line-height: 1;
    font-family: 'Catamaran', sans-serif;
    font-size: 35px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 4px;

}

#newsarea .headline h3 {
    font-size: 15px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 1;
    margin-top: 20px;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 5px;
    line-height: 1;
    margin-top: 20px;
    position: relative;
    z-index: 3;
}

#newsarea .headline h3 b {
    font-weight: 600;
    letter-spacing: 2px;
}


@media only screen and (max-width: 800px) {
    #newsarea .headline {
        margin-bottom: 40px;
    }

    #newsarea .headline h2.en {
        font-size: 40px;
    }

    #newsarea .headline h3 {
        margin-top: 15px;
    }
}

@media only screen and (max-width: 738px) {
    #newsarea .headline {
        margin-bottom: 30px;
    }

    #newsarea .headline h2.en {
        font-size: 35px;
    }
}

@media only screen and (max-width: 414px) {
    #newsarea .headline h2.en {
        font-size: 24px;
    }

    #newsarea .headline h3 {
        font-size: 13px;
        margin-top: 10px;
    }
}






#newsarea .nameArea .top_news {
    /* display: flex; */
    /* flex-wrap: wrap; */
    /* border: 1px solid #eee; */
    padding: 1em;
    /* background: #fff; */
    /* justify-content: center; */
    /* 子要素をflexboxにより中央に配置する */
    /* margin-top: 50px; */
}

@media only screen and (max-width: 414px) {
    #newsarea .nameArea .top_news {
        margin-top: 0px;
        padding: 1px;
    }
}



.item_news h2 {
    font-size: 24px;
    /* border-top: 1px solid #eee; */
    /* border-bottom: 1px solid #eee; */
    /* margin-bottom: 60px; */
    text-align: left;
    padding-left: 10px;
    margin-bottom: 30px;
    /* font-family: 'Catamaran', sans-serif; */
    /* font-family: 'Gulim', sans-serif; */
    font-weight: 600;
    color: #f1691b;
}


.item_news h2:before {
    padding-right: 10px;
    font-size: 15px;
    text-align:
        left;
    font-family: 'FontAwesome';
    content: "\f18c";
    /* content: url(../images/icon_mark01.svg);*/
    font-weight:
        normal;
    color: #e27350;
    font-family: 'themify';
    content: "\e67c";
    font-size: 28px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding-right: 10px;
}

.item_news h2 span {
    font-size: 12px;
    /* border-top: 1px solid #eee; */
    /* border-bottom: 1px solid #eee; */
    /* margin-bottom: 60px; */
    position: relative;
    color: #a560a3;
    padding-left: 150px;
}


.item_news h2 span:after {
    padding-left: 10px;
    font-family: 'FontAwesome';
    content: "\f054";
}



.item_news {
    background: #f9f9f9;
    padding: 2%;
    /* border-radius: 5px; */
    flex: 1 0 350px;
    margin: 0 1%;
    text-align: center;
    float: left;
    border: 1px solid #eee;
    min-height: 500px;
    width: 48%;
}

@media only screen and (max-width: 1024px) {
    .item_news {
        min-height: 450px;
    }
}



.title_news:before {
    padding-right: 10px;
    font-size: 15px;
    text-align: left;
    font-family: 'FontAwesome';
    content: "\f18c";
    /* content: url(../images/icon_mark01.svg);*/
    font-weight: normal;
    color: #000;
    font-family: 'themify';
    content: "\e67c";
    font-size: 28px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding-right: 10px;
}





@media only screen and (max-width: 800px) {
    #release .nameArea:before {
        border: #eee 0px solid;
    }

    #release .nameArea .top_news {
        background: #e9ebee;
    }

    .item_news {
        /* background: #f9f9f9; */
        /* padding: 2%; */
        /* border-radius: 5px; */
        /* flex: 1 0 200px; */
        /* margin: 0 0; */
        /* text-align: center; */
        width: 100%;
        margin: 1% 0.5% 50px;
        /* float: left; */
        /* border:1px solid #eee; */
    }

}


@media only screen and (max-width: 500px) {

    .item_news {
        width: 100%;
        margin: 0% 0.5% 20px;
        min-height: 400px;
    }

}









/* .txtArea */
#release .nameArea .txtArea {
    float: right;
    width: 50%;
    text-align: left;
}

#release .nameArea .txtArea .txtBox {
    margin: 0 auto;
    max-width: 450px;
}

#release .nameArea .txtArea h3 {
    font-size: 12px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 500;
    letter-spacing: 2.5px;
    line-height: 1.8;
    text-align: center;
    position: relative;
    z-index: 4;
}

#release .nameArea .txtArea h4 {
    font-size: 25px;
    font-family: 'Playfair Display', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, serif;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 1.6;
    text-align: center;
    margin: 5px 0 25px;
    padding-bottom: 25px;
    position: relative;
    z-index: 2;
}

#release .nameArea .txtArea h4 b {
    display: block;
    font-size: 15px;
    font-weight: normal;
    vertical-align: 0;
    margin-top: 2px;
}

#release .nameArea .txtArea h4:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 50px;
    height: 0;
    margin-left: -25px;
    content: "";
    border-top: #ddd double;
    z-index: -1;
}

#release .nameArea .txtArea p {
    font-size: 14px;
    line-height: 2.4;
    letter-spacing: 2px;
}

#release .nameArea .sign {
    margin-top: 30px;
    width: 100%;
    height: 65px;
    background: url(/*../images/about/sign.png) center right no-repeat;
    */
}

@media only screen and (max-width: 1024px) {
    #release .nameArea .imgArea {
        padding: 30px;
    }

    #release .nameArea .txtArea p {
        font-size: 13px;
        line-height: 2.2;
        letter-spacing: 1px;
    }
}

@media only screen and (max-width: 800px) {
    #release .nameArea .inner {
        padding: 60px 6%;
    }

    #release .nameArea .imgArea {
        width: 40%;
        padding: 15px;
    }

    #release .nameArea .txtArea {
        width: 55%;
    }

    #release .nameArea .txtArea h4 {
        font-size: 22px;
        margin: 0 0 20px;
        padding-bottom: 20px;
    }

    #release .nameArea .txtArea h4 b {
        font-size: 14px;
        margin-top: 0;
    }
}

@media only screen and (max-width: 738px) {
    #release .nameArea .inner {
        padding: 50px 7.5%;
    }

    /* .imgArea */
    #release .nameArea .imgArea {
        float: none;
        width: 65%;
        margin: 0 auto;
        padding: 10px;
    }

    /* .txtArea */
    #release .nameArea .txtArea {
        float: none;
        width: 100%;
        margin-top: 30px;
    }

    #release .nameArea .txtArea .txtBox {
        max-width: 1000px;
        padding: 0 2.5%;
    }

    #release .nameArea .txtArea h4 {
        font-size: 20px;
    }

    #release .nameArea .txtArea h4 b {
        display: block;
        font-size: 15px;
        font-weight: normal;
        vertical-align: 0;
    }

    #release .nameArea .txtArea p {
        font-size: 12px;
        line-height: 2;
        letter-spacing: 1px;
    }

}







/* -----------------------------------------------------------


#top_contents

----------------------------------------------------------- */

#top_contents {
    padding: 50px 5%;
    position: relative;
    z-index: 1;
}

@media only screen and (max-width: 800px) {
    #top_contents {
        padding: 80px 5%;
    }
}

@media only screen and (max-width: 738px) {
    #top_contents {
        padding: 70px 5%;
    }
}

@media only screen and (max-width: 414px) {
    #top_contents {
        padding: 60px 5%;
    }
}







/* .imgArea */
#top_contents .imgArea {
    float: left;
    width: 30%;
}

#top_contents .imgArea .inner {
    position: relative;
    z-index: 2;
}

#top_contents .imgArea .inner:before {
    position: absolute;
    top: 7px;
    left: 0;
    bottom: 7px;
    right: 0;
    content: "";
    border: #ddd 1px solid;
    background: #fefefe;
    z-index: -2;
}

#top_contents .imgArea .inner:after {
    position: absolute;
    top: 0;
    left: 7px;
    bottom: 0;
    right: 7px;
    content: "";
    border: #ddd 1px dotted;
    z-index: 1;
}

/* .txtArea */
#top_contents .txtArea {
    float: right;
    width: 65%;
}

/* --- #map_canvas --- */
#map_canvas {
    width: 100%;
    margin-top: 70px;
    height: 400px;
    position: relative;
    z-index: 1;
    border: #ededed 1px solid;
}



@media only screen and (max-width: 950px) {
    table.company th {
        width: 30%;
        padding: 20px;
    }

    table.company td {
        padding: 20px;
    }
}

@media only screen and (max-width: 800px) {
    table.company {
        font-size: 13px;
    }
}

@media only screen and (max-width: 738px) {
    #top_contents .imgArea {
        float: none;
        width: 100%;
    }

    #top_contents .txtArea {
        float: none;
        width: 100%;
        margin-top: 25px;
    }

    table.company {
        font-size: 12px;
    }

    /*	#map_canvas { display:none; }*/
}

@media only screen and (max-width: 414px) {
    table.company th {
        width: 30%;
        padding: 15px;
    }

    table.company td {
        padding: 15px;
    }
}



/* -----------------------------------------------------------

#イベント　news

----------------------------------------------------------- */

#news_event {
    padding: 10px 5% 20px;
    position: relative;
    z-index: 1;
    /* border-top: #016c6e 1px solid; */
    background: #fff;
}

#news_event:before {
    position: absolute;
    top: -1px;
    left: 5%;
    right: 5%;
    height: 0;
    content: "";
    /* border-top: #ededed 1px solid; */
    z-index: 2;
}

@media only screen and (max-width: 738px) {
    #news_event {
        padding: 30px 5%;
    }
}

@media only screen and (max-width: 738px) {
    #news_event {
        padding: 70px 5%;
    }
}

@media only screen and (max-width: 500px) {
    #news_event {
        padding: 0px 5%;
        margin-bottom: 30px;
    }
}


/* ----- .headline ----- */
#news_event .headline {
    margin-bottom: 10px;
    text-align: center;
    margin-top: 0;
}

#news_event .headline h2.en {
    /* font-size:50px; */
    /* font-family: 'Satisfy', cursive; */
    /* letter-spacing:0; */
    /* line-height: 1; */
    font-size: 18px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 4px;
}

#news_event .headline h3 {
    font-size: 14px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 1;
    margin-top: 20px;
}

#news_event .headline h3 b {
    font-weight: 600;
    letter-spacing: 2px;
}


@media only screen and (max-width: 800px) {
    #news_event .headline {
        margin-bottom: 40px;
    }

    #news_event .headline h2.en {
        font-size: 30px;
    }

    #news_event .headline h3 {
        margin-top: 15px;
    }
}

@media only screen and (max-width: 738px) {
    #news_event .headline {
        margin-bottom: 20px;
        margin-top: 20px;
    }

    #news_event .headline h2.en {
        font-size: 35px;
    }
}

@media only screen and (max-width: 414px) {
    #news_event .headline h2.en {
        font-size: 18px;
    }

    #news_event .headline h3 {
        font-size: 13px;
        margin-top: 10px;
    }
}

















/* -----------------------------------------------------------

#instagram

----------------------------------------------------------- */

#instagram {
    padding: 10px 5% 20px;
    position: relative;
    z-index: 1;
    /* border-top: #016c6e 1px solid; */
    /* background: #fff; */
}

#instagram:before {
    position: absolute;
    top: -1px;
    left: 5%;
    right: 5%;
    height: 0;
    content: "";
    /* border-top: #ededed 1px solid; */
    z-index: 2;
}

@media only screen and (max-width: 738px) {
    #instagram {
        padding: 30px 5%;
    }
}

@media only screen and (max-width: 738px) {
    #instagram {
        padding: 70px 5%;
    }
}

@media only screen and (max-width: 500px) {
    #instagram {
        padding: 0px 5%;
        margin-bottom: 30px;
    }
}


/* ----- .headline ----- */
#instagram .headline {
    margin-bottom: 10px;
    text-align: center;
    margin-top: 0;
}

#instagram .headline h2.en {
    /* font-size:50px; */
    /* font-family: 'Satisfy', cursive; */
    /* letter-spacing:0; */
    /* line-height: 1; */
    font-size: 18px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 4px;
}

#instagram .headline h3 {
    font-size: 14px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 1;
    margin-top: 20px;
}

#instagram .headline h3 b {
    font-weight: 600;
    letter-spacing: 2px;
}


@media only screen and (max-width: 800px) {
    #instagram .headline {
        margin-bottom: 40px;
    }

    #instagram .headline h2.en {
        font-size: 30px;
    }

    #instagram .headline h3 {
        margin-top: 15px;
    }
}

@media only screen and (max-width: 738px) {
    #instagram .headline {
        margin-bottom: 20px;
        margin-top: 20px;
    }

    #instagram .headline h2.en {
        font-size: 35px;
    }
}

@media only screen and (max-width: 414px) {
    #instagram .headline h2.en {
        font-size: 18px;
    }

    #instagram .headline h3 {
        font-size: 13px;
        margin-top: 10px;
    }
}



#instagram .titel_info:before {
    font-family: 'themify';
    content: "\e67c";
    font-size: 28px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*position: absolute;
    top: 0;
    left: 10px;*/
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding-right: 10px;
}


#instagram .titel_menu:before {
    font-family: 'FontAwesome';
    content: "\f0f5";
    font-size: 28px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*position: absolute;
    top: 0;
    left: 10px;*/
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding-right: 10px;
}


/*-----バナー用-----*/
#box_pickup {
    /* padding: 59px 0 0; */
    /* margin: -59px 0 0; */
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.box_senior {
    /* position: relative; */
    margin: 50px auto;
    padding: 0px 10px 7px;
    border: solid 1px #031d1e;
    background: #fff;
}

.pc {
    display: block !important;
}

.sp {
    display: none !important;
}

@media only screen and (max-width: 750px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }
}


/* ----- ul.imageInstagram ----- */
ul.imageInstagram {
    margin: 5px -8px 0;
    padding: 0;
    font-size: 0;
    margin: 5px -8px 0;
    */padding: 0;
    width: 100%;
    font-size: 0;
    max-width: 1200px;
    margin: 0 auto;
}

ul.imageInstagram li {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block;
    width: 33.333%;
    position: relative;
    border: transparent 8px solid;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    overflow: hidden;
    z-index: 0;
}

/*ul.imageInstagram li { list-style: none; margin: 0; padding: 0; float: left; width: 20%; position: relative; border: transparent 8px solid; -webkit-transition: all 0.2s ease; -moz-transition: all 0.2s ease; -o-transition: all 0.2s ease; transition: all 0.2s ease; overflow: hidden; z-index: 0; }*/
ul.imageInstagram li .imgArea {
    border: #ededed 1px solid;
    padding: 1px;
    background: #fefefe;
    position: relative;
    z-index: 1;
}

ul.imageInstagram li .imgArea .inner {
    overflow: hidden;
    position: relative;
    z-index: 1;
}

ul.imageInstagram li .imgArea:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background: #fefefe;
    z-index: 2;
    opacity: 0;
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease;
}

ul.imageInstagram li:hover .imgArea:before {
    content: "";
    background: #ededed;
    z-index: 2;
    opacity: 0.8;
}

ul.imageInstagram li .imgArea:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 50px;
    height: 50px;
    font-family: 'themify';
    font-family: 'FontAwesome';
    font-size: 25px;
    content: "\f16d";
    /* content: "\e73d"; */
    color: #fefefe;
    background: #fefefe;
    z-index: 3;
    opacity: 0;
    text-align: center;
    line-height: 50px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    -webkit-transform:
        /*rotate(-60deg)*/
        scale(0.8, 0.8);
    -moz-transform:
        /*rotate(-60deg)*/
        scale(0.8, 0.8);
    -o-transform:
        /*rotate(-60deg)*/
        scale(0.8, 0.8);
    -ms-transform:
        /*rotate(-60deg)*/
        scale(0.8, 0.8);
    transform:
        /*rotate(-60deg)*/
        scale(0.8, 0.8);
}

ul.imageInstagram li:hover .imgArea:after {
    color: #999;
    opacity: 1;
    -webkit-transform: rotate(0deg) scale(1, 1);
    -moz-transform: rotate(0deg) scale(1, 1);
    -o-transform: rotate(0deg) scale(1, 1);
    -ms-transform: rotate(0deg) scale(1, 1);
    transform: rotate(0deg) scale(1, 1);
}

ul.imageInstagram li img {
    display: block;
    width: 100%;
    height: auto;
    -webkit-transition: all 2s ease;
    -moz-transition: all 2s ease;
    -o-transition: all 2s ease;
    transition: all 2s ease;
    background: #fefefe;
}

ul.imageInstagram li:hover img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

/*ul.imageInstagram li:first-child { width: 40%; }
ul.imageInstagram li:first-child .imgArea { padding: 15px; }
ul.imageInstagram li:nth-child(8) { display: none; }*/

/* ----- .il-photo__likes ----- */
.il-photo__likes {
    position: absolute;
    bottom: 3px;
    left: 7px;
    color: #7eccd6;
    font-size: 11px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    height: 20px;
    line-height: 20px;
    padding: 0;
    letter-spacing: 1px;
    z-index: 11;
}

.il-photo__likes:before {
    font-size: 11px;
    font-family: 'themify';
    content: "\e634";
    padding-right: 5px;
}

#instagram .linkArea .btn:after {
    font-size: 10px;
    font-size: 18px;
    /* content: "\e73d"; */
    right: auto;
    left: 15px;
}





@media only screen and (max-width: 800px) {

    /* ----- ul.imageInstagram ----- */
    ul.imageInstagram {
        margin: 3px -3px 0;
        padding: 0;
    }

    ul.imageInstagram li {
        width: 50%;
        border: transparent 3px solid;
    }

    ul.imageInstagram li .imgArea {
        padding: 10px;
    }

    ul.imageInstagram li .imgArea .inner {
        overflow: hidden;
    }

    ul.imageInstagram li .imgArea:before {
        display: none;
    }

    ul.imageInstagram li .imgArea:after {
        display: none;
    }

    ul.imageInstagram li:hover img {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -o-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

    ul.imageInstagram li:first-child {
        width: 50%;
    }

    ul.imageInstagram li:first-child .imgArea {
        padding: 10px;
    }

    ul.imageInstagram li:nth-child(8) {
        display: inline-block;
    }

}


/* -----------------------------------------------------------

keyframes

----------------------------------------------------------- */


@-webkit-keyframes scroll-next {
    0% {
        -ms-transform: translateX(0)translateY(0px);
        -webkit-transform: translateX(0)translateY(0px);
        -moz-transform: translateX(0)translateY(0px);
        transform: translateX(0)translateY(0px);
        opacity: 0
    }

    80% {
        opacity: 0.7
    }

    90% {
        opacity: 0
    }

    100% {
        -ms-transform: translateX(0)translateY(40px);
        -webkit-transform: translateX(0)translateY(40px);
        -moz-transform: translateX(0)translateY(40px);
        transform: translateX(0)translateY(40px);
        opacity: 1
    }
}

@-moz-keyframes scroll-next {
    0% {
        -ms-transform: translateX(0)translateY(0px);
        -webkit-transform: translateX(0)translateY(0px);
        -moz-transform: translateX(0)translateY(0px);
        transform: translateX(0)translateY(0px);
        opacity: 1
    }

    80% {
        opacity: 0.7
    }

    90% {
        opacity: 0
    }

    100% {
        -ms-transform: translateX(0)translateY(40px);
        -webkit-transform: translateX(0)translateY(40px);
        -moz-transform: translateX(0)translateY(40px);
        transform: translateX(0)translateY(40px);
        opacity: 0
    }
}

@-ms-keyframes scroll-next {
    0% {
        -ms-transform: translateX(0)translateY(0px);
        -webkit-transform: translateX(0)translateY(0px);
        -moz-transform: translateX(0)translateY(0px);
        transform: translateX(0)translateY(0px);
        opacity: 1
    }

    80% {
        opacity: 0.7
    }

    90% {
        opacity: 0.5
    }

    100% {
        -ms-transform: translateX(0)translateY(40px);
        -webkit-transform: translateX(0)translateY(40px);
        -moz-transform: translateX(0)translateY(40px);
        transform: translateX(0)translateY(40px);
        opacity: 0
    }
}

@keyframes scroll-next {
    0% {
        -ms-transform: translateX(0)translateY(0px);
        -webkit-transform: translateX(0)translateY(0px);
        -moz-transform: translateX(0)translateY(0px);
        transform: translateX(0)translateY(0px);
        opacity: 1
    }

    80% {
        opacity: 0.7
    }

    90% {
        opacity: 0
    }

    100% {
        -ms-transform: translateX(0)translateY(40px);
        -webkit-transform: translateX(0)translateY(40px);
        -moz-transform: translateX(0)translateY(40px);
        transfor
    }
}

.p-index-seminar__wrap {
    display: block;
    margin: 0 9.18033%;
    color: #000
}

@media all and (max-width:992px) {
    .p-index-seminar__wrap {
        margin: 28px auto 0
    }
}

@media all and (min-width:769px) and (max-width:992px) {
    .p-index-seminar__wrap {
        width: 490px
    }
}

.flex {
    display: flex;
    flex-wrap: wrap;
    /* align-items: center; */
    margin: 10px auto;
    width: 100%;
    max-width: 1000px;
    justify-content: space-evenly;
}

.flex.bottom {
    justify-content: space-evenly;
}

.flex.bottom img {
    max-width: 400px;
    margin-bottom: 20px;
}

.flex.top1,
.flex.top2,
.flex.top3 {
    display: flex;
    margin: 0 auto;
    align-items: center;
}

.flex.top2 {
    background: #492a18;
    display: flex;
    flex-direction: row-reverse;
}

.flex.top3 {
    background: #68432d;
}

.cnt {
    padding: 1%;
    width: 48%;
    max-width: 500px;
    min-width: 180px;
}

.cnt.img {
    padding: 0;
}

.cnt.txt {
    text-align: center;
}

.cnt.txt h3 {
    font-family: "Berkshire Swash", serif;
    letter-spacing: 0.2rem;
    font-size: 30px !important;
    margin-top: 0 !important;
    margin-bottom: 2rem;
    color: #fff !important;
}

.cnt.txt p {
    text-align: center;
    line-height: 2;
}

.cnt.txt .price_area {
    font-size: 1.1rem;
    margin-bottom: 10px;
}

.cnt.txt .small {
    font-size: 0.8rem;
}

.cnt.txt .btn a {
    border: #fff 1px solid;
    max-width: 300px;
    margin: auto;
    background: none;
}

.cnt.txt .btn a:hover {
    color: #2f1404;
    margin: auto;
    background: #fff !important;
}

.flex.link6 {
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 15px;
}

.flex.link6 a {
    width: 20%;
    position: relative;
    display: block;
}

.flex.link6 img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 50%;
    box-shadow: 4px 4px 8px 0px #031d1e9e;
}

.overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(255 236 230 / 39%);
    transition: background 0.5s ease;
    border-radius: 50%;
}

.overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #031d1e;
    font-size: 1.4rem;
    text-align: center;
    z-index: 1;
    pointer-events: none;
    font-family: "Poiret One", sans-serif;
    text-shadow: -1px 1px 4px #fff;
    font-weight: bold;
    transition: font-size 0.4s ease, color 0.4s ease;
}

.overlay-text span {

}

.overlay:hover::before {
    background: linear-gradient(45deg, #045e60ed, #ffffff91);
}

.overlay:hover .overlay-text {
    /* text-shadow: -1px 1px 4px #fff; */
    color: #fff;
    font-size: 1.5rem;
}

.overlay:hover .overlay-text span {
    font-weight: 600;
    font-size: 1.3rem;
}

@media screen and (max-width: 600px) {
    .flex {
        display: block;
    }

    .cnt {
        width: 96%;
        margin: 1% auto;
        padding-top: 20px;
    }

    .flex.link6 {
        display: flex;
    }

    .flex.link6 a {
        width: 35%;
        margin-bottom: 20px
    }

    .flex.link6 a:before {
        background: linear-gradient(45deg, #035a5bdb, #e8ffff59);
    }

    .overlay .overlay-text {
        color: #3f3f3f;
        font-size: 1.2rem;
    }
}

/* home.cssに追加*/
#pickup {
    margin: 30px auto;
    width: 100%;
    background: #fff;
}

#pickup titel_picup {
    margin: 30px auto;
    width: 100%;
    background: #e9e0d9;
}

.point1,
.point2 {
    position: relative;
    height: 800px;
    max-width: 1300px;
    margin: auto;
}

.point1 .cnt2,
.point3 .cnt2 {
    position: absolute;
    top: 50%;
    background: #fff;
    border: solid #3F2521 3px;
    right: 5%;
}

.point2 .cnt3 {
    position: absolute;
    top: 40%;
    right: 5%;
}

.point2 .cnt4 {
    background: #311007;
    border: solid #3F2521 3px;
    color: #fff;
}

.point2 .cnt4 h3 {
    color: #fff;
}

@media screen and (max-width: 600px) {

    .point1,
    .point2 {
        height: auto;
        margin: 30px auto;
    }

    .point1 .cnt2 {
        position: static;
    }

    .point2 .cnt3 {
        position: static;
    }
}


.flex1 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 40px auto;
    width: 100%;
    max-width: 1200px;
}

.cnt1 {
    padding: 1%;
    width: 60%;
}

.cnt2 {
    padding: 3%;
    width: 49%;
}

.cnt3 {
    padding: 1%;
    width: 60%;
}

.cnt4 {
    padding: 3%;
    width: 49%;
}

.cnt5 {
    padding: 5% 7% 5% 3%;
    width: 20%;
}

.cnt6 {
    padding: 5%;
    width: 80%;
}

.cnt6 a {
    margin: 20px auto;
    border-bottom: dotted 1px #3F2521;
    padding: 5px 10px;
}

.cnt6 a:hover {
    color: #704a11;
}

.cnt6 a:after {
    font-family: 'FontAwesome';
    content: "\f105";
}

@media screen and (max-width: 800px) {
    .flex1 {
        padding-bottom: 30px;
        display: block;
    }

    .cnt1 {
        width: 96%;
        margin: 1% auto;
    }

    .cnt2 {
        width: 96%;
        margin: 1% auto;
    }

    .cnt3 {
        width: 96%;
        margin: 1% auto;
        order: 1;
    }

    .cnt4 {
        width: 96%;
        margin: 1% auto;
        order: 2;
    }

    .cnt5 {
        padding: 1%;
        width: 20%;
        margin: 20px auto;
    }

    .cnt6 {
        padding: 2%;
        width: 98%;
    }

    .cnt6 a {
        margin: 20px 20%;
    }
}

.linkAreaHead {
    width: 100%;
    text-align: center;
}


.sp {
    display: none;
}

@media screen and (max-width: 600px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}



/*==================================================
ふわっ
===================================*/


/* fadeUp */

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.fadeUpTrigger {
    opacity: 0;
}

.recruit_area img {
    margin: 20px auto;
    max-width: 250px;
}

.full-width-iframe {
    margin-top: 40px;
}

#footer .aboutBox .txtArea.sp p,
#footer .aboutBox .txtArea.sp img {
    displa: none;
}

@media screen and (max-width: 800px) {
    #footer .contactBox .txtArea.sp {
        display: block;
    }

    #footer .aboutBox .txtArea.sp p {
        display: block;
        font-size: 12px;
    }

    #footer .aboutBox .txtArea.sp img {
        display: block;
        max-width: 120px;
        margin: auto;
    }

    #footer .contactBox .txtArea.sp ul li {
        min-width: 300px;
    }

    #footer .contactBox .txtArea.sp .tel {
        border: none;
        font-size: 25px;
        min-width: 300px;
        text-align: center;
    }

    #footer p {
        font-size: 12px;
    }

    #footer .infoBox .linkArea .btnGoogle:after {
        font-size: 12px;
        left: 0;
        top: -5px;
    }
}

.reserve.btn.sp {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .key-is-top .key__navi .btn {
        display: none !important;
    }

    .reserve.btn.sp {
        display: block !important;
        /* width: 270px; */
        margin: 10px auto 10px;
    }

    /* .reserve.btn.sp a {
        width: 100%;
        background: #000723;
        border: 2px solid #fff;
    } */

    .reserve.btn.sp a {
        background: #016c6e;
        border: 2px solid #ffffff;
        /* color: #031d1e !important; */
        text-shadow: none;
        padding: 0 30px;
        min-width: 180px;
        text-align: center;
        width: 100%;
    }

    .reserve.btn.sp a:hover {
    border: #031d1e 1px solid;
    background: #fff;
    color: #031d1e !important;
    opacity: .9;
}


    section.category {
        /* background:#2f1404; */
        padding-top: 20px;
    }

    .mm-listview>li .txtArea.sp img {
        max-width: 150px;
        margin: 20px auto;
    }

    .mm-listview>li p.txtArea.sp {
        color: #fff;
    }
}

.wrapper {
    width: 100%;
    height: 150px;
    background-size: cover;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    position: relative;
    /* overflow: hidden; */
}

.circle_container {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 10px;
    transform-origin: left center;

    .circle {
        position: absolute;
        border-radius: 100%;
        background: rgba(255, 255, 255, 0.3);
        left: 0;
        opacity: 0;
        animation-name: move;
        animation-duration: 20s;
        animation-iteration-count: infinite;
    }
}

@keyframes move {
    0% {
        transform: translateX(0px);
        opacity: 0;
    }

    1% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        transform: translateX(70vmin);
        opacity: 0;
    }
}

.wrapper .name_container {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50vmin;
    height: 50vmin;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 100%;
    /* box-shadow: inset 0px 0px 30px 30px rgba(200, 200, 200, 0.1); */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: linear-gradient(rgb(30 17 0 / 66%), rgba(30 17 0 / 66%)), url(https://at-land.net/demo/fione/images/home/btn_02.jpg)bottom left no-repeat;
    box-shadow: 0 0px 30px -4px #fff;

    .name {
        font-size: 50px;
        font-weight: 600;
        color: #ffffff;
        font-family: "Poiret One", sans-serif;
        letter-spacing: 0.3rem;
        display: flex;
        align-items: baseline;
        text-shadow: -1px 1px 4px #fff;
    }

    .name span {
        font-size: 20px;

    }

    .designation {
        margin-top: 10px;
        font-size: 25px;
        color: #000;
    }
}

.sa.show.round {
    padding: 80px 0;
    margin-bottom: 40px;
    position: relative;
    top: -10px;
}

.background {
    background: #472b14;
}

.flex .overlay {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.flex .overlay.visible {
    opacity: 1;
    transform: translateY(0);
}

.nameArea h2.title {
    color: #492a18 !important;
}

.renewal {
    position: absolute;
    height: calc(100% - 134px);
    width: auto;
    z-index: 99;
    display: none;
}

.renewal_sp {
    display: none;
}

@media only screen and (max-width: 768px) {
    .renewal {
        display: none;
    }

    .renewal_sp {
        display: block;
        position: absolute;
        height: auto;
        width: 100%;
        top: 45%;
        z-index: 99;
        display: none;
    }
}

#Howto .flex .pc{padding: 2%;}
#reservation h4 {text-align: center; color: #016c6e; font-size:20px; font-weight: 600; margin-top: 50px;}
#reservation .linkArea3 { padding:0;}
#reservation .linkArea3 .btn1 { margin:0;}

.wide {
    position: relative;
    width: 100vw;
    /* overflow: hidden; */
    margin-bottom: 100px;
}

.wide > img.ifPc {
    width: 100vw;
    height: auto;
    display: block;
}
.wide > img.ifSp {
    display: none;
}

.front {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 1.2s ease, transform 1.2s ease;
    pointer-events: none;
}
.front img {
    max-width: 300px;
    min-width: 180px;
}

.front.visible {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.05);
}

.ifSp {
    display: none;
}

@media only screen and (max-width: 768px) {
    .wide {
        /* margin: 50px auto; */
    }
    .front {
        left: 70%;
    }
    .wide > img.ifPc {
        display: none;
    }
    .wide > img.ifSp {
        display: block;
    }
    .ifSp {
        display: block;
    }
    #catch h3.animated-border {
        flex-direction: column;
        gap: 0;
    }
}


/* リニューアルで追加 */
.box-soshoku {
    position: relative;
    margin: 2em 0;
    padding: 3em 2.5em;
    border: solid 1px #92cb8c;
    border-radius: 8px;
    /* width: 80%; */
    margin: 0 auto;
    max-width: 1100px;
    /* margin-bottom: 0; */
    margin-top: 40px;
    background-color: #ffffff;
}


.box-soshoku .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 10px 20px;
    line-height: 1;
    font-size: 24px;
    background: #FFF;
    color: #1d8512;
    font-weight: bold;
    0:
    AUTO 100PX;
}




.package-flex {
    display: flex;
    gap: 40px;
}

.package-text {
width: 50%;
    margin: 0;
    padding: 0;
}

.package-img {
    width: 45%;
    /* padding: 0 0 0 15px; */
}

@media screen and (max-width: 768px) {
.package-flex {
    display: flex;
    flex-direction: column;
}
}


.package-img img {
    /* border-radius: 10px; */
}

.concept-bk {
    background: #fff;
    padding: 0 0 80px;
}

.service-warp {
    margin: 0 auto;
    max-width: 100%;
    width: fit-content;
    justify-content: center;
}

/* ベースとなるコンテナ */
.photo-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* アイテム間の余白 */
    max-width: 1500px; /* コンテンツ全体の最大幅（適宜調整） */
    margin: 0 auto; /* 中央揃え */
    padding: 10px;
  }
  
  .photo-gallery__item {
    /* flex: 1 1 23%; */
    min-width: 300px;
    width: 300px;
    box-sizing: border-box;
    overflow: hidden;
    flex-wrap: wrap;
}
  
.photo-gallery__image-wrapper {
    position: relative;
    overflow: hidden;
    line-height: 0;
    width: 100%;
    height: auto;
}
  
  /* 画像 */
  .photo-gallery__image {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.6s ease; /* 拡大アニメーション */
  }
  
  /* 黒い半透明のレイヤーとテキスト・ボタンを内包 */
  .photo-gallery__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 22%); /* 黒い半透明 */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
  }
  
  /* テキスト */
  .photo-gallery__text {
    color: #ffffff !important;
    margin: 0 0 15px 0;
    font-size: 1.2rem;
    font-weight: bold;
  }
  
  /* リンクボタン */
  .photo-gallery__button {
    display: inline-block;
    color: white;
    text-decoration: none;
    border: 1px solid white;
    padding: 20px 15px;
    font-size: 0.9rem;
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  
  .photo-gallery__button:hover {
    background-color: white;
    color: #333;
  }
  
  /* 補足文 */
  .photo-gallery__caption {
    margin-top: 10px;
    font-size: 0.9rem;
    color: #555;
    line-height: 1.4;
  }
  
  /* PC表示でのマウスオーバーアニメーション */
  @media (min-width: 769px) {
    .photo-gallery__item:hover .photo-gallery__image {
      transform: scale(1.2); /* 5%拡大 */
    }
  }
  
  /* ================================================= */
  /* レスポンシブ対応 */
  /* ================================================= */
  
  /* タブレットより小さい画面（768px以下、500px以上）: 2列表示 */
  @media (max-width: 768px) and (min-width: 500px) {
    .photo-gallery__item {
      flex: 1 1 calc(50% - 10px); /* 2列表示 (50% - 半分のgap) */
    }
  }
  
  /* スマホ画面（499px以下）: 1列表示（縦並び） */
  @media (max-width: 499px) {
    .photo-gallery {
      gap: 55px;
    }
    .photo-gallery__item {
      flex: 1 1 100%; /* 1列表示 */
    }
    
    /* スマホではテキストを少し小さめに調整 */
    .photo-gallery__text {
      font-size: 1.1rem;
      margin: 0 0 10px 0;
    }
    
    .photo-gallery__button {
      /* padding: 6px 12px; */
    }
  }


  /* ベースのコンテナ (他のクラスと競合しないよう、固有のクラス名を使用) */
.feature-section {
    display: flex;
    gap: 20px; /* カード間の余白 */
    max-width: 1200px; /* コンテンツ全体の最大幅 */
    margin: 20px auto; /* 上下の余白と中央寄せ */
    /* padding: 0 10px; */ /* 画面端との余白 */
    padding-top: 80px;
  }
  
  /* 個別のカード要素 */
  .feature-card {
    flex: 1 1 0; /* 均等な幅で横並び */
    /* border: 1px solid #e0e0e0; */
    border-radius: 5px;
    box-sizing: border-box;
    /* overflow: hidden; */ /* ヘッダーの角丸対応 */
    display: flex; /* ヘッダーとボディを縦に並べる */
    flex-direction: column;
    position: relative;
    /* border-radius: 0 0 8px 8px; */
    background-color: #ffffff;
  }
  
  /* カードヘッダー (特徴 1, 2, 3 の部分) */
  .feature-card__header {position: absolute;top: -8.3%;left: 5%;width: 40%;}

  .feature-card__header img {
    width: 100%;
      }
  
  /* カードの内容部分 */
  .feature-card__body {
    /* padding: 20px; */
    flex-grow: 1; /* 残りのスペースを埋める */
    display: flex;
    flex-direction: column;
    box-shadow: rgba(0, 0, 0, .24) 0px 3px 8px;
    border-radius: 0 0 13px 13px;
  }
  
  /* 画像を包むラッパー */
  .feature-card__image-wrapper {
    margin-bottom: 10px;
  }
  
  /* 画像 */
  .feature-card__image {
    display: block;
    width: 100%;
    height: auto;
    /* border: 1px solid #d9001b; */ /* 画像周りの赤枠（元画像に合わせる） */
    box-sizing: border-box;
    /* border-radius: 10px; */
    /* box-shadow: rgba(0, 0, 0, .24) 0px 3px 8px; */
  }
  
  /* キャッチコピー */
  .feature-card__caption {
    font-size: 1.15rem;
    font-weight: bold;
    margin: 0 0 10px 0;
    margin-top: 1rem !important;
    line-height: 1.4;
    color: #333;
  }
  
  /* 詳細テキスト */
  .feature-card__text {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.6;
    margin: 0 0 15px 0;
    /* リンクを最下部に固定するため、ここで flex-grow を使用しない */
    padding: 0 25px 5px 25px;
  }
  
  /* リンクを右寄せにするラッパー */
  .feature-card__link-wrapper {
    margin-top: auto; /* 詳細テキストの下に配置され、残りのスペースを自動で取る */
    text-align: right;
    padding-top: 10px;
  }
  
  /* リンクボタン (テキスト) */
  .feature-card__link {
    color: #d9001b; /* 赤色 */
    text-decoration: none;
    font-size: 0.9rem;
    display: inline-block;
    border-bottom: 1px solid #d9001b; /* 下線 */
    padding-bottom: 2px;
  }
  
  .feature-card__link:hover {
    opacity: 0.8;
  }
  
  /* ================================================= */
  /* レスポンシブ対応 */
  /* ================================================= */
  
  /* タブレット・スマホ対応 (768px以下) */
  @media (max-width: 768px) {
    .feature-section {
      flex-direction: column; /* 縦並びにする */
      gap: 60px; /* 縦の余白を少し広げる */
      margin: 0 auto;
      padding: 15px;
      margin-top: 50px;
    }
  
    .feature-card {
      flex: 1 1 100%; /* 全幅を使用 */
    }
  }

  
/* その他の情報 */
#others {
    max-width: 1200px;
    margin: 0 auto;
    background-color: #FFFFFF;
    padding: 30px;
    padding-top: 70px;
    /* border-radius: 8px; */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    margin-top: 3%;
    width: 90%;
    margin-bottom: 80px;
}

/* ページタイトル */
.info-page-title {
    font-size: 28px;
    color: #031d1e;
    text-align: center;
    margin-bottom: 40px;
    position: relative;
    padding-bottom: 10px;
}

.info-page-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background-color: #e5ecec; /* アクセントカラー */
    margin: 10px auto 0;
    border-radius: 2px;
}

/* 各情報セクションを囲むラッパー */
.section-wrapper {
    background-color: #e5ecec; /* 余白の色：緑 */
    padding: 20px; /* 余白のサイズ */
    /* border-radius: 8px; */
    margin-bottom: 30px; /* 各セクション間の余白 */
    box-shadow: aliceblue;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.);
}

/* セクション見出し */
.info-section-heading {
    font-size: 18px;
    color: #031d1e;
    margin-top: 0; /* 親要素のパディングがあるので、見出しのmargin-topは0に */
    margin-bottom: 15px;
    padding-left: 35px; /* アイコン分のスペース */
    position: relative;
    border-bottom: 1px solid #016c6e; /* グリーンの下線を追加 */
    padding-bottom: 5px; /* 下線との間隔 */
    font-weight: bold;
}

.info-section-heading i {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #8fbc8f; /* アイコンの色 */
    font-size: 1.2em;
}

.info-section {
    background-color: #fefefe; /* 薄いグリーン系の背景 */
    border: 1px solid #e5ecec; /* 細い枠線 */
    border-radius: 6px;
    padding: 20px;
    /* margin-bottomはsection-wrapperで設定するため削除 */
    position: relative;
}

.info-section p {
    margin-bottom: 10px;
    font-size: 15px;
}

.info-section ul {
    list-style: none;
    padding-left: 0;
    font-size: 15px;
}

.info-section ul li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
}

.info-section ul li::before {
    content: '〇'; /* ドット記号 */
    color: #031d1e; /* ドットの色 */
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.2em;
    line-height: 1.8;
}

.attention {
    font-weight: bold;
    color: #031d1e; /* より濃いグリーンで強調 */
    font-size: 15px;
}

.small-text {
    font-size: 14px;
    color: #555;
    margin-top: 10px;
}

/* スマートフォン表示用の調整 */
@media (max-width: 768px) {
    #others {
        padding: 20px;
        margin-bottom: 20px;
    }
    .info-page-title {
        font-size: 24px;
        margin-bottom: 30px;
    }
    .section-wrapper {
        padding: 10px;
        margin-bottom: 20px;
    }
    .info-section-heading {
        font-size: 17px;
        margin-top: 0;
        padding-left: 30px; /* アイコン分のスペース */
        border-bottom: 1px solid #8fbc8f;
        padding-bottom: 3px;
    }
    .info-section-heading i {
        font-size: 1em;
    }
    .info-section {
        padding: 15px;
    }
    .sp-only {
        display: inline; /* スマホでのみ改行 */
    }
}
@media (min-width: 769px) {
    .sp-only {
        display: none; /* PCでは改行しない */
    }
}

.btn-backwhite {
    color: #fff;
    background: #153e40;
    border: #fff 1px solid;
    /* padding: 0 10px; */
    width: 330px;
}

.btn-backwhite:hover {
    color: #000e45;
    background: none;
    border: #000e45 1px solid;
}

table.company a {
    /* color: #153e40; */
    /* padding: 5px 10px; */
    font-weight: 600;
    font-size: 16px;
}

table.company a.tel:before {
    font-family: 'FontAwesome';
    content: "\f095";
    padding-right: 10px;
    font-weight: 100;
}

/* カルーセル全体のコンテナ */
.machine-slider-container {
    display: flex;
    width: 100%;
    max-width: 1400px;
    height: 350px; /* PCでの画像の高さを設定（横長な比率を実現） */
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }
  
  /* ==================================== */
  /* 左側の固定タイトルパネル */
  /* ==================================== */
  .machine-slider__title-panel {
    flex-shrink: 0;
    width: 300px; /* PCでの幅を固定 */
    background-color: #afafaf;
    color: white;
    padding: 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 10;
  }
  
  .machine-slider__heading {
    font-weight: bold;
    font-size: 2.5rem;
    line-height: 1.1;
    margin: 0 0 10px 0;
    display: flex;
    flex-direction: column;
  }
  
  .machine-slider__main-text {
    font-weight: 300;
  }
  
  .machine-slider__sub-text {
    font-weight: 700;
  }
  
  .machine-slider__caption {
    font-size: 1.1rem !important;
    margin: 0;
    padding-left: 5px;
    border-left: 3px solid white;
    color: #ffffff !important;
  }
  
  
  /* ==================================== */
  /* スライドトラックの設定 (画像エリア) */
  /* ==================================== */
  .machine-slider__track-wrapper {
    flex-grow: 1;
    overflow: hidden;
    position: relative;
    height: 100%;
  }
  
  .machine-slider__track {
    display: flex;
    height: 100%;
    transition: transform 0.5s ease-in-out;
  }
  
  .machine-slider__item {
    /* 幅はJSで制御されます (PC: 50%, スマホ: 100%) */
    height: 100%;
    position: relative;
    flex-shrink: 0;
    border-left: 1px solid #ffffff;
  }
  
  .machine-slider__image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画像の比率を維持し、領域全体をカバー */
    display: block;
  }
  
  /* 黒い半透明のオーバーレイとテキスト */
  .machine-slider__image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    color: white;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
  }
  
  .machine-slider__image-text {
    font-size: 1.2rem !important;
    font-weight: bold;
    color: #ffffff !important;
    margin: 0;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
  }
  
  .machine-slider__image-subtext {
    font-size: 1rem !important;
    margin: 5px 0 0 0;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
    /* z-index: 9999999; */
    color: #ffffff !important;
  }
  
  
  /* ==================================== */
  /* コントロール（スライドバー）の装飾 */
  /* ==================================== */
  .machine-slider__controls {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 20; /* Z-INDEXを高く設定して、他の要素の下に隠れないようにする */
    width: calc(100% - 300px); /* PC: タイトルパネル幅を除く */
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 20px;
    box-sizing: border-box;
    background: #ffffff75;
    border-top: 1px solid #ddd;
  }
  
  .machine-slider__slidebar {
    width: 80%;
    margin-right: 15px;
    margin-top: 15px;
    /* padding-top: 20px; */
    position: relative;
    z-index: 25;
  }
  
  .machine-slider__counter {
    font-size: 0.9rem;
    color: #333;
    width: 50px;
    text-align: right;
    margin-top: 15px;
    font-weight: bold;
  }
  
  
  /* ==================================== */
  /* レスポンシブ対応 (768px以下) */
  /* ==================================== */
  @media (max-width: 768px) {
    .machine-slider-container {
      flex-direction: column;
      height: auto; /* 高さを自動調整 */
    }
  
    .machine-slider__title-panel {
      width: 100%; /* タイトルパネルを横幅いっぱいに */
      height: 100px;
      padding: 15px;
    }
    
    .machine-slider__heading {
      font-size: 1.3rem;
    }
    .machine-slider__caption {
      font-size: 1rem;
    }
  
    .machine-slider__track-wrapper {
      height: 200px; /* 画像エリアの高さを固定 */
    }
    
    .machine-slider__controls {
      width: 100%; /* コントロールエリアも横幅いっぱいに */
      position: static; /* 画面下固定をやめ、フローに合わせる */
      justify-content: center;
      border: none;
      padding: 10px 20px;
    }
  }

.service-bk {
    background-color: #eef3ee;
    padding-bottom: 40px;
}

.feature-bk {
    /* padding-top: 30px; */
    background-color: #d5edd3;
    padding-bottom: 70px;
    margin-bottom: 40px;
}

 .process-container {
    width: 100%;
    /* max-width: 1000px; */
    padding: 20px;
    background-color: #fff;
    /* border-radius: 10px; */
    /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); */
    background-color: #f5f5f5;
    margin:  0 auto;
    margin-top: 10px;
    margin-bottom: 60px;
}

.timeline {
    display: flex;
    /* flex-direction: column; */
    justify-content: space-between;
    align-items: center;
    margin-bottom: 50px;
    padding-bottom: 10px;
    position: relative;
    width: 80%;
    margin: 0 auto;
    margin-top: 40px;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    z-index: 1;
}

.timeline-item {
    position: relative;
    text-align: center;
    flex-grow: 1;
}

.timeline-item::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 1px;
    background-color: #0c682e;
    z-index: 0;
}

.timeline-text {
    display: inline-block;
    padding: 0 10px;
    background-color: #fff;
    position: relative;
    z-index: 2;
    color: #0a0a0a;
    font-weight: bold;
    margin-right: 20px;
}

.flow-chart {
    display: flex;
    /* flex-direction: column; */
    align-items: center;
    justify-content: center;
    padding: 20px 0;
    width: 80%;
    margin: 0 auto;
}

.step {
    flex: 1;
    display: flex;
    justify-content: center;
    text-align: center;
    padding: 0 10px;
    clip-path: polygon(0% 20%, 25% 0, 100% 0, 100% 100%, 0 100%); /* 左上が削れたような形状 */
}

.icon-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background-color: #ffffff;
    /* border-radius: 5px; */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    width: 100%;
    /* max-width: 200px; */
    min-height: 250px;
    height: 300px;
}

.icon {
    width: auto;
    height: 160px;
    margin-bottom: 15px;
    margin-top: 30px;
}

.step-text {
    font-weight: bold;
    color: #333;
}

.arrow {
    font-size: 3rem;
    color: #007bff; /* 青い矢印 */
    font-weight: bold;
    margin: 0 10px;
    line-height: 1;
    display: flex;
    align-items: center;
}


/* step-notesのスタイル */
.step-notes {
   width: 100%;
   margin-top: 10px;
   padding: 10px;
   /* box-sizing: border-box; */ /* パディングとボーダーを幅に含める */
   /* border: 1px solid #ccc; */
   /* border-radius: 5px; */
   /* resize: vertical; */ /* 縦方向のみリサイズ可能にする */
   /* font-size: 0.9rem; */
   text-align: left;
   color: #363636;
   /* background-color: #f9f9f9; */
}

/* flow-chartのステップの配置を調整 */
.flow-chart .step {
   display: flex;
   flex-direction: column; /* 要素を縦に並べる */
   align-items: center; /* 中央揃え */
}

/* icon-boxのパディングを調整 */
.icon-box {
   padding: 10px;
}

.worries-container {
   display: flex;
   justify-content: center;
   gap: 20px;
   flex-wrap: wrap;
   max-width: 1300px;
   margin: 0 auto;
   margin-top: 50px;
}

.worries-case {
   background-color: #365945;
   /* border-radius: 12px; */
   overflow: hidden;
   border-top-left-radius: 50px;
   border-bottom-right-radius: 50px;
   width: 100%;
   height: 420px;
   max-width: 320px;
}

.worries-case-header {
   /* background-color: white; */
   padding: 15px 20px;
   border-radius: 12px 12px 0 0;
}

.worries-case-title {
   color: #ffffff;
   font-weight: bold;
   font-size: 25px;
   text-align: center;
   margin: 0;
}

.worries-case-content {
   color: white;
   /* padding: 20px; */
   text-align: center;
}

.worries-case-subtitle {
   font-size: 18px;
   font-weight: bold;
   margin: 0 0 20px;
   line-height: 1.4;
}

.worries-case-body {
   /* background-color: white; */
   color: black;
   /* padding: 20px; */
   /* border-radius: 8px; */
   /* text-align: center; */ /* アイコンを中央に配置するためにtext-alignを変更 */
}

.worries-case-text-group {
   display: flex;
   justify-content: center;
   margin-bottom: 0; /* 余計な下部の隙間をなくす */
}

.worries-case-image {
   /* width: 300px; */
   /* height: 300px; */
   /* border-radius: 50%; */
   /* border: 1px solid #a9a9a9; */
   /* object-fit: cover; */
}

@media (max-width: 768px) {
   .worries-container {
       flex-direction: column;
       align-items: center;
       padding: 0px 20px;
       margin-top: 30px;
   }
   .worries-case {
       max-width: 93%;
       /* width: 300px; */
       /* padding: 20px 20px; */
       margin: 0 auto;
       height: 370px;
   }
}

.content-right-bk {
   background-color: #edeae1;
}

.step-notes span {
   border-bottom: 2px dotted #c6c6c6;
   line-height: 1.8em;
}


.solution-arrow-icon {
   width: 24px;
   height: 24px;
   object-fit: contain;
   margin-right: 10px;
}

.mg-report-wrap {
       text-align: center;
}

@media (max-width: 768px) {
.common-services-contents {
   width: 100%;
   padding: 0px 30px;
}

.common-services-tag {
   position: absolute;
   top: -40px;
   left: -20px;
   padding: 0px 15px;
   font-size: 45px;
}

.common-services-tit {
   font-size: 17px;
   margin: 0 0 13px;
   padding: 5px 15px;
}

.service-det-bk {
padding-top: 50px;
}

.service-det-wrap {
   max-width: 100%;
   padding: 40px 15px;
}

.small-heading-01 {
       /* padding-left: 8%; */
       font-size: 20px;
       /* font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif; */
       /* font-weight: 600; */
       margin: 0 auto;
       margin-bottom: 0px;
       padding: 0.6rem 0;
       /* text-align: center; */
       /* color: #333; */
       /* border-top: 1px solid #9e9e9e; */
       /* border-bottom: 1px solid #9e9e9e; */
       /* width: 40%; */
       /* max-width: 500px; */
       min-width: 290px;
   }

   .solution-text-area {
width: auto;
}

.small-heading-03-wrap {
width: 300px;
max-width: 300px;
}

.small-heading-03 {
   font-size: 20px;
}

.others-service {
   display: flex;
   justify-content: center;
   flex-direction: column;
}

.others-service-item {
   margin: 0 auto;
}

.construction-section {
   padding-top: 50px;
}

.content-block {
   margin-bottom: 40px;
   padding: 0px;
}

.content-text {
   padding: 20px;
   width: 100%;
}

.content-block img {
   width: 90%;
   object-fit: cover;
}

.mg-report-wrap {
   width: 100%;
   max-width: 100%;
   margin-top: 30px;
   margin-bottom: 20px;
   padding: 0 30px;
}

.life-support-container {
   column-gap: 20px;
   max-width: 1100px;
   margin-top: 70px;
   padding: 0 20px;
   gap: 70px;
   margin-bottom: 50px;
}

.solution-guide {
   margin-top: 10px;
}

.process-container {position: relative;margin-bottom: 30px;}

.timeline {
 /* カウンターをリセット */
 counter-reset: timeline-counter;
 display: flex;
 flex-direction: column;
 /* justify-content: space-between; */
 /* align-items: center; */
 margin-bottom: 50px;
 padding-bottom: 10px;
 position: absolute;
 left: -100px;
 width: 80%;
 /* margin: 0 auto; */
}

.timeline-item {
 /* 各項目でカウンターを1ずつ増やす */
 counter-increment: timeline-counter;
 position: absolute; /* ::afterの位置基準を設定 */
 /* left: 20px; */
}

.timeline-item::after {
 /* カウンターの値を表示 */
 content: counter(timeline-counter);
 
 /* 基本的なスタイル */
 content: '';
 position: absolute;
 left: -150px;
 top: 180px;
 /* height: 500px !important; */
 transform: translateY(-50%);
 width: 330px;
 height: 1px;
 background-color: #0c682e;
 transform: rotate(90deg);
 z-index: 0;
}

.timeline-item-01 {top: 0px;}

.timeline-item-02 {
   top: 430px;
}

.timeline-item-03 {
   top: 945px;
}

.timeline-item-04 {
   top: 1420px;
}

.flow-chart .step {margin-bottom: 20px;margin-top: 20px;margin-left: 20px;}

.arrow {
transform: rotate(90deg); 
}

.flow-chart {
   display: flex;
   flex-direction: column;
}

.flowing-bar-container {
margin-bottom: 20px;
}

.service-hdlead {
   padding: 0px 0;
   margin-bottom: 40px;
}

.common-services-contents-bk {
   /* background-color: #01a496; */
   margin-bottom: 40px;
}

.service-detail {
   /* background-color: #6bb69d; */
   /* width: 80%; */
   margin: 0 auto;
   margin-top: -20px;
   /* padding: 3.2%; */
   /* max-width: 1300px; */
}

.worries-case-title {
   font-size: 23px;
}

.service-detail-contents {
   padding-top: 30px;
}

.worries-case-subtitle {
   font-size: 16px;
}

#cancellation {
   font-size: 2.5rem;
   letter-spacing: 1px;
   color: #444444;
   position: relative;
   display: inline-block;
   padding: 2rem;
   margin-top: 10px;
   text-shadow: 0 0 2px white;
   left: 50%;
   transform: translateX(-50%);
   font-size: 17px;
   text-align: center;
}

.service-detail #cancellation:before {
   content: "";
   position: absolute;
   top: 3px;
   left: 50%;
   width: 90px;
   height: 100px;
   border-radius: 50%;
   border: 2px solid #77ab88;
   border-left-color: transparent;
   border-right-color: transparent;
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
}

.flowing-bar-container {
   height: 100px;
}
}


@media (min-width: 768px) and (max-width: 1350px) {
.flow-chart {
   width: 100%;
}
}

/* ヒーローセクション全体 */
.hero-section {
    position: relative; /* 子要素を絶対配置するための基準点 */
    width: 80%;
    height: 50vh; /* 画面いっぱいの高さ */
    max-width: 1200px;
    overflow: hidden; /* 円形マスクがはみ出ても問題ないように */
    margin: 0 auto;
    margin-top: 20px;
}

/* 1. 背景画像コンテナ（全面ぼかし） */
.background-image-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* 実際の画像URLに置き換えてください */
    background-image: url('../images/aboutbk-test.png');
    background-size: cover;
    background-position: center;
    
    /* 画像全体を強くぼかす */
    filter: blur(2px) brightness(90%);
    z-index: 1; /* 最下層 */
}

/* 2. 円形マスクオーバーレイ（ぼかし解除とカラーオーバーレイ） */
/* この要素の上にコンテンツを配置し、backdrop-filterでぼかしを解除します */
.circular-mask-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2; /* 中間層 */
    
    /* radial-gradientで円形マスクを作成 */
    /* 黒い円（不透明）の部分が下のレイヤーを映し出し、透明の部分が背景色を映し出します */
    /* 実際の画像では、円の外側に向かって薄い水色のグラデーションがかかっているように見えます */
    background: radial-gradient(circle at 55% 90%, rgb(255 226 0 / 9%) 50%, rgb(247 255 189 / 50%) 65%, rgb(217 255 229 / 50%) 85%);
    
    /* この要素の後ろ（背景画像）のぼかしを**解除**（または軽減）する */
    /* ただし、ここでは背景画像がすでにぼかされているため、この効果は使用せず、
       代わりに多層構造で「ぼかした画像」の上に「ぼかしを解除した画像をクリップ」する方が確実です。
       
       **代替案：mask-imageを使用**
       添付画像の再現には、画像全体をぼかし、その上に
       **ぼかしのない同じ画像**を円形にクリップして配置する方が、正確な再現が可能です。
    */
}

/* 3. コンテンツ（テキストとボタン） */
.content {
    position: relative;
    z-index: 3; /* 最上層 */
    max-width: 1200px;
    height: 100%;
    margin: 0 auto;
    padding: 100px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #333; /* テキストの色 */
}

.content h1 {
    font-size: 2.5rem; /* タイトルのサイズ */
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.4;
    color: #333; /* タイトル色 */
}

.content p {
    /* font-size: 1rem; */
    /* line-height: 1.4; */
    margin-bottom: 20px;
    max-width: 600px;
    color: #444; /* 本文色 */
    font-weight: bold;
    color: #292929 !important;
}

/* ボタンのスタイル */
.cta-buttons {
    display: flex;
    gap: 15px;
}

.button {
    text-decoration: none;
    padding: 6px 30px;
    border-radius: 40px;
    font-weight: 600;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    transition: background-color 0.3s;
}

.button span {
    margin-right: 8px;
}

/* メインボタン (水色) */
.button-primary {
    background-color: #3fabcd; /* 添付画像に合わせた水色 */
    color: #ffffff;
    border: 2px solid #a2d0dd;
}

.button-primary:hover {
    background-color: #ffffff;
    color: #3cb4c1;
}

/* セカンダリボタン (ピンク) */
.button-secondary {
    background-color: #e96029; /* 添付画像に合わせたピンク色 */
    color: #ffffff;
    border: 2px solid #ff9b00;
}

.button-secondary:hover {
    background-color: #ffffff;
    color: #ff5500;
}

/* ------------------------------------------------------------- */
/* 円形マスクの**より正確な再現**のための代替CSS構造 */
/* **HTML変更:**
    <div class="hero-section">
        <div class="background-image-blur"></div> // 全面ぼかし画像
        <div class="circular-clip"></div>        // ぼかし解除の円形画像
        <div class="content">...</div>            // コンテンツ
    </div>
*/

/* **代替CSS (円形クリッピング/マスキング)** */

/* 全面ぼかし画像 */
.background-image-blur {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background-image: url('../images/aboutbk-test.png'); */
    background-size: cover;
    background-position: center;
    filter: blur(10px) brightness(90%); /* 10pxのぼかしと少し暗くする */
    z-index: 1;
}

/* ぼかし解除の円形画像（同じ画像をクリップ） */
.circular-clip {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background-image: url('../images/aboutbk-test.png'); */
    background-size: cover;
    background-position: center;
    z-index: 2;
    
    /* clip-path: 円形クリップで画像の一部だけを表示 */
    clip-path: circle(55% at 80% 50%); /* 半径55%の円を右80%, 中央50%に配置 */
    
    /* 円の外側の薄い水色のオーバーレイ効果をシミュレート */
    /* マスク画像の上にさらにグラデーションレイヤーを重ねることで、画像のコントラストを下げて、少し青みがかった白っぽい効果を加えます */
    mask-image: radial-gradient(
        circle at 80% 50%, 
        rgba(0, 0, 0, 1) 50%, /* 中央は完全に不透明で画像を鮮明に表示 */
        rgba(0, 0, 0, 0.8) 65%, /* 外側に向かって少し透過 */
        rgba(0, 0, 0, 0) 90% /* 完全に透明 */
    );
    -webkit-mask-image: radial-gradient(
        circle at 80% 50%, 
        rgba(0, 0, 0, 1) 50%, 
        rgba(0, 0, 0, 0.8) 65%, 
        rgba(0, 0, 0, 0) 90% 
    );
    
    /* マスク画像の周りに、ぼかしの外側に似た薄い色のオーバーレイをかける */
    background-color: rgba(240, 246, 248, 0.7); /* 薄い水色に近い色 */
    background-blend-mode: overlay; /* 背景画像とブレンド */
}

/* **コンテンツの位置は変わらない** */
/* ------------------------------------------------------------- */


/* 全体のスタイル設定 */
.contact-section {
    background-color: #ff9b00; /* 暗めの緑色 */
    padding: 10px 20px 20px;
    text-align: center;
    font-family: sans-serif; /* 一般的なフォント */
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: 3;
}

/* ヘッダーテキスト */
.contact-header {
    color: white !important;
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 20px;
    text-shadow: 1px 0px 0px rgba(0, 0, 0, 0.3), 0px 0px 0px rgba(0, 0, 0, 0.3), 0px 0px 10px rgba(0, 0, 0, 0.3), 0px 0px 0px rgba(0, 0, 0, 0.3), 0px 0px 12px rgb(109 109 109 / 30%), 0px 0px 14px rgb(14 14 14 / 30%);
}

/* 白い枠の部分 */
.contact-box {
    background-color: white;
    border-radius: 10px; /* 角を丸く */
    padding: 20px;
    /* max-width: 600px; */ /* 最大幅を設定 */
    margin: 0 auto; /* 中央寄せ */
    display: flex; /* Flexboxで中身を横並びに */
    justify-content: space-between; /* 左右に要素を分ける */
    align-items: center; /* 垂直方向の中央揃え */
    /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); */ /* 軽い影 */
    width: fit-content;
    gap: 15px;
    box-shadow: rgba(0, 0, 0, .24) 0px 3px 8px;
}

/* 電話番号の部分 */
.contact-info {
    display: flex;
    flex-direction: column; /* 縦並びにする */
    align-items: flex-start; /* 左寄せ */
}

/* 電話番号のアイコン（画像では受話器と黒い箱に見えるが、文字で代替） */
.tel-number-icon {
    font-size: 2rem; /* アイコンを大きく */
    margin-bottom: 20px;
    margin-right: 10px;
    color: #258d20;
    /* margin-bottom: -50px; */ /* アイコンと番号を近づける */
    /* 実際には画像を使い、CSSで調整することが多いです */
    /* ここでは簡易的に文字で表現しています */
}

.tel-number {
    color: #313131 !important; /* 元の赤っぽい色 */
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
    margin: 0;
    /* ホバーの色変更をスムーズにするためのトランジション */
    transition: color 0.3s ease;
}

/* マウスオーバー（ホバー）時の色変更 */
.tel-link-container:hover .tel-number {
    color: #1c8921 !important; /* より濃い赤色（ホバー時の色） */
    cursor: pointer; /* ポインターカーソルを表示し、クリックできることを示唆 */
}

/* 電話の詳細テキスト */
.tel-details {
    color: black;
    font-size: 0.8em;
    margin: 0;
}

/* フォームボタン */
.form-button {
    background-color: #3fabcd; /* 青っぽい色 */
    color: white;
    text-decoration: none; /* 下線を消す */
    padding: 10px 15px;
    border-radius: 100px;
    font-size: 1.1em;
    font-weight: bold;
    display: flex; /* アイコンとテキストを横並びに */
    align-items: center;
    transition: background-color 0.3s; /* ホバー時のアニメーション */
    height: 70px;
    width: fit-content;
}

.form-button:hover {
    background-color: #0372a9; /* ホバーで色を濃く */
}

.form-button .mail-icon {
    margin-right: 10px;
    font-size: 1.8rem;
    /* margin-top: 10px; */
}



/* スマートフォンなど画面幅が狭い場合の対応（メディアクエリ） */
@media (max-width: 768px) {
    .contact-box {
        flex-direction: column; /* 縦並びにする */
        gap: 20px; /* 要素間に隙間 */
    }

    .contact-info {
        align-items: center; /* 中央寄せ */
    }

    .tel-number {
        font-size: 2em;
    }

    .form-button {
        width: 100%; /* 幅いっぱいに広げる */
        justify-content: center; /* 中央寄せ */
    }
}
/* 各セクションの共通見出しスタイル */
.section-tit-wrap {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin: 0 auto;
    padding-top: 70px;
}

.section-tit-text {
    margin-top: 20px;
}

.section-tit {
    /* font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
    font-weight: 400;
    font-size: 30px;
    letter-spacing: 8px;
    line-height: 1.5;
    text-align: center;
    position: relative;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    margin: 0 auto;
    width: 500px;
    min-width: 400px;
    font-weight: bold;
}


.section-tit.is-visible {
    opacity: 1;
    transform: translateY(0);
}


.section-tit span {
    display: inline-block;
    text-indent: 8px;
    font-size: 28px;
    color: #414141;
}


.section-tit .eng {
    display: block;
    margin: 0 0 0px;
    color: #525252;
    font-size: 12px;
    letter-spacing: 3px;
    text-indent: 3px;
}


.section-tit .line {
    display: block;
    width: 0;
    height: 1px;
    background-color: #000000;
    margin: 10px auto;
    overflow: hidden;
}


.tit-white .eng {
    color: #ffffff !important;
}


.tit-white .line {
    background-color: #ffffff !important;
}


.section-tit.is-visible .line {
    animation: drawLine 1.5s forwards;
    animation-delay: 0.5s;
}


@keyframes drawLine {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .section-tit {
    /* font-size: 20px !important; */
    letter-spacing: 8px;
    line-height: 1.5;
    width: 250px;
    min-width: 300px;
    min-width: 310px;
    margin-top: 55px;
}

.section-tit span {
    display: inline-block;
    text-indent: 8px;
    font-size: 21px;
}
}

.photo-gallery__item h4.with-icon {
    background-image: url(../images/icon-tree.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 35px 35px;
    padding-left: 50px;
    color: #414141;
    font-size: 1.2rem;
    font-weight: bold;
    margin: 0;
    margin-bottom: 11px;
    border-bottom: 1px solid #c9c9c9;
    line-height: 2;
}

.photo-gallery__item h4.with-icon-excavator {
    background-image: url(../images/icon-excavator.png);
    background-repeat: no-repeat;
}

.photo-gallery__item h4.with-icon-garden {
    background-image: url(../images/icon-garden.png);
    background-repeat: no-repeat;
}

.photo-gallery__item h4.with-icon-weight {
    background-image: url(../images/icon-weight.png);
    background-repeat: no-repeat;
}

.photo-gallery__item h4.with-icon-tree {
    background-image: url(../images/icon-tree.png);
    background-repeat: no-repeat;
}

.photo-gallery__item h4.with-icon-wood {
    background-image: url(../images/icon-wood.png);
    background-repeat: no-repeat;
}

.photo-gallery__item h4.with-icon-log {
    background-image: url(../images/icon-log.png);
    background-repeat: no-repeat;
}

.feature-card__number-wrapper  {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 5px;
    /* padding: 20px; */
    margin-left: 30%;
    /* justify-content: center; */
}

.feature-card__number {

}

.feature-card__num {
    font-size: 40px;
    margin-top: -15px;
    font-weight: bold;
}

.icon-wrapper {position: absolute;top: -20px;left: -20px;/* max-width: 200px; */width: 70px;}

.icon-wrapper img {
    width: 100%;
    height: auto;
}

.people-wrapper {position: absolute;bottom: 0;right: 50px;width: 170px;height: auto;}

.people-wrapper img {
    width: 100%;
}

.icon-box img {
    /* width: 100%; */
}

.mg-text-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

    /* チェックマーク付きテキストのスタイル */
    .checkmark-item {
        display: block;
        margin-bottom: 8px;
        font-size: 14px;
        line-height: 1.5;
        color: #333;
    }
    
    .checkmark-item:before {
        content: "";
        display: inline-block;
        width: 16px;
        height: 16px;
        background-image: url("../images/icon-check.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        margin-right: 8px;
        vertical-align: middle;
    }
    
    .photo-gallery__caption {
        margin-top: 15px;
        padding: 0;
    }

    .flowing-bar-container {
        width: 2px;
        height: 100px;
        background-color: #ffffff;
        position: relative;
        overflow: hidden;
        margin: 0 auto;
    }
    
    .flowing-bar {
        width: 100%;
        height: 60px;
        background-color: #f8882d;
        position: absolute;
        top: 20px;
        animation: flowDown 2.5s 
    ease-in-out infinite;
    }
    
    /* @keyframesでアニメーションの動きを定義 */
    @keyframes flowDown {
      0% {
        transform: translateY(0);
      }
      100% {
        transform: translateY(130px); /* 縦棒の長さ + 親要素の高さ = 30px + 100px */
      }
    }

/* メインコンテナのデザイン */
.price-container {
    width: 90%;
    max-width: 700px;
    margin: 0 auto;
    padding: 20px;
    /* 赤枠のスタイリング */
    border: 2px solid #e74c3c; /* 赤色 */
    border-radius: 8px; /* 角を少し丸く */
    background-color: #ffffff;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); /* 影を加えて立体感を出す */
    margin-bottom: 30px;
}

/* 見出しのデザイン */
.price-container h2 {
    color: #c0392b; /* 赤系の濃い色 */
    font-size: 1.5em;
    margin-top: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #eeeeee; /* 区切り線 */
}

/* メッセージの段落デザイン */
.price-container p {
    color: #333333;
    font-size: 1em;
    line-height: 1.6;
    margin: 15px 0;
}

/* お問い合わせボタンのデザイン */
.contact-button {
    display: inline-block;
    background-color: #3498db; /* 青系のボタン色 */
    color: white;
    padding: 10px 20px;
    text-decoration: none; /* 下線を削除 */
    border-radius: 5px;
    font-weight: bold;
    margin-top: 15px;
    transition: background-color 0.3s ease; /* ホバー時のアニメーション */
}

.contact-button:hover {
    background-color: #2980b9; /* ホバー時の色 */
}

.cta-buttons-02 {
    justify-content: center;
}

.if-sp {
    display: none;
}


@media (max-width: 599px) {
    .contact-section {
        background-color: #ff9b00;
        padding: 5px 10px;
        text-align: center;
        font-family: sans-serif;
        position: absolute;
        right: 5px;
        bottom: 5px;
        z-index: 3;
        height: 160px;
    }

    .contact-header {font-size: 13px;}

    .contact-box {
        flex-direction: column;
        gap: 5px;
        padding: 10px 20px;
        border-radius: 5px;
        margin-top: -15px;
    }

    .contact-info {
        align-items: center;
        font-size: 12px;
    }

    .tel-details {

    }

    .form-button {
        width: 100%;
        justify-content: center;
        font-size: 14px;
        height: 45px;
        padding: 0;
    }

    .form-button .mail-icon {
        margin-right: 5px;
        font-size: 1.3rem;
        /* margin-top: 10px; */
    }

    .box-soshoku {margin: 0 auto;margin-top: 50px;margin-left: px !important;margin-right: 10px;margin-left: 10px !important;/* margin: 50px 10px; *//* width: 100%; *//* width: 200px; */padding: 20px 15px 15px 20px;max-width: 100%;}

    .icon-wrapper {
        position: absolute;
        top: -20px;
        left: -20px;
        width: 60px;
    }

    .people-wrapper {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100px;
        height: auto;
    }

    .cta-buttons-02 {
        justify-content: center;
        flex-direction: column;
    }
    .hero-section {
        position: relative;
        width: 90%;
        height: auto;
        /* max-width: 1200px; */
        overflow: hidden;
        margin: 0 auto;
        margin-top: 0;
    }

    .background-image-container {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../images/aboutbk-test.png);
        background-size: cover;
        background-position: center;
        filter: blur(2px) brightness(90%);
        z-index: 1;
    }

    .content {
        position: relative;
        z-index: 3;
        /* max-width: 1200px; */
        /* height: 100%; */
        margin: 0 auto;
        padding: 20px 25px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        color: #333;
    }
    .content h1 {
        font-size: 1.7rem;
        font-weight: bold;
        margin-bottom: 20px;
        line-height: 1.4;
        color: #333;
    }

    .content p {
        /* font-size: 1rem; */
        /* line-height: 1.4; */
        margin-bottom: 20px;
        max-width: 600px;
        color: #444;
        font-weight: bold;
        color: #292929 !important;
    }

    .cta-buttons {
        display: flex;
        gap: 15px;
        flex-direction: column;
    }

    .button {
        text-decoration: none;
        padding: 10px 25px;
        /* border-radius: 40px; */
        /* font-weight: 600; */
        /* font-size: 1rem; */
        /* display: inline-flex; */
        /* align-items: center; */
        /* transition: background-color 0.3s; */
    }

    .if-pc {
        display: none;
    }

    .info-section p {
        margin-bottom: 110px;
    }

    .section-tit-wrap {
        padding-top: 0px;
    }

    .if-sp {
        display: block;
    }

    .feature-card__caption {
        font-size: 1.3rem !important;
    }
    

    .feature-card__header {
        position: absolute;
        top: -8.3%;
        left: 5%;
        width: 34%;
    }

    .feature-card__number-wrapper {
        position: absolute;
        top: 0;
        margin-left: 29%;
    }


    .feature-card__num {
        font-size: 32px;
        margin-top: -14px;
        font-weight: bold;
    }

    .flex .overlay.visible {
        width: 45%;
    }

    .overlay:hover .overlay-text {
        font-size: 1.1rem;
    }

    .price-container p {
        text-align: left;
    }
}


