@charset "utf-8";
.main_page::after { background: rgba(169,137,75,0.3); }
#container { 
/*    background: url(../imgs/bg.png) no-repeat right top / auto;*/
/*    background-size: 50%;*/
}
.w970 { margin:0 auto; max-width:970px; width: 100%; }
.gold { color: #a9894b; }
sup { font-size: 1rem; }
@media screen and (max-width: 1024px) {
    #container { background-size: contain; }
}
@media screen and (max-width: 470px) {
	#container { 
/*
		background: url(../imgs/bg.png) no-repeat right 5vh / auto;
		background-size: contain;
*/
	}
}

.base-copy { font-size: 1.6rem; line-height:2.2; }
.delay { transition-delay: 0.2s; }
.delay01 { transition-delay: 0.4s; }
.delay02 { transition-delay: 0.6s; }

.shippori {
    font-family: 'Shippori Mincho', serif;
}
.vertical {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.horizontal {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
}
/*=======================
        common
 ========================*/
 .slick-dots li {
    margin: 0 5px !important;
}
 .slick-dots li button {
    background: #DCDCDC !important;
    width: 70px !important;
    height: 10px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden;
}
.slick-dots li button:before {
    content: none !important;
}
.slick-dots li.slick-active button {
    background: #648C50 !important;
}
.block_line {
    width: 11px;
    height: 130px;
    position: relative;
    margin: 60px auto;
}
.block_line::after {
    content: "";
    display: block;
    width: 0.15rem;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    background: #A9894B;
    background: -webkit-gradient(linear,  left top, left bottom,  from(rgba(169,137,75,0)),color-stop(1%, rgba(169,137,75,0.05)),color-stop(20%, rgba(169,137,75,1)),color-stop(50%, rgba(169,137,75,1)),color-stop(80%, rgba(169,137,75,1)),to(rgba(169,137,75,0)));
    background: -o-linear-gradient(top,  rgba(169,137,75,0) 0%,rgba(169,137,75,0.05) 1%,rgba(169,137,75,1) 20%,rgba(169,137,75,1) 50%,rgba(169,137,75,1) 80%,rgba(169,137,75,0) 100%);
    background: linear-gradient(to bottom,  rgba(169,137,75,0) 0%,rgba(169,137,75,0.05) 1%,rgba(169,137,75,1) 20%,rgba(169,137,75,1) 50%,rgba(169,137,75,1) 80%,rgba(169,137,75,0) 100%);
    opacity: 0.5;
}
.block_line .icon_star {
    position: absolute;
    top: 20px;
    left: calc(50% - 6px);
    right: 0;
    width: 11px;
    height: 10px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    background-size: contain;
    opacity: 0;
    -webkit-animation: line_ani 3s linear infinite;
    animation: line_ani 3s linear infinite;
}

@keyframes line_ani {
    0% {
        opacity: 0;
        top: 0;
    }
    
    30% {
        opacity: 1;
    }
    70% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        top: 100%;
    }
}
.base_cont {
    margin-bottom: 30px;
    padding-top: 10px;
}
.base_cont .base_ttl {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    margin-bottom: 15px;
}
.base_cont .base_ttl .label {
    background: #BAA16F;
    border-left: 5px solid #A9894B;
    color: #fff;
    display: inline-block;
    font-size: 89%;
    letter-spacing: 0.08em;
    margin-right: 15px;
    padding: 6px 9px;
}
.base_cont .base_ttl .small {
    font-size: 78%;
}
.base_cont .base_txt {
    font-size: 1.4rem;
    letter-spacing: 0.08em;
    line-height: 2.1;
}

@media screen and (max-width: 1000px) {
    .base_cont .base_ttl {
        font-size: 1.5rem;
        letter-spacing: 0;
    }
    .base_cont .base_txt {
        font-size: 1.2rem;
        letter-spacing: 0;
        line-height: 1.8;
    }
    .base_cont .base_ttl .label {
        letter-spacing: 0;
        margin-right: 5px;
        padding: 4px 7px 3px;
    }
}

@media screen and (max-width: 767px) {
    .block_line {
        height: 100px;
    }
}

