@charset "utf-8";

.style_insta {
    margin-top: 80px;
}
/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    /***** STYLE *****/
    .style_cate {text-align: center;}
    .style_cate .style_cateH3 {
        font-family: 'Oswald', sans-serif;
        letter-spacing: 2px;
        font-size: 32px;
        line-height: 62px;
        color: #00698C;
        text-align: center;
        border-bottom: 1px solid #ccc;
    }
    .style_cate_li {
        font-family: 'Oswald', sans-serif;
        letter-spacing: 0.12em;
        display: inline-block;
        padding-bottom: 30px;
        margin-top: 30px;
    }
    .style_cate_li li {
        float: left;
        width: 120px;
        height: 45px;
        margin: 0 5px;
    }
    .style_cate_li li a {
        display: inline-block;
        font-size: 14px;
        width: 120px;
        height: 45px;
        text-align: center;
        text-decoration: none;
        line-height: 45px;
        outline: none;
        color: #FFF;
    }
    .style_cate_li li a::before,
    .style_cate_li li a::after {
        position: absolute;
        z-index: -1;
        display: block;
        content: '';
    }
    .style_cate_li li a,
    .style_cate_li li a::before,
    .style_cate_li li a::after {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: all .3s;
        transition: all .3s;
    }
    .style_list {}
    .style_list li {
        width: 25%;
        padding: 2%;
        float: left;
        box-sizing: border-box;
    }
    .style_list .style_wrap {
        position: relative;
        width: 100%;
        color: #fff;
        text-align: center;
    }
    .style_list .style_wrap:before {
        content:"";
        display: block;
        padding-top: 135%;
    }
    .style_list li p {
        font-size: 14px;
        color: #665943;
        margin-top: 10px;
        padding: 5px 0;
        border-top: 1px solid #C0B5A0;
        border-bottom: 1px solid #C0B5A0;
        display: block;
        width: 100%;
    }
    .style_list li img {
        display: block;
        width: 100%;
    }
    .style_list a {
        color: #FFF;
        display: block;
    }
    .style_list figure {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        overflow: hidden;
        background: #000;
    }
    .style_list figure:after {
        position: absolute;
        border: solid 1px #fff;
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        opacity: 0;
        transform: scale(1.0, 1.0);
        transition: all .3s ease-out;
    }
    .style_list figure:hover:after {
        opacity: 1;
        transform: scale(0.92, 0.94);
    }
    .style_list figcaption {
        font-family: 'Oswald', sans-serif;
        letter-spacing: 0.12em;
        position: absolute;
        width: 100%;
        top: 50%;
        left: 0;
        margin-top: -1em;
        font-size: 20px;
        letter-spacing: 5px;
        opacity: 0;
        transition: all ease-in .4s;
    }
    .style_list figure:hover figcaption {
        letter-spacing: 1px;
        opacity: 1;
    }
    .style_list figure img {
        transition: all .4s ease-out;
    }
    .style_list figure:hover img {
        opacity: .4;
        transform: scale(1.3);
    }
    .style_img_blk {
        float: left;
        width: 50%;
    }
    .style_img_blk img {
        width: 100%;
        display: block;
    }
    .style_main {
        padding: 1%;
        background-color: #FFF;
    }
    .style_thumb {overflow: hidden}
    .style_img_blk li {
        float: left;
        width: 33.333%;
        padding: 1%;
        box-sizing: border-box;
    }
    .style_img_blk li img {display: block;}
    .style_img_blk li:last-child {
        margin-right: 0;
    }
    .style_cont {
        float: left;
        width: 50%;
        padding-left: 4%;
        box-sizing: border-box;
    }
    .style_cont .cate_name {
        font-family: 'Oswald', sans-serif;
        letter-spacing: 0.12em;
        font-weight: 600;
        letter-spacing: 2px;
        padding-bottom: 15px;
    }
    .style_cont h3.style_ttl {
        font-size: 18px;
        font-weight: bold;
        border-bottom: 1px solid #AE9E84;
        padding-bottom: 5px;
        color: #00698C;
    }
    .style_staff {
        border: 1px solid #DBD5C9;
        margin-top: 30px;
        padding: 5%;
    }
    .staff_intro {margin-bottom: 20px;}
    .staff_intro .staff_thumb {
        float: left;
        margin-right: 20px;
        width: 100px;
        height: 100px;
        border-radius: 100px;
        -moz-border-image: border-radius: 100px;
        -webkit-border-image: border-radius: 100px;
        position: relative;
        overflow: hidden;
    }
    .staff_intro .staff_thumb img {
        width: 100px;
        height: 100px;
        object-fit: cover;
        object-position: 50% 0;
    }
    .staff_intro .staff_name {
        font-size: 16px;
        padding-top: 20px;
    }
    .staff_intro .staff_name span {font-size: 12px}
    .staff_messe {
        font-size: 14px;
    }
    .style_btn {
        width: 100%;
        margin-top: 20px;
    }
    .style_btn li {
        width: 50%;
        height: 40px;
        padding: 0 2%;
        box-sizing: border-box;
        float: left;
    }
    .style_btn li a {
        display: inline-block;
        font-size: 16px;
        font-weight: bold;
        width: 100%;
        height: 40px;
        text-align: center;
        text-decoration: none;
        line-height: 40px;
        outline: none;
    }
    .style_btn li a::before,
    .style_btn li a::after {
        position: absolute;
        z-index: -1;
        display: block;
        content: '';
    }
    .style_btn li a,
    .style_btn li a::before,
    .style_btn li a::after {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: all .3s;
        transition: all .3s;
    }
    .style_btn li a {
        border: 2px solid #FFBF00;
        color: #FFBF00;
    }
    .style_btn li a:hover {
        background-color: #FFBF00;
        border: 2px solid #FFBF00;
        color: #fff;
    }
    table.style_type {
        width: 100%;
        margin-top: 30px;
    }
    table.style_type th {
        font-family: 'Oswald', sans-serif;
        letter-spacing: 0.12em;
        font-weight: 900;
        letter-spacing: 2px;
        font-size: 16px;
        text-align: left;
        padding: 15px 0;
        width: 20%;
        border-top: 1px dotted #665943;
    }
    table.style_type td {
        font-size: 14px;
        border-top: 1px dotted #665943;
    }
    table.style_type tr:last-child th,
    table.style_type tr:last-child td{
        border-bottom: 1px dotted #665943;
    }

}
/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {

    .content {
        width: 95%;
        margin: 0 auto;
    }

    /***** STYLE *****/
    .style_cate {text-align: center;}
    .style_cate .style_cateH3 {
        font-family: 'Oswald', sans-serif;
        letter-spacing: 0.12em;
        font-size: 26px;
        line-height: 32px;
        color: #003366;
        text-align: center;
        border-bottom: 1px solid #C0B5A0;
        margin-bottom: 20px;
    }
    .style_cate_li {
        display: inline-block;
        width: 98%;
        margin: 0 auto;
        padding-bottom: 20px;
    }
    .style_cate_li li {
        display: block;
        padding-top: 10px;
        width: 100%;
        height: 35px;
        margin-bottom: 10px;
    }
    .style_cate_li li a {
        font-family: 'Oswald', sans-serif;
        letter-spacing: 0.12em;
        display: inline-block;
        font-size: 14px;
        width: 98%;
        height: 35px;
        text-align: center;
        text-decoration: none;
        line-height: 35px;
        outline: none;
        color: #FFF;
    }
    .style_cate_li li a::before,
    .style_cate_li li a::after {
        position: absolute;
        z-index: -1;
        display: block;
        content: '';
    }
    .style_cate_li li a,
    .style_cate_li li a::before,
    .style_cate_li li a::after {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: all .3s;
        transition: all .3s;
    }
    .style_list {}
    .style_list li {
        width: 50%;
        padding: 3% 2%;
        float: left;
        box-sizing: border-box;
    }
    .style_list .style_wrap {
        position: relative;
        width: 100%;
        color: #fff;
        text-align: center;
    }
    .style_list .style_wrap:before {
        content:"";
        display: block;
        padding-top: 135%; /* 高さを幅の75%に固定 */
    }
    .style_list li p {
        font-size: 12px;
        color: #665943;
        margin-top: 10px;
        padding: 5px 0;
        border-top: 1px solid #C0B5A0;
        border-bottom: 1px solid #C0B5A0;
        display: block;
        width: 100%;
    }
    .style_list li img {
        display: block;
        width: 100%;
    }
    .style_list a {
        color: #FFF;
        display: block;
    }
    .style_list figure {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        overflow: hidden;
        background: #000;
    }
    .style_list figure:after {
        position: absolute;
        border: solid 1px #fff;
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        opacity: 0;
        transform: scale(1.0, 1.0);
        transition: all .3s ease-out;
    }
    .style_list figure:hover:after {
        opacity: 1;
        transform: scale(0.92, 0.94);
    }
    .style_list figcaption {
        font-family: 'Oswald', sans-serif;
        letter-spacing: 0.12em;
        position: absolute;
        width: 100%;
        top: 50%;
        left: 0;
        margin-top: -1em;
        font-size: 20px;
        letter-spacing: 5px;
        opacity: 0;
        transition: all ease-in .4s;
    }
    .style_list figure:hover figcaption {
        letter-spacing: 1px;
        opacity: 1;
    }
    .style_list figure img {
        transition: all .4s ease-out;
    }
    .style_list figure:hover img {
        opacity: .4;
        transform: scale(1.3);
    }
    .style_img_blk {
        width: 100%;
    }
    .style_img_blk img {
        width: 100%;
        display: block;
    }
    .style_main {
        padding: 1%;
        background-color: #FFF;
    }
    .style_thumb {overflow: hidden}
    .style_img_blk li {
        float: left;
        width: 33.333%;
        padding: 1%;
        box-sizing: border-box;
    }
    .style_img_blk li img {display: block;}
    .style_img_blk li:last-child {
        margin-right: 0;
    }
    .style_cont {
        margin-top: 30px;
        width: 100%;
        box-sizing: border-box;
    }
    .style_cont .cate_name {
        font-family: 'Oswald', sans-serif;
        letter-spacing: 0.12em;
        font-weight: 600;
        letter-spacing: 2px;
        padding-bottom: 15px;
    }
    .style_cont h3.style_ttl {
        font-size: 18px;
        font-weight: bold;
        border-bottom: 1px solid #AE9E84;
        padding-bottom: 5px;
        color: #00698C;
    }
    .style_staff {
        border: 1px solid #DBD5C9;
        margin-top: 30px;
        padding: 5%;
    }
    .staff_intro {margin-bottom: 20px;}
    .staff_intro .staff_thumb {
        float: left;
        margin-right: 20px;
        width: 100px;
        height: 100px;
        border-radius: 100px;
        -moz-border-image: border-radius: 100px;
        -webkit-border-image: border-radius: 100px;
        position: relative;
        overflow: hidden;
    }
    .staff_intro .staff_thumb img {
        width: 100px;
        height: 100px;
        object-fit: cover;
        object-position: 50% 0;
    }
    .staff_intro .staff_name {
        font-size: 16px;
        padding-top: 20px;
    }
    .staff_intro .staff_name span {font-size: 12px}
    .staff_messe {
        font-size: 14px;
    }
    .style_btn {
        width: 100%;
        margin-top: 20px;
    }
    .style_btn li {
        width: 50%;
        height: 40px;
        padding: 0 2%;
        box-sizing: border-box;
        float: left;
    }
    .style_btn li a {
        display: inline-block;
        font-size: 16px;
        font-weight: bold;
        width: 100%;
        height: 40px;
        text-align: center;
        text-decoration: none;
        line-height: 40px;
        outline: none;
    }
    .style_btn li a::before,
    .style_btn li a::after {
        position: absolute;
        z-index: -1;
        display: block;
        content: '';
    }
    .style_btn li a,
    .style_btn li a::before,
    .style_btn li a::after {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: all .3s;
        transition: all .3s;
    }
    .style_btn li a {
        border: 2px solid #FFBF00;
        color: #FFBF00;
    }
    .style_btn li a:hover {
        background-color: #FFBF00;
        border: 2px solid #FFBF00;
        color: #fff;
    }
    table.style_type {
        width: 100%;
        margin-top: 30px;
    }
    table.style_type th {
        font-family: 'Oswald', sans-serif;
        letter-spacing: 0.12em;
        font-weight: 900;
        letter-spacing: 2px;
        font-size: 16px;
        text-align: left;
        padding: 15px 0;
        width: 20%;
        border-top: 1px dotted #665943;
    }
    table.style_type td {
        font-size: 14px;
        border-top: 1px dotted #665943;
    }
    table.style_type tr:last-child th,
    table.style_type tr:last-child td{
        border-bottom: 1px dotted #665943;
    }
}