@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

body {background-color:#ffffff;font-family:-apple-system, BlinkMacSystemFont, "Noto Sans CJK JP", "Helvetica Neue", "Segoe UI","Noto Sans JP","ヒラギノ角ゴ ProN W3", sans-serif;font-size:16px;line-height:1.42857;word-wrap:break-word;overflow-wrap:break-word;-webkit-text-size-adjust: 100%;letter-spacing: 0.05em;}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {font-family:-apple-system, BlinkMacSystemFont, "Noto Sans CJK JP", "Helvetica Neue", "Segoe UI", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", sans-serif;font-weight:bold;line-height:1.2;}

.clearfix:after {content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix {display:inline-table;}

*:focus {outline: none;}

.m {font-family:"游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}

/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

a {color:#000000;}
    a img:hover {filter:alpha(opacity=80);-moz-opacity: 0.8;opacity: 0.8;}
input[type="text"] {padding:5px;font-size:16px;}
input[type="tel"] {padding:5px;font-size:16px;}
input[type="email"] {padding:5px;font-size:16px;}
input[type="radio"] {width: 20px;height: 20px;top: 4px;position: relative;}
select {padding:5px;font-size:16px;}
textarea {padding:5px;resize:none;font-size:16px;}
img {max-width:100%;image-rendering:optimizeSpeed;image-rendering:-moz-crisp-edges;image-rendering:-o-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-ms-interpolation-mode:bicubic;}
div {box-sizing:border-box;word-wrap:break-word;word-break:break-all;}
table {box-sizing:border-box;table-layout: fixed;}
    table th {box-sizing:border-box;}
    table td {box-sizing:border-box;}
* {box-sizing:border-box;}

.pc {display:block;}
.sp {display:none;}
span.pc {display:inline-block;}
span.sp {display:none;}

p {display: block;margin: 1em 0;}
.aligncenter {display: block;margin: 0 auto;}
.alignright { float: right; }
.alignleft { float: left; }
img[class*="wp-image-"], img[class*="attachment-"] {max-width: 100%;height: auto;}
strong { font-weight: bold; }
em { font-style: italic; }
blockquote {display: block;-webkit-margin-before: 1em;-webkit-margin-after: 1em;-webkit-margin-start: 40px;-webkit-margin-end: 40px;}

h1, .h1 {display: none;}
h2, .h2 {font-size: 26px;line-height: 1.0;font-weight: bold;text-align: center;}

#wrap {width:100%;box-sizing:border-box;position:relative;}

    #wrap #main {width:100%;}
        #wrap #main #main_contents {margin:0 auto;}

        .header {width: 100%;}
            .header > div {width: 95%;max-width: 1000px;margin: 0 auto;display: flex;justify-content: space-between;align-items: center;z-index: 1000;}
            .header .logo {}
            .header .gnavi {}
                .header .gnavi div {padding:0 10px;border-right:1px solid #000;}
                .header .gnavi div:last-child {border-right:none;}
                    .header .gnavi div a {text-decoration: none;font-weight: bold;}
                    .header .gnavi div a:hover {color:#009933;}
                    .header .gnavi div a.active {color:#009933;}

        .section02 ul {margin:0;padding: 0 0 30px;display: flex;justify-content: center;}
            .section02 ul li {list-style: none;padding:0 20px;font-weight: bold;}
            .section02 ul li:hover {cursor:pointer;}
                .section02 ul li .active {border-bottom: 5px solid #fca350;}

        .detail_caption ul {margin:0;padding: 0 0 0 20px;position: relative;}
        .detail_caption ul.dot {list-style: disc;}
        .detail_caption ul.number {list-style: none;list-style-position: outside;padding-left: 1.25em}
            .detail_caption ul.number span {position: absolute;left: 0;margin: 0;}

    #wrap #footer {width:100%;}
        #wrap #footer #footer_contents {margin:0 auto;}

/* SmatPhones */
@media only screen and (max-width: 678px) {
    .main_visual .button {padding-top:38vw !important;}
}

/* SmatPhones */
@media only screen and (max-width: 799px) {

    .pc {display:none;}
    .sp {display:block;}
    span.pc {display:none;}
    span.sp {display:inline-block;}

    #wrap{min-width:300px;font-size:12px;}

        #wrap #main {min-width:300px;}
            #wrap #main #main_contents {width:100%;}

        .header {width: 100%;position: absolute;background: url("../image/common/sp_header.png") repeat-x top left;padding:20px 0;background-size: contain;z-index: 1000;}
            .header > div {width: 84%;}
            .header .gnavi {display: none;position: absolute;top:95px;left:0;width: 100%;background: url("../image/common/sp_menu.png") repeat top left;}
                .header .gnavi div {border: none;}
                    .header .gnavi div:first-child a {padding-top:20px;}
                    .header .gnavi div:last-child a {padding-bottom:20px;}
                    .header .gnavi div a {display: block;padding:10px;text-align: center;font-size: 16px;}

        .bx-viewport{overflow: visible !important;}

        #wrap #main #main_contents {background: url("../image/top/sp_bg.png") no-repeat top left;background-size: contain;}
        .kaso_contents {background: initial !important;}
        .main_visual {padding-top:98px;}
        .main_visual .button {width: 75%;margin: 0 auto;text-align: center;padding-top:52vw;}

        h2, .h2 {background-color: #6cc78f;color:#fff;font-size: 14px;padding:7px 0;margin-top:0;}

        section {padding:30px 0;}
        .section01 {padding-bottom:10px;}
        .section02 {padding-bottom:0;}
        .sec_detail {padding-top:98px;padding-bottom:0;}
        .sec_detail01 {padding-top:105px;padding-bottom:0;}

        .section02 ul {padding-bottom:15px;}
            .section02 ul li {font-size: 14px;}

        .section01 .article01 {overflow: hidden;}
            .section01 .article01 > div {position: relative;}
            .bx-viewport > div {left: 14vw;}

            .article01 .no_items {text-align: center;font-size: 14px;}
            .section01 .article01 .item {}
            .section01 .article01 .item.hide {display: block;}
                .section01 .article01 .item a {text-decoration: none;}
                .section01 .article01 .item .photo {font-size: 0;line-height: 0;}
                    .section01 .article01 .item .photo img {width: 100%;margin-bottom:7px;}
                .section01 .article01 .item .text {}
                    .section01 .article01 .item .text .date {margin-bottom: 7px;font-size: 12px;line-height: 1.5;}
                    .section01 .article01 .item .text .title {margin-bottom: 7px;font-size: 16px;line-height: 1.5;font-weight: bold;}
                    .section01 .article01 .item .text .caption {margin-bottom: 7px;font-size: 14px;line-height: 1.5;}
                    .section01 .article01 .item .text .category {width: 100px;font-size: 12px;line-height: 1.5;background-color: #6cc78f;color: #fff;padding: 2px 0;text-align: center;}

        .section02 .article01 {width: 100%;max-width: 960px;margin: 0 auto;}
            .section02 .article01 .item {width: 90%;margin: 0 auto;padding:10px 0;border-bottom: 1px solid #8d8d8d;background-color: #fff;}
            .section02 .article01 .item:first-child {border-top: 1px solid #8d8d8d;}
                .section02 .article01 .item a {text-decoration: none;display: flex;justify-content: space-between;}
                .section02 .article01 .item .photo {font-size: 0;line-height: 0;width: 34%;}
                    .section02 .article01 .item .photo img {width: 100%;margin-bottom:5px;}
                .section02 .article01 .item .text {background-color: #fff;width: 60%;}
                    .section02 .article01 .item .text .date {margin-bottom: 7px;font-size: 12px;line-height: 1.5;}
                        .article01 .item .text .date span {display: inline-block;margin-left:10px;border-radius: 10px;border: 1px solid #fca350;color:#fca350;padding: 0 5px;}
                    .section02 .article01 .item .text .title {margin-bottom: 7px;font-size: 16px;line-height: 1.5;font-weight: bold;}
                    .section02 .article01 .item .text .caption {margin-bottom: 7px;font-size: 14px;line-height: 1.5;}
                    .section02 .article01 .item .text .category {display: none;}

        .article_more, .detail_more {margin: 50px auto 0;text-align: center;}
        .paging {width: 100%;max-width:220px;margin: 20px auto 0;display: flex;justify-content: center;}
            .paging .page {width: 25%;padding:15px;color: #000;font-weight: bold;text-align: center;}
            .paging .page:hover {cursor:pointer;}
            .paging .active {color: #fff;background-color: #fca350;}
        .detail_osusume_paging {display: none;}
        .detail_paging {width: 100%;max-width:260px;margin: 20px auto 10px;display: flex;justify-content: center;}
            .detail_paging .page {width: 33%;padding:15px 0;}
                .detail_paging .page a {text-decoration: none;}

        .detail {width: 100%;max-width: 960px;margin: 0 auto;}
            .detail .title_line {background: url("../image/detail/title_line_sp.png") repeat-x top left;background-size: contain;}
                .detail .title_line img {opacity: 0;}
            .detail .date {padding: 0 35px;font-size: 12px;line-height: 1.5;}
            .detail .date:after {content:".";display:block;height:0;clear:both;visibility:hidden;}
                .detail .date span {width: 100px;font-size: 12px;line-height: 1.5;background-color: #6cc78f;color: #fff;padding:2px 0;text-align: center;display: block;float: right;}
            .detail .page_title {padding: 0 35px;font-size: 14px;line-height: 1.5;font-weight: bold;margin-top: 10px;}
                .detail .page_title br {display: none;}
                .detail .page_title p {font-size: 12px;margin: 0;padding: 0;}
            .detail .page_photo {width: 90%;margin: 15px auto 0;font-size: 0;line-height: 0;text-align: center;}
            .detail .sub_title {width: 90%;margin: 0 auto;font-size: 14px;line-height: 1.5;font-weight: bold;color: #6cc78f;padding-left: 15px;margin-top: 30px;margin-bottom:20px;border-left: 9px solid #2ab660;}
            .detail .sub_title01 {margin-top:20px;}
            .detail .detail_caption {width: 90%;margin: 0 auto;font-size: 12px;line-height: 1.5;padding-left:5%;}
                .detail .detail_caption > p {margin:0;}
            .detail .line {display: none;}
            .detail .sp_line {background: url("../image/detail/title_line_sp.png") repeat-x top left;background-size: contain;margin: 40px auto 0;}
                .detail .sp_line img {opacity: 0;}

        #wrap #footer {min-width:300px;}
            #wrap #footer #footer_contents {width:100%;background: url("../image/common/footer_sp.png") no-repeat top left;background-size: contain;}

            .footer_banner {width: 75%;margin: 0 auto;padding:40px 0 210px;font-size: 0;line-height: 0;text-align: center;}
            #footer .logo01 {width: 140px;font-size: 0;line-height: 0;margin-bottom:10px;margin-left:40px;}
            #footer .gnavi {width: 60%;display: flex;flex-wrap:wrap;margin-bottom:5px;margin-left:40px;}
                #footer .gnavi div {padding:0 10px;border-right:1px solid #000;margin-bottom: 5px;font-size: 12px;}
                #footer .gnavi div:first-child, #footer .gnavi div:nth-child(4) {padding-left:0;}
                #footer .gnavi div:nth-child(3) {border-right:none;}
                #footer .gnavi div:last-child {padding-right:0;border-right:none;}
                #footer .gnavi div a {text-decoration: none;font-weight: bold;}
            #footer .logo02 {font-size: 0;line-height: 0;margin-bottom:5px;margin-left:40px;}
            #footer .logo03 {font-size: 12px;line-height: 1.0;font-weight: bold;margin-bottom:5px;margin-left:40px;}
            #footer .text {font-size: 12px;line-height: 1.5;padding-bottom:40px;padding-left:40px;background-color: #cde411;}

}

/* Tablets/Desktops/LargeDesktops */
@media only screen and (min-width: 800px) {
    #wrap{min-width:300px;}

        #wrap #main {min-width:300px;}
            #wrap #main #main_contents {width:100%;position: relative;top:0;left:0;}
                .header {position: absolute;top:30px;left:0;z-index: 1000;}
                    .header .gnavi {display: flex;}
                .kaso_header {position: relative;top:0;left:0;z-index: 1000;padding:30px 0;background: url("../image/common/kaso_header.png") repeat-x top left;background-size: contain;z-index: 1000;}
                .main_visual {width:100%;height: 429px;margin:0 auto;background: url("../image/top/main_visual_pc_220902.png") no-repeat bottom center;}
                    .main_visual > div {width:95%;max-width: 1000px;margin: 0 auto;height: 429px;position: relative;top:0;left:0;}
                        .main_visual > div > div {position: absolute;bottom:3%;right:0;}
                        .main_visual .button {}

        section {padding:60px 0;}
        .section01 {padding-bottom:10px;}
        .kaso_contents .section01 {}
        .sec_detail01, .kaso_contents .section02 {background: url("../image/top/section_bg_220902.png") no-repeat bottom center;}
        .sec_detail {padding-top:30px;padding-bottom:0;}

        .section01 .article01 {}
            .section01 .article01 > div {display: flex;flex-wrap: wrap;}
        .section02 .article01 {display: flex;flex-wrap: wrap;}
            .section02 .article01 .item {margin-right:5%;;}
            .section02 .article01 .item:nth-child(3n) {margin-right:0;}

        .article01_list {min-height: 1008px;width: 98%;margin: 0 auto;}
        .kaso_article01_list {min-height: 504px;}
        .article01 {width: 100%;max-width: 960px;margin: 0 auto;}
            .article01 .no_items {margin-bottom: 60px;}
            .article01 .item {width: 30%;box-shadow: 5px 5px 10px #c3c3c3;border-radius: 0px;margin-right:5%;margin-bottom:60px;background-color: #fff;}
            .article01 .item:nth-child(3n) {margin-right:0;}
            .article01 .item.hide {display: none;}
                .article01 .item a {text-decoration: none;}
                .article01 .item a:hover {}
                    .article01 .item a:hover img {filter:alpha(opacity=70);-moz-opacity: 0.7;opacity: 0.7;}
                .article01 .item .photo {font-size: 0;line-height: 0;}
                    .article01 .item .photo img {width: 100%;}
                    .article01 .item .text {background-color: #fff;padding:15px;}
                        .article01 .item .text .date {margin-bottom: 15px;font-size: 12px;line-height: 1.5;}
                            .article01 .item .text .date span {display: inline-block;margin-left:10px;border-radius: 10px;border: 1px solid #fca350;color:#fca350;padding: 0 5px;}
                        .article01 .item .text .title {margin-bottom: 15px;font-size: 16px;line-height: 1.5;font-weight: bold;}
                        .article01 .item .text .caption {margin-bottom: 8px;font-size: 14px;line-height: 1.5;}
                        .article01 .item .text .category {width: 100px;font-size: 12px;line-height: 1.5;background-color: #6cc78f;color: #fff;padding:2px 0;text-align: center;}
        .article_more {font-size: 0;line-height: 0;text-align: center;}
            .article_more img {cursor:pointer;}
        .detail_more {margin-bottom: 60px;}
        .paging {width: 100%;max-width:225px;margin: 0 auto;display: flex;justify-content: center;}
            .paging .page {width: 25%;padding:15px;color: #000;font-weight: bold;text-align: center;}
            .paging .page:hover {cursor:pointer;}
            .paging .no_page:hover {cursor:initial;}
            .paging .active {color: #fff;background-color: #fca350;}
        .detail_paging {display: none;}
        .kaso_contents .paging {padding-bottom: 60px;}

        .detail {width: 100%;max-width: 960px;margin: 0 auto;}
            .detail p {}
            .detail .date {padding: 0 35px;font-size: 12px;line-height: 1.5;}
                .detail .date span {width: 100px;font-size: 12px;line-height: 1.5;background-color: #6cc78f;color: #fff;padding:2px 0;text-align: center;display: inline-block;margin-left:20px;}
            .detail .page_title {padding: 0 35px;font-size: 28px;line-height: 1.5;font-weight: bold;margin-top: 10px;}
                .detail .page_title p {font-size: 21px;margin: 0;padding: 0;}
                .detail .page_photo {font-size: 0;line-height: 0;text-align: center;}
                .detail .sub_title {font-size: 25px;line-height: 1.5;font-weight: bold;color: #6cc78f;padding-left: 20px;margin-bottom:20px;border-left: 9px solid #2ab660;margin-top: 60px;}
                .detail .sub_title01 {margin-top:30px;}
                .detail .detail_caption {font-size: 16px;line-height: 1.5;}
                    .detail .detail_caption > p {margin:0;}
                .detail .line {width: 100%;max-width: 1200px;margin: 40px auto 0;border-bottom: 1px solid #636363;}
                .detail .sp_line {display: none;}

        #wrap #footer {width:100%;margin: 0;padding:0;background: url("../image/common/footer_pc.png") no-repeat bottom right;}
            #wrap #footer #footer_contents {width:95%;max-width: 1200px;margin:0 auto;}

            .footer_banner {width: 100%;margin: 0 auto;padding:50px 0 110px;font-size: 0;line-height: 0;text-align: center;}
            #footer .logo01 {font-size: 0;line-height: 0;margin-bottom:25px;}
            #footer .gnavi {display: flex;margin-bottom:55px;}
                #footer .gnavi div {padding:0 10px;border-right:1px solid #000;}
                #footer .gnavi div:first-child {padding-left:0;}
                #footer .gnavi div:last-child {padding-right:0;border-right:none;}
                #footer .gnavi div a {text-decoration: none;font-weight: bold;}
                #footer .gnavi div a:hover {color:#009933;}
            #footer .logo02 {font-size: 0;line-height: 0;margin-bottom:10px;}
            #footer .logo03 {font-size: 14px;line-height: 1.0;font-weight: bold;margin-bottom:10px;}
            #footer .text {font-size: 14px;line-height: 1.5;padding-bottom:150px;}

}

/* iPad(横) */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
    html {font-size:62.5%;}
    body {font-size:10px; font-size:1.0rem;}
}
/* iPad(縦) */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
    html {font-size:62.5%;}
    body {font-size:10px; font-size:1.0rem;}
}

/* iPhone4,iPhone5,iPhone5sのみ */
@media screen and (min-device-width: 320px) and (max-device-width: 374px) {
    html {font-size:62.5%;}
    body {font-size:28px; font-size:1.0rem;}
}

/* [None Retina iPhone] : iPhone 2G, 3G, 3GS, iPod touch, 2, 3, 4 */
@media only screen and (device-height: 480px) and (-webkit-min-device-pixel-ratio: 1), only screen and (device-width: 480px) and (-webkit-min-device-pixel-ratio: 1) {
    html {font-size:62.5%;}
    body {font-size:28px; font-size:1.0rem;}
}

/* [3inch iPhone and iPod] : iPhone 2G, 3G, 3GS, 4, 4S, iPod touch, 2, 3, 4 */
@media only screen and (device-height: 480px), only screen and (device-width: 480px) {
    html {font-size:62.5%;}
    body {font-size:28px; font-size:1.0rem;}
}

/* [4 inch iPhone and iPod] : iPhone 5, 5s, 5c, iPod touch 5 */
@media only screen and (device-height: 568px), only screen and (device-width: 568px) {
    html {font-size:62.5%;}
    body {font-size:10px; font-size:1.0rem;}
}

/* [Retina iPhone and iPod] : iPhone 4, 4S, 5, 5s, 5c, iPod touch 4, 5 */
@media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2) {
    html {font-size:62.5%;}
    body {font-size:10px; font-size:1.0rem;}
}

/* iPhone6のみ */
@media only screen and (min-device-width : 375px) and (max-device-width : 667px) {
    html {font-size:62.5%;}
    body {font-size:28px; font-size:1.0rem;}
}

/* iPhone6 Plus ~ ちょっと大きいスマホまで */
@media only screen and (min-device-width : 414px) and (max-device-width : 736px) {
    html {font-size:62.5%;}
    body {font-size:28px; font-size:1.0rem;}
}