/*=======================
    block_convenience
 ========================*/
 .block_convenience  {
    margin-top: 100px;
}
.block_convenience .inner {
    position: relative;
}
.convenience_txt {
    position: absolute;
    top: 17%;
    left: 65%;
    font-size: 2.4rem;
    letter-spacing: 0.12em;
    line-height: 2;
}
.convenience_slide {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-bottom: 20px;
}
.convenience_slide .pic_cap {
    letter-spacing: 0;
}
.convenience_slide .item_navi {
    width: 55.5%;
}
.convenience_slide .item_navi img {
    transform: scale(1.15);
    transition: transform ease 5s;
}
.convenience_slide .item_navi .slick-current img {
    transform: scale(1);
}
.convenience_slide .wrap_thumb {
    width: calc(44.5% + ((100vw - 1200px) / 2));
    margin-right: calc(-1*(44.5% + ((100vw - 1200px) / 2)));
    padding-left: 25px;
    margin-bottom: 12px;
}
.convenience_slide .wrap_thumb .item {
    display: block;
    cursor: pointer;
    margin: 0 10px;
}
.convenience_slide .slick-dots {
    position: static;
    margin-top: 50px;
}


@media screen and (max-width: 1200px) {
    .convenience_slide {
        margin-bottom: 0;
    }
    .convenience_slide .wrap_thumb {
        margin-right: 0;
        width: 44.5%;
    }
    .slick-dots li button {
        width: 50px !important;
        height: 5px !important;
    }
    .convenience_slide .slick-dots {
        margin-top: 25px;
    }
    .convenience_slide .wrap_thumb .item {
        margin: 0 7px;
    }
}

@media screen and (max-width: 1000px) {
    .convenience_txt {
        font-size: 2rem;
        letter-spacing: 0;
        line-height: 1.8;
        left: 60%;
    }
}

@media screen and (max-width: 767px) {
    .convenience_slide {
        margin-bottom: 40px;
    }
    .convenience_txt {
        font-size: 1.8rem;
        margin-bottom: 30px;
        position: static;
        text-align: center;
    }
    .convenience_slide .item_navi {
        position: static;
        width: 100%;
    }
    .convenience_slide .wrap_thumb {
        margin-top: 15px;
        margin-left: -7px;
        padding-left: 0;
        width: calc(100% + 14px);
    }
    .convenience_slide .slick-dots {
        position: absolute;
        bottom: -30px;
    }
    .block_convenience .note {
        letter-spacing: 0;
        text-align: left !important;
    }
    .slick-dots li button {
        padding: 3px !important;
        width: 35px !important;
    }
}



/*=======================
    sec_street
 ========================*/
.sec_street .sec_ttl {
    margin-bottom: 50px;
    text-align: center;
}
.sec_street .sec_ttl img {
    height: 68px;
    width: auto;
}
.sec_street .cont {
    background: #EAE2D6;
    padding: 50px 0;
    overflow: hidden;
}
.box_hover {
    cursor: pointer;
    position: relative;
    margin: 30px 0;
}
.base_img_box {
    z-index: 0;
}
.lens_img_box {
    position: absolute;
    opacity:0;
    width: 300px;
    height: 300px;
    overflow: hidden;
    pointer-events: none;
    border-radius: 100%;
    border: solid 5px #ffffff;
    background: #eae2d6;
    z-index: 1;
}
.lens_img {
    position: absolute;
    transform-origin: top left;
    max-width: inherit;
}
.box_note .note {
    font-size: 1.4rem;
    margin-bottom: 20px;
}
.box_note .note span {
    display: inline-flex;
    align-items: center;
}
.box_note .note span img {
    max-width: 16px;
    margin-right: 3px;
}
.box_note li {
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: 0;
}
.block_history {
    max-width: 1030px;
    margin: 150px auto 0;
    display: flex;
    flex-wrap: wrap;
}
.block_history .title {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: flex-end;
    position: relative;
    padding-top: 25px;
    width: 20%;
}
.block_history .title .label {
    color: rgba(184, 158, 119, 0.3);
    font-size: 4rem;
    line-height: 1;
    position: absolute;
    top: 0;
    right: 20px;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    text-align: right;
}
.block_history .title .label .large {
    font-size: 175%;
    margin-bottom: 10px;
}
.block_history .title .ttl {
    font-size: 2.2rem;
    margin-left: 10px;
}
.block_history .title .txt {
    font-size: 1.6rem;
    line-height: 2.5;
    padding-top: 40px;
}
.block_history .data {
    width: 80%;
}
.info_detail {
    font-family: 'Noto Sans Japanese';
    margin: 30px 0;
}
.info_detail li {
    margin-bottom: 5px;
    line-height: 1;
}
.info_detail span {
    background-position: top left;
    background-repeat: no-repeat;
    background-size: 11px auto;
    display: inline-block;
    font-size: 1.2rem;
    padding: 3px 0 3px 20px;
}
.info_detail .location {
    background-image: url("../imgs/ic_location.png");
}
.info_detail .phone {
    background-image: url("../imgs/ic_phone.png");
}
.info_detail .time {
    background-image: url("../imgs/ic_time.png");
}
.info_detail .person {
    background-image: url("../imgs/ic_person.png");
    background-size: 8px auto;
}
.block_history .data .note {
    font-size: 1.2rem;
    margin-top: 15px;
    text-align: right;
}
.block_history .slick-dots {
    right: 0;
    width: 40%;
}

