@charset "UTF-8";
/*スマホ用
----------------------------------*/
/*@media only screen and (max-width: 1035px) {
  .FEATURE-box .text {width: 100%;}
.FEATURE-box .right {width: 100%;}
.FEATURE-box .left {width: 100%;}  
}*/

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

header .head {background: #fff;}
header .read {font-size: 20px;}
header .contents {display: none;}
header .sp-logo-box {display: block;}
header .sp-logo-box h1 {width: 100%; text-align: center; padding: 40px 0; background: #2f373a;}
header .slide-area {padding: 0; background-size: 310%; height: 100vh; animation: none;}
header .slide-area .read {top: 175px;}
.scroll {bottom: 15%;}
.scroll img {width:35px;}
.contents ul.NEWS-area li span {margin-bottom: 15px; display: block;}
.contents {width: 90%; margin:0 5%;}
br.sp-br {display: block;}
.sp-zone {
    display: none;
}
.pc-zone {        
    display: block;
}
header h1.sp-index-logo {width: 100%; position: absolute; float: none; z-index: 999; text-align: center; padding: 100px 0;}
header .sp-navi {display: block;}











/*btn-navi*/
.Btn-navi {padding: 10px 5px; right: 10px; bottom: 75px; position: fixed; background: #d1d1d1; width: 40px; display:none; line-height:1em; z-index:9999; transition: .3s;}
.Btn-navi .name {font-weight: bold; position: relative; bottom: -25px; vertical-align:middle; text-align:center; color:#292929; font-size:7.3px; line-height: 1em; }
.Btn-navi .menuBtn {display: inline-block; position: relative; width: 40px; height:30px;}
.menu-icon {display: block; position: absolute; top: 20%; left: 50%; width: 24px; height: 2px; margin: -1px 0 0 -12px; background: #292929; transition: .2s;}
.menu-icon:before,.menu-icon:after {display: block; content: ""; position: absolute; top: 50%; left: 0; width: 24px; height: 2px; background: #292929; transition: .3s;}
.menu-icon:before {margin-top: -8px;}
.menu-icon:after {margin-top: 6px;}
.menuBtn:hover .menu-icon:before {margin-top: -10px;}
.menuBtn:hover .menu-icon:after {margin-top: 8px;}
.Btn-navi.close .name { color:#282828; overflow: hidden; left: 0px; width: 100%; font-size: 7.3px; line-height: 10px; text-align: center; font-weight: bold; height: 8px;}
.Btn-navi.close .name:before {display: block; content: 'CLOSE'; overflow: hidden; margin-right: 0px; }
.Btn-navi.close .menu-icon:before,.Btn-navi.close .menu-icon:after {background: #2b2b2b;}
.Btn-navi.close .menuBtn .menu-icon {background: transparent;}
.Btn-navi.close .menuBtn .menu-icon:before, .Btn-navi.close .menuBtn .menu-icon:after {margin-top: 0;}
.Btn-navi.close .menuBtn .menu-icon:before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}
.Btn-navi.close .menuBtn .menu-icon:after { -webkit-transform: rotate(-135deg); transform: rotate(-135deg);}
#mainhead .Btn-navi{ position: absolute; left:5px; top:5px; }
#mainhead .Btn-navi.close { opacity: 0; display: none;}
#fixBtn-navi {position: fixed;  width: auto; bottom: 20px; right:15px;}
#fixBtn-navi.Btn-navi .menuBtn { display: block; background-color:#333; border-radius: 10px; padding:10px 0px 0px;}
#fixBtn-navi.Btn-navi .menuBtn .menu-icon {margin-top: -6px;}
#fixBtn-navi .menu-icon,#fixBtn-navi .menu-icon:before,#fixBtn-navi .menu-icon:after {background-color: #ffffff;}
#fixBtn-navi .menu-icon:before{margin-top: -7px;}
#fixBtn-navi .menu-icon:after {margin-top: 5px;}
#fixBtn-navi.close .menu-icon:before,#fixBtn-navi.close .menu-icon:after {margin-top: 0;}
#fixBtn-navi.close .menu-icon {background: transparent;}
#fixBtn-navi .name { color: #ffffff; display: block; position: relative; left:0px; bottom: -17px;}
#fixBtn-navi .name:before { display: inline; content: 'MENU';}
#fixBtn-navi.close .name:before { display: inline; content: 'CLOSE';}
#fixBtn-navi.close .name { color: #ffffff;}
#cavor.Btn-navi {width: 100%; height: 100%; position: fixed; top:0px; left: -100%; transition:0s;  z-index: 999;}
#cavor.Btn-navi .menuBtn {display:block; width: 100%; height: 100%; background:rgba(255,255,255,0.6); }
#cavor.close { left: 0px; }
.navi {
    background-color: #fff; /*メニュー背景色*/
    box-sizing: border-box;
    height: 100%;
    padding: 10px 20px; /*メニュー内部上下左右余白*/
    position: fixed;
    left: -100%; /*メニュー横幅①と合わせる*/
    top: 0;
    transition: .2s; /*0.3s は変化するのにかかる時間*/
    width: 100%; /*メニュー横幅①*/
    z-index: 1000;
}
.Btn-navi:hover + .navi-background {
    opacity: 0.5; /*黒背景部分透過度*/
    z-index: 999;
}
.simple-menu {
        text-align: left;
    }
    .simple-menu a {
        display: block;
    }
/*.navi-background {width: 100%; height: 100%; position: fixed; top: 0px; left: 0%; transition: 0s; z-index: 999;}*/
.navi-background a.background-btn{display: block; width: 100%; height: 100%; background: rgba(255,255,255,0.6);}
.navi.open { left: 0; }
.navi-background {z-index: 999; display: none; position: fixed; width: 100%; height: 100%; top: 0; left:0; }
.navi-background.open {display: block; background: rgba(255,255,255,0.6); }
.navi.open {padding-bottom: 10px; padding-top: 30px; text-align: center;}
.navi.open ul li {font-size: 14px; padding: 23px; border-bottom: solid 1px #bbbbbb;}

.Btn-navi_first {padding: 5px; background: #816a29; width: 40px; display:none; line-height:1em; z-index:9999; transition: .3s;}
.Btn-navi_first .name { vertical-align:middle; text-align:center; color:#ffffff; font-size:7.3px; line-height: 1em; }
.Btn-navi_first .menuBtn {display: inline-block; position: relative; width: 40px; height:30px;}
/*footer .navi ul {display: block; padding: 30px 0px;}*/
footer .navi ul {
    font-size: 12px;
    height: 280px;
    overflow: auto;
    /* background-color: #FFF; */
    padding: 10px 10px;
    margin-bottom: 15px;
    /* border: 1px solid #CCC; */
    display: block;
    padding: 30px 0px;
}












}



@media screen and (max-width: 750px) {
    .sp-zone {
        display: block;
    }
    .pc-zone {
        display: none;
    }
    .Btn-navi {
        display: block;
    }
    .head-name {
        text-align: center;
        margin: auto;
    }
    .head-main {
        display: block;
    }
    .nav-contact-wrapper {
        text-align: center;
        position: fixed;
        bottom: 0;
        left: 0;
        font-size: 4vw;
        padding: 2% 0;
        z-index: 999;
    }
    .gnav-container {
        width: 90%;
        border-radius: 0px;
        padding: 0;
        margin-top: 10px;
    }
    .sp-gnav-list {
        display: flex;
        padding-top: 0px;
        padding-bottom: 0px;
    }
    .sp-gnav-list li {
        width: 50%;
        text-align: center;
        float: left;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .sp-gnav-list-top li {
        border-top: 1px solid #bababa;
        border-bottom: 1px solid #bababa;
    }
    .sp-gnav-list-bottom li {
        border-bottom: 1px solid #bababa;
    }
    .content-cont {
        padding-bottom: 0px;
        padding-top: 0;
    }
    .content-cont-top {
        padding-top: 40px;
    }
    .sp-gnav-list li a {
        display: block;
        padding: 10px 0;
    }
    
    .gnav-container.is-sticky {
        position: static;
    }
    .sp-gnav-list-bottom li {
        border-bottom: 1px solid #bababa;
        text-align: center;
    }
    .gnav-link-sp-r {
        border-right: 1px solid #bababa;
    }
    .sp-gnav-list-bottom li a {
        padding: 10px 0;
        display: block;
    }
    .content-title {
        text-align: center;
    }
    .sp-info-index {
        line-height: 1.5;
        padding-top: 50px;
    }
    .sp-info-index p {
        padding-bottom: 20px;
    }
    .profile-text {
        padding-top: 0;
        margin-top: -10px;
    }
    .content-profile {
        gap: 20px;
    }
    .content-title p {
        padding-left: 0px;
    }
    .profile-to-page {
        text-align: center;
    }
    .travel-contents {
        padding-top: 0;
        padding-bottom: 50px;
    }
    .travel-contents a {
        padding-top: 50px;
    }
    .index-padd-tp {
        padding-bottom: 30px;
    }
    .content-item {
        flex-basis: calc((100% - 1 * var(--column-gap)) / 2);
    }
    .column-to-page {
        text-align: center;
    }
    .column-to-page-news {
        text-align: center;
    }
    .common-contact-content {
        flex-wrap: wrap;
        gap: 10%;
        padding-bottom: 20px;
    }
    .contact-spe {
        width: clamp(100px, calc(135px + 10vw), 218px);
        height: clamp(100px, calc(135px + 10vw), 218px);
    }
    .common-contact-content div {
        text-align: center;
        padding-bottom: 4%;
    }
    .common-contact-main-text p {
        padding-bottom: 70px;
    }
    .content-profile > div {
        flex: 1;  
        width: 50%;
    }
    .content-profile img {
        width: 100%;
        height: auto;
        display: block;
    }
    .padd-top {
        padding-bottom: 20px;
        padding-top: 50px;
    }
    .padd-top-sp {
        padding-bottom: 70px;
    }
    .content-main-text01 {
        padding-bottom: 50px;
    }
    .content-main-text01 .u-fs-caption-2{
        font-size: 2vw !important;
    }
    .news-section {
        margin-bottom: 0px;
        padding: 60px 0;
    }
    .foot-right {
        display: none;
    }
    .foot-left {
        align-items: center;
        margin: 0 auto;
        text-align: center;
    }
    .foot-main::before {
        height: 90%;
    }
    .foot-main .main-section-container .sp-zone .gnav-container {
        width: 100%;
    }
    .sidebar-inner {
        display: none;
    }
    .news-section-arc {
        padding: 50px 0;
    }
    .arc-flex-content {
        display: block;
        padding-bottom: 0;
    }
    .content-item02 {
        flex-basis: calc((100% - 1 * var(--column-gap)) / 2);
    }
    .arc-nav {
        padding-top: 0;
    }
    .flex-theme {
        display: block;
    }
    .profile-siv-sazary {
        display: flex;
        padding-bottom: 30px;
        gap: 8%;
    }
    .profile-img-page {
        width: 55%;
    }
    .profile-name-page {
        margin-top: -10px;
        padding-top: 0;
    }
    .scf-main-text {
        line-height: 2;
    }
    .context-content-column {
        display: block;
    }
    .column-right-images {
        width: 100%;
    }
    .contact-form .form-row {
        display: block;
    }
    .contact-form .label-text {
        line-height: 2;
    }
    .in-submit {
        margin-top: 0px;
    }
    .contact-form p:not(.submit-area){
        height: 80px;
    }
    .contact-tool-top {
        padding-bottom: 0;
    }
    .contact-form .input-area textarea {
        height: 130px;
    }
    .contact-buttom-content {
        padding-top: 30px;
    }
    .contact-main-text .u-fs-caption-2 {
        text-align: center;
    }
    .main-0 {
        padding-top: 50px;
    }
    .foot-content {
        padding-bottom: 70px;
    }
    .news-single {
        width: 90%;
    }
    .form-me-number {
        padding-top: 135px;
    }
    .thanks {
        width: 100%;
    }
    .line-group span {
        display: inline-block;
    }
    .contact-thanks {
        line-height: 2.2;
    }
    .thanks-page {
        padding-top: 0;
    }
    #wpcf7cpcnf {
        padding: 0;
    }
    #wpcf7cpcnf th, #wpcf7cpcnf td {
        font-size: clamp(0.85rem, 1.35vw + 1rem, 2.2rem);
    }
    .contact-area {
        width: 100%;
    }
    .contact-area p a {
        background: #333;
        border: none;
        box-shadow: 0px 10px 10px 10px rgb(0 0 0 / 30%);
        margin-bottom: 0;
        border-radius: 10px 10px 0 0;
        position: fixed;
        width: 100%;
        bottom: 0;
        left: 0;
        font-size: 3vw;
        padding: 2% 0;
        z-index: 999;
        color: #fff;
        text-align: center;
        display: block;
    }
    .simple-menu {
        text-align: left;
    }
    .content-title, .content-title-sub {
        padding-top: 0;
    }
    .profile-text .u-fs-caption-2 ,.profile-name-page .u-fs-caption-2{
        line-height: 2;
    }
}
@media only screen and (max-width: 600px) {
    .content-main-text01 .u-fs-caption-2{
        font-size: 2.5vw !important;
    }
}
@media only screen and (max-width: 480px) {
    .sp-info-index {
        padding-top: 30px;
    }
    .sp-info-index p {
        padding-bottom: 0;
    }
    .padd-top-sp {
        padding-bottom: 40px;
    }
    .sp-index-b {
        margin-bottom: 50px;
    }
    .content-cont-02{
        padding-top: 20px;
        padding-bottom: 30px;
    }
    .content-title h2, .content-title p {
        padding-left: 12px;
        padding-right: 12px;
    }
    .content-main-text01 .u-fs-caption-2{
        font-size: 3vw !important;
    }
    .flex-top-art-index a .u-fs-p-large {
        font-size: clamp(2rem, 2vw + 1rem, 3.0rem);
    }
    .head-name a img {
        width: 80%;
        padding-bottom: 10px;
    }
    .u-fs-p-large {
        font-size: clamp(2rem, 2vw + 1rem, 3.0rem);
    }
    .u-fs-h3 {
        font-size: clamp(2.0rem, 5vw + 1rem, 2.4rem);
    }
    .list .u-fs-h4 {
        font-size: clamp(1.56rem, 2.5vw + 1rem, 2.2rem);
    }
    .nav-contact-link {
        justify-content: flex-start;
        padding-left: 25px;
    }
    .travel-contents02 {
        --column-gap: 1.6rem;
    }
    .profile-siv-sazary {
        gap: 2%;
    }
    .history-date {
        width: 90px;
    }
    .contact-spe {
        width: clamp(120px, 15vw + 60px, 180px);
        height: clamp(120px, 15vw + 60px, 180px);
    }
    .contact-spe img {
        width: 40%;
    }
    .nav-contact-link img {
        width: 65%;
    }
    .travel-contents {
        padding-bottom: 30px;
    }
    .travel-contents a {
        padding-top: 30px;
    }
    .flex-theme {
        padding-bottom: 50px;
        padding-top: 50px;
    }
    .Btn-navi {
        bottom: 50px;
    }
    .contact-buttom-content {
        padding-left: 0;
    }
    .foot-content {
        margin-top: 50px;
        padding-bottom: 50px;
        padding-top: 0;
    }
    .foot-content div a img {
        width: 70%;
    }
    .foot-main::before {
        height: 60%;
    }
    .contact-buttom-content img {
        width: 20%;
    }
    .contact-tool {
        gap: 15px;
    }
    .contact-form p {
        height: 70px;
    }
    .contact-area p a {
        font-size: 4vw;
    }
    .navi.open ul li {
        padding: 25px;
    }
    .foot-left {
        padding-top: 65px;
    }
    .content-cont-01 {
        padding-top: 50px;
    }
    .news-section {
        margin-bottom: 0px;
        padding-top: 30px;
        padding-bottom: 70px;
    }
    .news-container {
        padding-top: 50px;
    }
    .section-header {
        margin-bottom: 50px;
    }
    .news-meta {
        width: 70px;
    }
    .foot-main {
    margin-bottom: 100px;
    }
}
@media only screen and (max-width: 400px) {
    .foot-main::before {
        height: 80%;
    }
}







