/**SPmode*/

@media screen and (min-width: 767px) {
    .pconly {}
    .sponly {
        display: none !important;
    }
}

@media screen and (max-width: 1100px) {
    header nav ul li {
        position: relative;
        padding: 0 0.5%;
        text-align: center;
    }
    header nav ul li.logo {
        margin-right: auto;
        width: 23%;
        padding: 0 20px;
    }
    header nav ul li.logo a {
        width: 100%;
    }
    header nav ul li.logo img {
        max-width: 366px;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    html {
        font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
        font-size: 15px;
    }
    .body_wrap {
        overflow-x: hidden;
        padding-top: 0px;
    }
    .pconly {
        display: none !important;
    }
    .sponly {}
    .spbr {
        display: block;
    }
    .spleft {
        text-align: left;
    }
    .pt {
        box-sizing: border-box;
        padding-top: 43px;
    }
    .pb {
        box-sizing: border-box;
        padding-bottom: 20px;
    }
    .pt15 {
        padding-top: 0px;
    }
    .pw02 {
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }
    .spw {
        padding-left: 2%;
        padding-right: 2%;
        box-sizing: border-box;
    }
    .spcen {
        text-align: center;
    }
    .sppt {
        box-sizing: border-box;
        padding-top: 57px;
    }
    .sppb {
        box-sizing: border-box;
        padding-bottom: 16px !important;
    }
    .spbm {
        box-sizing: border-box;
        padding-bottom: 16px !important;
    }
    .spbm20 {
        padding-bottom: 20px !important;
    }
    .smb {
        margin-bottom: 24px;
    }
    .smb30 {
        margin-bottom: 30px !important;
    }
    .sp100 {
        width: 100%;
    }
    .fw20 {
        font-size: 24px;
        line-height: 32px;
    }
    .fontb20 {
        font-size: 1.3em;
    }
    .inner {
        padding-left: 2%;
        padding-right: 2%;
        box-sizing: border-box;
    }
    /*common*/
    ul.bread {
        margin: 10px 0;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        line-height: 1.5;
    }
    /*header*/
    header {
        z-index: 100;
        position: absolute;
        background: #ffffff;
    }
    #header.fixed {
        position: fixed;
        z-index: 999;
        top: 0;
        left: 0;
    }
    header.entry-header.fixed {
        position: relative;
    }
    header h2 {
        font-size: 10px;
    }
    .sp_header {
        display: flex;
        justify-content: space-between;
    }
    .sp_header .sp-logo-area {
        width: 52%;
        margin-right: auto;
        padding: 10px 7px;
    }
    .sp_header .contact_a {
        width: 50px;
        line-height: 32px;
        background-color: #009944;
        padding: 5px;
        text-align: center;
    }
    .sp_header .tel_a {
        width: 50px;
        line-height: 33px;
        background-color: #eeeeee;
        padding: 5px;
        text-align: center;
    }
    .sp_header .sp-menu-btn {
        width: 50px;
        text-align: center;
        padding: 12px 0px 0px 0;
        box-sizing: border-box;
        position: relative;
        z-index: 11;
        background: #333333;
    }
    header nav {}
    header nav .navwrap_ul .logo,
    header nav .navwrap_ul .contact_box {
        display: none;
    }
    header nav ul.navwrap_ul {
        display: none;
        max-height: 80vh;
        overflow-y: auto;
        background: #000000;
    }
    header nav.active ul.navwrap_ul {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
    }
    header nav ul.navwrap_ul li {
        border-bottom: 1px solid #333333;
        margin: 0;
    }
    header nav.active ul.navwrap_ul>li {
        position: relative;
        width: 100%;
        text-align: left;
        background: #000000;
        padding-left: 0px;
    }
    header nav.active ul.navwrap_ul li a {}
    header nav.active ul.navwrap_ul>li>a,
    header nav.active ul.navwrap_ul>li>span {
        padding: 12px 0;
        padding-left: 20px;
        color: #ffffff;
        display: inline-block;
        width: 100%;
    }
    header nav.active ul.navwrap_ul>li>ul {
        display: none;
        flex-direction: column;
        position: relative;
        top: 0;
        padding: 0px;
        width: 100%;
        background-color: #1e1e1e;
    }
    header nav.active ul.navwrap_ul>li.active>ul {
        display: flex;
    }
    header nav ul li ul:before {
        content: none;
    }
    header nav ul.navwrap_ul>li>ul li {
        width: 100%;
        color: #ffffff;
        padding: 5px 0 5px 30px;
        text-align: left;
        font-size: 90%;
    }
    .entry-header-page .entry-title span {
        border-left: 8px solid #009946;
        padding-left: 8px;
        font-size: 17px;
    }
    /*base*/
    .flexc {
        display: flex;
        justify-content: center;
        flex-direction: column;
        text-align: center;
        align-items: center;
    }
    .spnoflex {
        display: flex;
        flex-wrap: wrap;
    }
    .spnoflex .w50 {
        width: 100%;
    }
    /*mv*/
    .slick-dots {
        bottom: 25px;
    }
    .slick-dots li {
        margin: 0 6px;
    }
    .slick-dots li button:before {
        font-family: 'slick';
        font-size: 14px;
        line-height: 20px;
        position: absolute;
        top: 0;
        left: 0;
        width: 20px;
        height: 20px;
        content: '•';
        text-align: center;
        opacity: 1;
        color: #ffffff;
    }
    .slick-dotted.slick-slider {
        margin-bottom: 40px;
    }
    /*menu*/
    .menu-trigger,
    .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }
    .menu-trigger {
        position: relative;
        width: 30px;
        height: 25px;
        transform: scale(0.7);
    }
    .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #ffffff;
        border-radius: 4px;
    }
    .menu-trigger span:nth-of-type(1) {
        top: 0;
    }
    .menu-trigger span:nth-of-type(2) {
        top: 12px;
    }
    .menu-trigger span:nth-of-type(3) {
        bottom: 0;
    }
    .menu-trigger.active {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
    .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(20px) rotate(-45deg);
        transform: translateY(20px) rotate(-45deg);
        top: -8px;
    }
    .menu-trigger.active span:nth-of-type(2) {
        -webkit-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg);
    }
    .menu-trigger.active span:nth-of-type(3) {
        opacity: 0;
    }
    ul.border li {
        border-top: 1px solid #dddddd;
        padding: 10px 10px 10px 9px;
        box-sizing: border-box;
        font-size: 16px;
    }
    ul.border li {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        align-items: flex-end;
    }
    ul.border li .body {
        display: block;
        padding: 9px;
        font-weight: 100;
    }
    ul.border li:last-child {
        border-bottom: 1px solid #dddddd;
        padding: 10px 10px 10px 9px;
        box-sizing: border-box;
        font-size: 16px;
    }
    /**/
    .flexb {
        display: block;
        justify-content: space-between;
    }
    .flexb .box {
        width: 100% !important;
        margin-bottom: 10px;
        letter-spacing: 1px;
    }
    footer .contact .box {
        margin-bottom: 10px;
    }
    footer .contact .box .detail .onepoint {
        display: block;
        margin: 0 auto;
    }
    footer .contact .box .detail .tel-wrap {
        font-size: 80%;
    }
    footer .contact:after {
        content: "";
        background-size: cover;
        background-repeat: no-repeat;
        opacity: 0.5;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        position: absolute;
        z-index: -1;
        background-position: right center;
    }
    footer .footer_logo {
        width: 115px;
    }
    .contact-btn-r-big span {
        font-size: 14px;
    }
    .contact-btn-r-big span:after {
        content: "";
        display: block;
        background-image: url(../img/icon-linkw.png);
        background-repeat: no-repeat;
        background-position: center;
        text-align: center;
        padding-left: 0px;
        position: absolute;
        right: 22px;
        top: 24px;
        width: 6px;
        height: 12px;
    }
    footer .contact .box .title {
        background: #000;
        box-sizing: border-box;
        color: #fff;
        padding: 5px;
        text-align: center;
        font-size: 16px;
        margin-bottom: 15px;
    }
    footer {
        background: #ffffff;
        padding-top: 20px;
    }
    footer .contact .box .detail .onepoint {
        padding: 0 0 0 0;
        width: 79px;
    }
    footer .contact .box .detail .tel-wrap .tel-view {
        margin-top: 0px;
        padding-top: 0px;
    }
    footer .contact .box .detail .tel-wrap .tel-view span {
        font-size: 23px;
        letter-spacing: 3px;
        padding-left: 17px;
    }
    .foot_ul .contact a {
        padding: 17px 5px;
    }
    .foot_ul .tel a {
        padding: 16px 5px;
    }
    footer .copy {
        font-size: 12px;
    }
    .contact_foot {
        border-bottom: 1px solid #cccccc;
        padding-bottom: 30px;
        margin-bottom: 10px;
    }
    .foot_ul {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        flex-direction: column;
    }
    .foot_ul .logo {
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
    }
    .foot_ul .info {
        margin-right: 0%;
        text-align: center;
        width: 100%;
        margin-bottom: 30px;
    }
    .foot_ul ul {
        display: flex;
        justify-content: space-around;
        width: 100%;
    }
    #pagetop {
        position: fixed;
        bottom: 50px;
        right: 7px;
        z-index: 15;
        width: 35px;
    }
    /*Subpage*/
    .kv_sub .inner {
        min-height: 250px;
    }
    .kv_sub .box {
        padding: 10px;
        margin: 0;
        margin-left: -2%;
    }
    .kv_sub .box .font-nycd-title {
        font-size: 28px;
        margin-bottom: 10px;
    }
    .kv_sub .box span {
        font-size: 14px;
    }
    ul.bread li {
        margin-right: 10px;
        opacity: 0.5;
        font-size: 13px;
    }
    .size130 input,
    .size300 input,
    .size400 input,
    .size630 textarea {
        width: 100% !important;
    }
    /*padding-fix*/
    .mb {
        margin-bottom: 40px;
    }
    .pb {
        padding-bottom: 20px;
    }
    header h2 {
        font-size: 10px;
        margin-left: 10px;
        margin-top: 6px;
    }
    .sp-logo-area a img {
        width: 61%;
        margin-bottom: 2px;
        margin-left: 10px;
    }
    .hr01 {
        padding-top: 0px;
        padding-bottom: 12px;
    }
    .plan01 {
        width: 100%;
        min-height: 100px;
    }
    .plan01 > a {
        height: 100px;
    }
    .plan01 .box {
        width: 160px !important;
        display: inline-block;
        margin: 0 auto;
        background: rgba(255, 255, 255, 0.9);
        box-sizing: border-box;
        padding: 16px 0px;
        text-align: center;
    }
    .plan01 .font-nycd-title {
        font-size: 20px;
    }
    .plan01 .box .hr01 {
        padding-top: 0px;
        padding-bottom: 0px;
        margin: 0px 0 1px 0;
    }
    .plan01 .box span {
        font-size: 13px;
        padding-top: 3px;
        padding-right: 10px;
        box-sizing: border-box;
        display: block;
        background-position: right 15px top 3px;
    }
    .plan02 {
        display: block;
        background-size: cover;
        width: 100%;
        min-height: 125px;
    }
    #option_option .box {}
    #option_decoration .box {
        width: 206px;
        height: 80px;
    }
    .plan02 > a {
        display: flex;
        align-items: center;
        height: 125px;
        justify-content: center;
        color: #000;
    }
    .plan02 .box {
        width: 206px;
        height: 80px;
        padding: 19px 18px;
    }
    #option_decoration {
        margin-top: 20px;
    }
    .plan02 > a .font-nycd-title {
        font-family: 'Nothing You Could Do', cursive;
        font-size: 20px;
    }
    .plan02 .box .hr01 {
        padding-top: 0px;
        padding-bottom: 0px;
        margin: 0px 0 1px 0;
    }
    .plan02 .box span {
        font-size: 13px;
        padding-top: 3px;
        padding-right: 10px;
        box-sizing: border-box;
        display: block;
        background-position: right 15px top 3px;
        margin-top: 3px;
    }
    .lity-close {
        top: 100px;
        right: 20px;
        font-size: 50px;
        z-index: 100;
    }
    .lity-close:hover,
    .lity-close:focus,
    .lity-close:active,
    .lity-close:visited {
        top: 100px;
        right: 1px;
        font-size: 50px;
        z-index: 100;
    }
    .single-title {
        font-size: 24px;
    }
    .singlemb .single-title {
        margin-top: 0;
        line-height: 1.5;
    }
    .entry-meta a {
        border: 1px solid #cccccc;
        border-radius: 5px;
        padding: 6px 5px 6px 6px;
        box-sizing: border-box;
        font-size: 14px;
        line-height: 22px;
    }
    .single-content h2 {
        font-size: 22px;
    }
    .single-content h3 {
        font-size: 20px;
    }
    .pagenation_single date {
        color: #999999;
        font-family: 'gfs_didotregular';
        font-size: 12px;
        line-height: 17px;
        margin-bottom: 3px;
    }
    .pagenation_single .title {
        font-size: 14px;
        line-height: 24px;
    }
    .pagenation_single .img {
        width: 60px;
        padding-top: 7%;
    }
    .pagenation_single .detail {
        padding: 10px 0px 10px 10px;
        box-sizing: border-box;
        flex: 1;
    }
    .pagenation_single .nextsingle {
        padding: 15px 15px 15px 0px;
    }
    .pagenation_single .prevsingle {
        padding: 15px 0px 15px 15px;
    }
    .pagenation_single .nextsingle .detail {
        padding: 10px 15px 15px 0px;
        text-align: left;
    }
    .page-header {
        min-height: 146px;
    }
    .page-header .ttl {
        margin: 0;
        position: relative;
        color: #ffffff;
        letter-spacing: 0.1em;
        font-size: 25px;
        font-weight: 600;
        font-family: 'Open Sans', sans-serif;
        width: 100%;
        text-align: center;
    }
    .page-header .ttl span {
        position: absolute;
        font-size: 14px;
        width: 100%;
        text-align: center;
        display: block;
        margin-top: -46px;
        font-weight: 100;
        color: #ffffff;
        font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
    }
    .flexbox article {
        width: 100%;
        margin-bottom: 20px;
    }
    .flexbox article .img_thumb {
        max-height: none;
        overflow: hidden;
        text-align: center;
    }
    .static h2 span {
        position: relative;
        padding: 0 1em;
        background: #fff;
        color: #009946;
        font-size: 1.6rem;
    }
    .static ul.list li {
        width: 100%;
        text-align: left;
        margin-bottom: 10px;
        padding-left: 26px;
        position: relative;
    }
    .static ul.list li:before {
        content: "●";
        color: #094;
        font-size: 22px;
        top: -3px;
        left: 0px;
        position: absolute;
    }
    .static ul.ex li {
        width: 100%;
        margin-bottom: 20px;
        position: relative;
    }
    .static .col03 .w30 {
        width: 100%;
    }
    .static table.zebra tr th {
        width: 30%;
    }
    .static .maps li {
        background: #f2f7f5;
        position: relative;
        padding: 10px;
        width: 100%;
        margin-bottom: 40px;
    }
    .static .maps li .body {
        margin-bottom: 10px;
    }
    .static .maps li.col02 {
        width: 100%;
    }
    .static .maps li.col02 .flexb .w50 {
        width: 100%;
        margin-bottom: 20px;
    }
    .static table.simple th {
        display: block;
        width: 100%;
        text-align: left;
        padding-top: 3px;
        padding-bottom: 0px;
    }
    .static table.simple td {
        padding: 8px;
        display: block;
        width: 100%;
    }
    .static table.simple td input.col02 {
        width: 100%;
    }
    .static .flexb .img.w40 {
        width: 100%;
        margin-bottom: 20px;
    }
    .static .flexb .w60 {
        width: 100%;
        margin-bottom: 20px;
    }
    .static .box02 .img {
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
    }
    .static .box02 .body {
        width: 100%;
    }
    .static h2 {
        position: relative;
        padding: 0 30px;
        text-align: center;
        margin-bottom: 40px;
    }
    .contact_bnr .title {
        font-size: 16px;
        font-weight: 600;
    }
    .static table.simple td input,
    .static table.simple td textarea {
        border: 1px solid #ccc;
        padding: 6px 1.2%;
        width: 100%;
        background-color: #f7f7f7;
        font-size: 100%;
        margin: 5px 0;
        border-radius: 0;
    }
}