@media screen and (max-width: 1000px) {
    .block_history .title {
        width: 17%;
    }
    .block_history .data {
        width: 83%;
    }
    .block_history .title .ttl {
        font-size: 1.8rem;
        margin-left: 5px;
    }
    .block_history .title .txt {
        font-size: 1.4rem;
        line-height: 1.8;
    }
    .block_history .title .label {
        font-size: 2.5rem;
        right: 8px;
    }
    .box_note .note {
        font-size: 1.2rem;
        margin-top: 20px;
    }
    .box_hover {
        margin: 30px 0 10px;
    }
    .info_detail span {
        font-size: 1rem;
    }
}
@media screen and (max-width: 767px) {
    .base_img_box img {
        width: 1200px;
    }
    .block_history .title {
        width: 40%;
        margin: 0 auto 20px;
        justify-content: center;
    }
    .block_history .title .label {
        right: -10px;
    }
    .block_history .data {
        width: 100%;
    }
    .block_history .data .note {
        margin-top: 5px;
    }
    .block_history .slick-dots {
        margin-top: 15px;
        position: static;
        width: 100%;
    }
    .block_history .title .ttl {
        width: 32px;
    }
    .block_history .title .txt {
        padding-top: 0;
    }
    .block_history .title .txt span {
        word-break: keep-all;
    }
    .block_history .list_cont .base_cont {
        margin-bottom: 15px;
    }
}

/*=======================
    sec_shopping
 ========================*/
.block_shopping .block_ttl {
    margin-bottom: -90px;
}
.block_ttl .en {
    display: block;
    color: #EEE7DB;
    font-size: 4.5rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    font-family: 'Cormorant Garamond', serif;
    position: relative;
}
.block_ttl .en::before {
    content: "";
    position: absolute;
    width: 0;
    height: 1px;
    right: 100%;
    top: 50%;
    background: #A9894B;
    margin-right: 10px;
    transition: all 5s;
}
.block_ttl.on .en::before {
    width: 100vw;
}
.block_ttl .desc {
    color: #333333;
    font-size: 2.2rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    padding-left: 70px;
}
.sec_shopping {
    padding: 100px 0 50px;
    overflow: hidden;
}
.sec .box_head {
    background: rgba(100, 140, 80, 0.2);
    color: #A9894B;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.2rem;
    line-height: 1.5;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    margin: 0 auto 140px;
    height: 248px;
    width: 248px;
    text-align: center;
}
.box_item {
    position: relative;
}
.box_item .sticker {
    background: #D8E2D3;
    border-radius: 9999px;
    color: #A9894B;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-family: 'Shippori Mincho', serif;
    line-height: 1;
    position: absolute;
    top: -46px;
    left: -18px;
    height: 90px;
    width: 90px;
    text-align: center;
    z-index: 1;
}
.box_item .sticker p {
    display: block;
    width: 100%;
}
.box_item .sticker .num {
    font-size: 180%;
    line-height: 0;
}
.box_item .sticker .min {
    margin-top: -25px;
}
.box_item.custom_right {
    margin-right: calc(-1*((100vw - 1200px) / 2 + 4px));
}
.box_item.custom_right::before {
    content: "";
    position: absolute;
    top: -30px;
    right: 0;
    width: 90%;
    height: 60px;
    background: rgba(169, 137, 75, 0.3);
}
.box_item.custom_marign {
    margin-top: 170px;
}
.block_shopping .base_cont .base_ttl {
    margin-bottom: 10px;
}
.block_shopping .base_cont .base_txt {
    letter-spacing: 0;
}
.block_shopping  .info_detail {
    margin: 20px 0 30px;
}

@media screen and (max-width: 1200px) {
    .sec .box_head {
        height: 180px;
        width: 180px;
        font-size: 2.5rem;
    }
    .block_ttl {
        padding-left: 50px;
    }
    .block_ttl .en {
        font-size: 3.6rem;
    }
    .block_ttl .desc {
        font-size: 1.8rem;
    }
    .box_item.custom_right {
        margin-right: -15px;
    }
    .box_item .sticker {
        font-size: 1.6rem;
        left: -7px;
        height: 80px;
        width: 80px;
    }
}

@media screen and (max-width: 1000px) {
    .sec_shopping {
        padding: 100px 0 0;
    }
    .block_shopping .block_ttl {
        margin-bottom: -50px;
    }
    .block_ttl {
        padding-left: 35px;
    }
    .block_ttl .en {
        font-size: 3rem;
    }
    .block_ttl .desc {
        font-size: 1.6rem;
        padding-left: 0;
    }
    .box_item.custom_marign {
        margin-top: 120px;
    }
}

@media screen and (max-width: 767px) {
    .sec_shopping {
        padding: 50px 0;
    }
    .sec .box_head {
        font-size: 2.2rem;
        margin: 0 auto 50px;
        height: 150px;
        width: 150px;
    }
    .block_shopping .block_ttl {
        margin-bottom: 0;
    }
    .block_ttl .en {
        font-size: 2.5rem;
    }
    .block_ttl .desc {
        font-size: 1.4rem;
    }
    .box_item.custom_marign {
        margin-top: 80px;
    }
}

/*=======================
    sec_gourmet
 ========================*/
.sec_gourmet {
    background: #eff3ed;
    padding: 70px 0 100px;
}
.sec_gourmet .block_ttl {
    margin-bottom: 80px;
}
.sec_gourmet .block_ttl .en {
    color: #D4C4A5;
}
.gourmet_block {
    width: 100%;
    max-width: 1030px;
    margin: 0 auto;
}
.gourmet_block .order-md-1 {
    z-index: 9;
}
.gourmet_block .order-md-2 {
    z-index: 0;
}
.gourmet_block .block_cont .info .info_detail {
    font-family: 'Noto Sans Japanese';
    margin: 15px 0 0;
}
.gourmet_block .block_cont .info li {
    line-height: 1.6;
    margin: 0;
}
.gourmet_block .block_cont .info li span {
    background-position: 0 5px;
    background-size: 10px auto;
    padding-left: 15px;
}
.gourmet_block .block_cont .info li .person {
	background-size: 8px auto;
}
.gourmet_block .block_cont .info .time {    
    letter-spacing: 0.05em;
    background-position-y: 8px;
}
.gourmet_block .block_cont .info .base_ttl {
    margin-bottom: 10px;
    letter-spacing: 0;
}
.gourmet_block + .gourmet_block {
    margin: 130px auto 0;
}
.gourmet_block .block_cont {
    padding: 0 100px 0 0;
}
.gourmet_block.block_revert .block_cont {
    padding: 0 0 0 100px;
}
.gourmet_block .block_cont .info {
    padding: 0;
}
.gourmet_block .block_cont .info .lbl {
    font-size: 1.4rem;
    color: #a9894b;
}
.gourmet_block .block_cont .image {
    padding: 0 0 0 64px;
}
.gourmet_block.block_revert .block_cont .image {
    padding: 0 64px 0 0;
}
.gourmet_block .slick-dots {
	right: calc(100% + 94px);
	text-align: right;
	bottom: 0;
}
.gourmet_block.block_revert .slick-dots {
	left: calc(100% + 94px);
	text-align: left;
    right: auto;
}
.slick-dots li button:before {
    display: none;
}
.gourmet_block .slick-dots li button {
    margin: 10px 0 0;
}
@media screen and (max-width: 1200px) {
    .gourmet_block .block_cont {
        padding: 0 70px 0 0;
    }
    .gourmet_block.block_revert .block_cont {
        padding: 0 0 0 70px;
    }
}
@media screen and (max-width: 1000px) {
    .gourmet_block .block_cont {
        padding: 0 30px 0 0;
    }
    .gourmet_block.block_revert .block_cont {
        padding: 0 0 0 30px;
    }
    .gourmet_block .block_cont .info .lbl {
        font-size: 1.2rem;
    }
    .gourmet_block .block_cont .info li span {
        font-size: 1rem;
    }
    .gourmet_block + .gourmet_block {
        margin: 80px auto 0;
    }
}
@media screen and (max-width: 767px) {
    .sec_gourmet {
        padding: 50px 0 70px;
    }
    .sec_gourmet .block_ttl {
        margin-bottom: 50px;
    }
    .gourmet_block .block_image {
        margin: 0 0 15px;
    }
    .gourmet_block .block_cont {
        padding: 0 !important;
    }
    .gourmet_block .block_cont .image {
        padding: 0 10% !important;
    }
    .gourmet_block .slick-dots {
        right: 0 !important;
        text-align: center !important;
        bottom: 0;
        transform: translateY(100%);
        left: 0 !important;
    }
}

/*=======================
    sec_culture
 ========================*/

.sec_culture {
    margin: 0 0 55px;
}
.sec_culture .first_txt {
    font-size: 2.2rem;
    line-height: 2.2;
    letter-spacing: 0.16em;
    padding: 60px 15px;
    text-align: center;
}
.sec_culture .culture_tag {
   color: #dbcebb;
   font-size: 6rem;
   letter-spacing: 0.12em;
   line-height: 1.75;
   margin-bottom: -22px;
   z-index: 2;
}
.block_traditional {
    background: -o-linear-gradient(130deg,  rgba(230,200,80,0.8) 0%,rgba(229,199,80,0.8) 1%,rgba(169,137,75,0.96) 80%,rgba(169,137,75,1) 100%);
    background: linear-gradient(130deg,  rgba(230,200,80,0.8) 0%,rgba(229,199,80,0.8) 1%,rgba(169,137,75,0.96) 80%,rgba(169,137,75,1) 100%);
    padding: 120px 0 255px;
    overflow: hidden;
}
.block_traditional .traditional_info {
    display: flex;
    align-items: center;
}
.block_traditional .traditional_info .detail {
    width: 49%;
    z-index: 1;
}
.block_traditional .traditional_info .box {
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
    padding: 33px 25px 33px 50px;
    border-left: 20px solid #b89e77;
    margin-right: -8%;
    z-index: 1;
    position: relative;
    width: 41.8vw;
}
.block_traditional .traditional_info .img {
    flex: 1;
}
.block_traditional .traditional_info .img .pos_rel {
    margin-right: calc(-1* (100vw - 1200px)/2 + 16px);
    width: calc(100% + (100vw - 1200px)/2 + 16px);
}
.block_traditional .traditional_info .ttl {
    font-size: 1.8rem;
    letter-spacing: 0.2em;
    line-height: 1.7;
    color: #a9894b;
}
.block_traditional .traditional_info .name {
    font-size: 3.6rem;
    letter-spacing: 0.12em;
    line-height: 1.75;
    color: #000000;
    margin-bottom: 10px;
}
.block_traditional .traditional_info .txt {
    font-size: 1.6rem;
    letter-spacing: 0.16em;
    line-height: 2.375;
    color: #231815;
}
.block_souto {
    margin: -275px 0 0 -35px;
    
}
.block_souto .souto_info {
    display: flex;
    position: relative;
    z-index: 2;
}
.block_souto .souto_info .detail {
    flex: 1;
    padding: 75px 0 0 6%
}
.block_souto .souto_info .img {
    width: 52%;
}
.block_souto .souto_info .img .souto_pic {
    max-width: 430px;
    margin: auto;
}
.block_souto .souto_info .ttl {
    font-size: 2rem;
    letter-spacing: 0.1em;
    line-height: 2;
    color: #f0e14b;
}
.block_souto .souto_info .txt {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    line-height: 2.2;
    color: #fff;
}
.block_charm {
    margin-right: 85px;
}
.block_charm .charm_list {
    display: flex;
}
.block_charm .charm_item01 {
    width: 53.5%;
    padding-top: 8%;
}
.block_charm .charm_item02 {
    flex: 1;
    padding-left: 65px;
    margin-top: -7%;
}
.block_culture {
    margin: 115px 0 0;
    overflow: hidden;
}
.block_culture .culture_list {
    margin: -12px;
}
.block_culture .culture_list .item {
    padding: 12px;
    outline: none;
}
.block_culture .culture_list .item01 { 
    padding-top: 0.69%;
}
.block_culture .culture_list .item02 { 
    padding-top: 2.4%;
}  
.block_culture .culture_list .item03 { 
    padding-top: 0.14%;
}
.block_culture .culture_list .item04 { 
    padding-top: 0.52%;
}
.block_culture .culture_list .item06 { 
    padding-top: 1.93%;
}
.block_culture .culture_list .item07 { 
    padding-top: 2.34%;
}
.block_culture .photo_cap {
    font-size: 1.4rem;
    letter-spacing: 0.08em;
    margin-top: 30px;
}
@media screen and (max-width: 1400px) {
    .block_traditional .traditional_info .box {
        width: 58vw;
    }
}
@media screen and (max-width: 1200px) {
    .block_traditional .traditional_info .img .pos_rel {
        margin-right: -15px;
        width: calc(100% + 15px);
    }
    .block_traditional .traditional_info .box {
        width: 56vw;
    }
    .block_charm {
        margin-right: 15px;
    }
    .block_charm .charm_item02 {
        padding-left: 40px;
    }
}
@media screen and (max-width: 1024px) {
    .sec_culture .culture_tag {
        font-size: 4rem;
        margin-bottom: -15px;
    }
    .block_traditional .traditional_info .box {
        padding: 20px 15px 20px 15px;
        border-left: 10px solid #b89e77;
    }
    .block_traditional .traditional_info .ttl {
        font-size: 1.6rem;
        letter-spacing: 0.1em;
    }
    .block_traditional .traditional_info .name {
        font-size: 2.4rem;
        margin-bottom: 5px;
    }
    .block_traditional .traditional_info .txt {
        font-size: 1.4rem;
        line-height: 1.8;
    }
    .block_souto .souto_info .ttl {
        font-size: 1.8rem;
    }
    .block_culture {
        margin: 90px 0 0;
    }
    .block_culture .photo_cap {
        margin-top: 40px;
    }
}
@media screen and (max-width: 991px) {
    .block_traditional {
        padding: 80px 0 320px;
    }
    .block_souto {
        margin: -300px 0 0 -35px;
    }
    .block_traditional .traditional_info .txt {
        font-size: 1.2rem;
        letter-spacing: 0.1em;
    }
    
}
@media screen and (max-width: 767px) {
    .sec_culture {
        margin: 0 0 40px;
    }
    .sec_culture .first_txt {
        font-size: 1.6rem;
        line-height: 2.2;
        letter-spacing: 0.08em;
        padding: 30px 15px;
        text-align: center;
    }
    .block_group {
        background: -o-linear-gradient(to bottom,  rgba(230,200,80,0.8) 0%,rgba(229,199,80,0.8) 1%,rgba(169,137,75,0.96) 80%,rgba(169,137,75,1) 100%);
        background: linear-gradient(to bottom,  rgba(230,200,80,0.8) 0%,rgba(229,199,80,0.8) 1%,rgba(169,137,75,0.96) 80%,rgba(169,137,75,1) 100%);
        padding: 50px 0 50px;
    }
    .block_traditional {
        background: none;
        padding: 0;
    }
    .block_traditional .traditional_info {
        display: block;
    }
    .block_traditional .traditional_info .ttl {
        margin-bottom: 5px;
        text-align: center;
    }
    .block_traditional .traditional_info .name {
        text-align: center;
        margin-bottom: 20px;
    }
    .block_traditional .traditional_info .detail {
        width: 100%;
    }
    .block_traditional .traditional_info .box {
        border-left: none;
        margin-bottom: 30px;
        width: 100%;
    }
    .block_traditional .traditional_info .img .pos_rel {
        margin-left: 0;
        width: 100%;
    }
    .block_souto .souto_info {
        display: block;
    }
    .block_souto .souto_info .img {
        width: 100%;
    }
    .block_souto {
        margin: 40px 0 0;
    }
    .block_souto .souto_info .detail {
        padding: 20px 0 0;
    }
    .block_charm {
        margin-right: 0;
    }
    .block_charm .charm_list {
        display: block;
        margin-top: 20px;
        padding: 0 15px;
    }
    .block_charm .charm_item02,
    .block_charm .charm_item01 {
        margin: 0;
        width: 100%;
        padding: 0;
    }
    .block_charm .charm_item02 {
        margin-top: 20px;
    }
    .block_culture {
        margin: 50px 0 0;
        padding: 0 15px;
    }
    .block_culture .photo_cap {
        font-size: 1rem;
        margin-top: 15px;
    }
    .block_culture .culture_list .item {
        padding-left: 6px;
        padding-right: 6px;
    }
}

/*=======================
    sec_central
 ========================*/
.sec_central {
    padding: 80px 0;
}
.central_ttl {
    border-left: 10px solid #a9894b;
    font-size: 1.6rem;
    line-height: 2;
    padding-left: 30px;
}
.central_ttl > p:first-child {
    font-size: 112.5%;
}
.central_ttl > p > .big {
    font-size: 240%;
    line-height: 1;
}
.central_ttl > p > .small {
    display: inline-block;
    font-size: 140%;
}
.sec_central .imgBg01:after {
    background-color: rgba(230, 210, 100, 0.4);
    content: "";
    height: 100%;
    width: 100%;
    z-index: -1;
    position: absolute;
    left: 50%;
    top: 30px;
}
@media screen and (max-width: 767px) {
    .central_ttl {
        border-left-width: 5px;
        font-size: 1.4rem;
        line-height: 1.5;
        padding-left: 15px;
    }
    .central_ttl > p > .big {
        font-size: 140%;
        line-height: 1.5;
    }
    .central_ttl > p > .small {
        font-size: 100%;
    }
    .sec_central .imgBg01:after {
        display: none;
    }
}

/*=======================
    sec_map
 ========================*/
 .sec_map {
    background-color: #f1ece4;
 }
.sec_map .inner {
    border-left: 5px solid #b89e77;
    padding: 80px;
 }
.map_ttl {
    font-size: 1.6rem;
    line-height: 2;
}
.map_ttl > p:first-child {
    font-size: 112.5%;
}
.map_ttl > p > .big {
    font-size: 240%;
    line-height: 1;
}
.map_ttl > p > .small {
    display: inline-block;
    font-size: 140%;
}
@media screen and (max-width: 991px) {
    .sec_map .inner {
        padding: 40px;
    }
}

@media screen and (max-width: 767px) {
    .sec_map .inner {
        padding: 40px 20px;
    }
    .map_ttl {
        font-size: 1.4rem;
        line-height: 1.5;
        padding-left: 0;
    }
    .map_ttl > p > .big {
        font-size: 140%;
        line-height: 1.5;
    }
    .map_ttl > p > .small {
        font-size: 80%;
    }
}

/*=======================
    sec_tower
 ========================*/
.sec_tower {
    background-color: #fff;
    padding: 80px 0;
}
.tower_ttl01 {
    margin-bottom: 40px;
    text-align: center;
}
.tower_ttl02 {
    font-size: 2.2rem;
    line-height: 2;
    margin-bottom: 80px;
    text-align: center;
}
.tower_data .ttl01 {
    border-left: 5px solid #a9894b;
    font-size: 2.2rem;
    line-height: 1;
    margin-bottom: 20px;
    padding-left: 5px;
}
.tower_data dl {
    border-top: 1px solid #7b746d;
    padding: 30px 0;
}
.tower_data dl:last-child {
    border-bottom: 1px solid #7b746d;
}
.tower_data dl dt {
    border-bottom: 1px solid #ff9b64;
    display: inline-block;
    font-size: 2rem;
    margin-bottom: 8px;
    padding-bottom: 8px;
}
.tower_data dl dt small {
    display: inline-block;
}
.tower_data dl dd {
    line-height: 2.6;
}
.stickyBox {
    position: sticky;
    top: 10%;
}
.note-origin {
    display: flex;
    justify-content: flex-end;
    margin-top: 60px;
}
.note-origin p {
    letter-spacing: 0.08em;
    line-height: 1.6;
}

@media screen and (max-width: 767px) {
    .tower_ttl02 {
        font-size: 1.8rem;
        margin-bottom: 40px;
    }
    .tower_data dl dt {
        font-size: 1.6rem;
    }
    .tower_data dl dd {
        line-height: 1.8;
    }
    .tower_data .ttl01 {
        font-size: 1.8rem;
    }
    .sec_central .mb100 {
        margin-bottom: 50px!important;
    }
    .stickyBox {
        margin-bottom: 40px;
    }
    .note-origin {
        margin-top: 40px;
        justify-content: flex-start;
    }
}

/* anchors_block */
.anchors_block {
    margin: 75px 0 90px;
}
.anchors_block .inner {
    max-width: 1230px;
}
.anchors_block .list_anchor {
    display: flex;
    justify-content: space-between;
}
.anchors_block .list_anchor .item {
    width: calc(100%/3 - 20px);
    background: url(../imgs/icon_anchor.png) no-repeat top center / 100% 100%;
    position: relative;
    height: 90px;
    transition: all .3s;
}

.anchors_block .list_anchor .item:hover,
.anchors_block .list_anchor .item.active {
    background: url(../imgs/icon_anchor_active.png) no-repeat top center / 100% 100%;
}
.anchors_block .list_anchor .item a {
    color: #648c50;
    text-align: center;
    font-weight: 500;
    font-size: 2.2rem;
    letter-spacing: 0.14em;
    line-height: 1.7;
    width: 100%;
    height: 80%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s;
}
.anchors_block .list_anchor .item:hover a,
.anchors_block .list_anchor .item.active a {
    color: #fff;
}
@media screen and (max-width: 1000px) {
    .anchors_block .list_anchor .item {
        height: 60px;
        margin-bottom: 10px;
    }
    .anchors_block .list_anchor .item a {
        font-size: 1.8rem;
    }
}
@media screen and (max-width: 767px) {
    .anchors_block .list_anchor {
        display: block;
    }
    .anchors_block .list_anchor .item {
        width: calc(100%/1);
    }
    .anchors_block .list_anchor .item a {
        font-size: 1.4rem;
        line-height: 1.4;
    }
    .anchors_block {
        margin: 30px 0 60px;
    }
}

/* sec_project */
.sec_project {
    padding: 0 0 20px;
}
.sec_project .inner {
    padding: 50px 80px 80px;
}

.list-project .detail {
    color: #161930;
    text-align: center;
    margin-top: 15px;
}
.list-project .ttl {
    font-size: 1.8rem;
    letter-spacing: 0.12em;
    border-bottom: 1px solid #161930;
    padding-bottom: 5px;
    margin-bottom: 5px;
}
.list-project .txt {
    font-size: 1.6rem;
    letter-spacing: 0.16em;
    line-height: 2;
}
@media screen and (max-width: 1000px) {
    .list-project .ttl {
        font-size: 1.6rem;
    }
    .list-project .txt {
        font-size: 1.4rem;
        letter-spacing: 0.01em;
    }
}
@media screen and (max-width: 991px) {
    .sec_project {
        padding: 0;
    }
    .sec_project .inner {
        padding: 50px 40px 40px;
    }
}

@media screen and (max-width: 767px) {
    .sec_project .inner {
        padding: 50px 20px 40px;
    }
    .sec_project .mb100 {
        margin-bottom: 50px !important;
    }
}

/* sec_chitoseya */
.sec_chitoseya {
    background-color: #f1ece4;
    margin: 0 0 80px;
}
.sec_chitoseya .inner {
    border-left: 5px solid #b89e77;
    padding: 80px;
}
.sec_chitoseya .icon_chitoseya {
    max-width: 287px;
    margin: 30px 0 35px
}
@media screen and (max-width: 991px) {
    .sec_chitoseya {
        margin: 0 0 60px;
    }
    .sec_chitoseya .inner {
        padding: 40px;
    }
    .sec_chitoseya .icon_chitoseya {
        margin: 0 0 20px;
    }
}

@media screen and (max-width: 767px) {
    .sec_chitoseya {
        margin-bottom: 30px;
    }
    .sec_chitoseya .inner {
        padding: 40px 20px;
    }
    .sec_chitoseya .icon_chitoseya {
        max-width: 240px;
    }
}
