/*
Theme Name: Awaji-new
Text Domain: awaji-fragrance 
*/
@charset "UTF-8";

@import url("./css/reset.css");
@import url("./css/b_arrow.css");
@import url("./css/contact.css");
@import url("./css/single.css");
@import url("./css/fatnav.css");
@import url("./css/policy.css");

:root {
    --black: #333333;
    --brown: #c8bdb1;
    --beige: #f2eee8;
    --gray: #f5f5f5;
    --mincho: "游明朝体", YuMincho, "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", serif;
    --cormo: 'Cormorant Infant', serif;
    --gara: 'EB Garamond', serif;
}

@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?mpa8tf');
  src:  url('fonts/icomoon.eot?mpa8tf#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?mpa8tf') format('truetype'),
    url('fonts/icomoon.woff?mpa8tf') format('woff'),
    url('fonts/icomoon.svg?mpa8tf#icomoon') format('svg');
}

html {
    font-size: 62.5%;
}
body {
    position: relative;
    width: 100%;
    color: var(--black);
    font-size: 1.7em;
    font-family: var(--mincho);
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0;
    background-color: #fff;
}
@media only screen and (max-width: 850px) {
    body {
        font-size: 1.6em;
    }
}
@media only screen and (max-width: 650px) {
    body {
        font-size: 1.5em;
    }
}
@media only screen and (max-width: 450px) {
    body {
        font-size: 1.4em;
    }
}
/*//common*/

/*pagetop*/
.pagetop {
    bottom: 60px;
    position: fixed;
    right: 20px;
    z-index: 997 !important;
}
.pagetop > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 55px;
    color: var(--black);
    font-size: 2rem;
    background-color: #fff;
    border: 2px solid var(--black);
    border-radius: 0;
    transition: all .3s ease;
    box-sizing: border-box;
}
.pagetop > a:hover {
    color: #fff;
    background-color: var(--black);
}
/*//pagetop*/


/*header*/
#header {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 15px 45px 15px 20px;
    background-color: #fff;
    z-index: 999;
}
#header .logo {
    width: 302px;
    margin-right: 20px;
}
#header.h_scroll .logo {
    width: 290px;
}
.h_link {
    opacity: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 27px;
    margin-bottom: 20px;
    transition: all .3s ease;
}
.h_fixed .h_link {
    opacity: 0;
    pointer-events: none;
}
.h_scroll .h_link {
    height: 0;
    margin-bottom: 0;
}
.h_sns {
    display: block;
    margin-right: 35px;
    color: #666;
    font-size: 2.4rem;
    line-height: 1;
}
.h_lang {
    display: flex;
    justify-content: center;
    margin-right: 50px;
    border: 1px solid var(--black);
}
.h_lang > * {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 45px;
    padding: 5px;
    font-size: 1.5rem;
    line-height: 1;
}
.h_lang > span {
    color: #fff;
    background-color: var(--black);
}
.h_lang > a {
    background-color: #fff;
}
.h_tac {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1;
}
.h_tac::before {
    content: '\f0e0';
    display: block;
    margin-right: 10px;
    font-size: 2.2rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
}
#gnav ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
#gnav li {
    margin-right: 55px;
}
#gnav li a {
    position: relative;
    display: block;
    padding: 10px;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1;
}
#gnav li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0%;
    height: 1px;
    background-color: var(--black);
    -webkit-transition: .3s;
    transition: .3s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
#gnav li a:hover::after {
    width: calc(100% - 20px);
}
#gnav li.online a::after {
    display: none;
}
.h_scroll #gnav li a {
    font-size: 1.7rem;
}
#gnav li.online {
    margin-right: 0;
}
#gnav li.online a, .fat-nav ul.s_nav li.online a {
    display: block;
    padding: 15px 30px;
    color: #fff;
    background-color: var(--brown);
    border: 2px solid var(--brown);
    border-radius: 50px;
}
#gnav li.online a::before, .fat-nav ul.s_nav li.online a::before {
    content: '\e900';
    margin-right: 10px;
    font-family: 'icomoon' !important;
}
#gnav li.online:hover a, .fat-nav ul.s_nav li.online a:hover {
    opacity: 1;
    color: var(--brown);
    background-color: #fff;
}
.h_scroll #gnav li.online a {
    padding: 10px 30px;
}
.wrapper {
    margin-top: 131px;
}
li.dummy {
    height: 0!important;
    margin: 0!important;
}
div.hamburger__icon, div.hamburger__icon:after, div.hamburger__icon:before {
    height: 1px;
}
.fat-nav .h_sns:last-of-type {
    margin-right: 0;
}
.fat-nav .h_sns {
    font-size: 2.5rem;
}
.fat-nav ul.s_nav li.online a {
    font-size: 1.9rem;
}
.fat-nav ul.s_nav li.online a {
    padding: 10px 30px;
    font-size: 1.9rem;
    letter-spacing: -1px;
}
.fat-nav ul.s_nav {
    padding-top: 20px;
}
@media only screen and (max-width: 1300px) {
    #header {
        padding: 15px 25px 15px 20px;
    }
    #gnav li {
        margin-right: 30px;
    }
    .h_link {
        margin-bottom: 15px;
    }
    .h_lang {
        margin-right: 30px;
    }
    .wrapper {
        margin-top: 125px;
    }
}
@media only screen and (max-width: 1150px) {
    #gnav li {
        margin-right: 15px;
    }
    #gnav li a {
        font-size: 1.7rem;
    }
    #gnav li.online a {
        padding: 10px 25px;
    }
    .h_tac {
        font-size: 1.7rem;
    }
    .h_lang {
        margin-right: 25px;
    }
    .h_sns {
        margin-right: 25px;
        font-size: 2.2rem;
    }
    .h_tac::before {
        margin-right: 7px;
        font-size: 2rem;
    }
    .wrapper {
        margin-top: 114px;
    }
}
@media only screen and (max-width: 1024px) {
    #header .logo {
        width: 270px;
    }
    #header.h_scroll .logo {
        width: 240px;
    }
    #gnav {
        display: none;
    }
    .h_tac {
        display: none;
    }
    #header .h_sns {
        display: none;
    }
    #header .fat-nav .h_sns {
        display: inline-block;
    }
    .h_link {
        margin-bottom: 0;
    }
    .h_scroll .h_link {
        opacity: 1;
        margin-top: 0;
        margin-bottom: 0;
        pointer-events: inherit;
    }
    .h_cont {
        margin-left: auto;
    }
    .wrapper {
        margin-top: 73px;
    }
    #header {
        padding: 20px 20px 20px 15px;
    }
    #header.h_scroll {
        padding: 15px 20px 15px 15px;
    }
}
@media only screen and (max-width:  767px) {
    #header .logo {
        width: 250px;
    }
    #header.h_scroll .logo {
        width: 220px;
    }
    .h_lang > * {
        width: 35px;
    }
    .h_lang {
        margin-right: 20px;
    }
    .wrapper {
        margin-top: 68px;
    }
}
@media only screen and (max-width:   650px) {
    #header .logo {
        width: 220px;
    }
    #header.h_scroll .logo {
        width: 200px;
    }
    #header {
        padding: 15px 15px 15px 12px;
    }
    #header.h_scroll {
        padding: 10px 15px 10px 12px;
    }
    .h_lang {
        margin-right: 18px;
    }
    .h_lang > * {
        font-size: 1.4rem;
    }
    .wrapper {
        margin-top: 60px;
    }
}
@media only screen and (max-width: 450px) {
    #header .logo {
        width: 200px;
    }
    #header.h_scroll .logo {
        width: 190px;
    }
    .wrapper {
        margin-top: 61px;
    }
}
@media only screen and (max-width: 410px) {
    #header .logo {
        width: 190px;
    }
    #header.h_scroll .logo {
        width: 170px;
    }
}
@media only screen and (max-width: 360px) {
    .h_lang {
        margin-right: 10px;
    }
    .h_lang > * {
        font-size: 1.2rem;
        width: 25px;
        padding: 5px;
    }
    a.hamburger {
        width: 30px;
        height: 20px;
    }
    div.hamburger__icon {
        margin-top: 10px;
        margin-bottom: 10px;
    }
    div.hamburger__icon:before {
        top: -10px;
    }
    div.hamburger__icon:after {
        top: 10px;
    }
    .hamburger.active div.hamburger__icon:before {
        background-color: var(--black);
        -moz-transform: translateY(10px)rotate(45deg);
        -ms-transform: translateY(10px)rotate(45deg);
        -webkit-transform: translateY(10px)rotate(45deg);
        transform: translateY(10px)rotate(45deg);
    }
    .hamburger.active div.hamburger__icon:after {
        background-color: var(--black);
        -moz-transform: translateY(-10px)rotate(-45deg);
        -ms-transform: translateY(-10px)rotate(-45deg);
        -webkit-transform: translateY(-10px)rotate(-45deg);
        transform: translateY(-10px)rotate(-45deg);
    }
    #header .logo {
        width: 180px;
        margin-right: 15px;
    }
    #header {
        padding: 15px 10px 15px 7px;
    }
    #header.h_scroll {
        padding: 10px 10px 10px 7px;
    }
    #header.h_scroll .logo {
        width: 165px;
    }
    .wrapper {
        margin-top: 59px;
    }
}


/*footer*/
#footer {
    width: 100%;
    padding: 65px 0 40px;
    background-color: #f0ece6;
}
.flogo {
    width: 293px;
    margin: 0 auto 55px;
}
#fnav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1245px;
    width: 92%;
    margin: 0 auto 35px;
}
#fnav a {
    display: block;
    padding: 10px;
    font-size: 1.8rem;
    line-height: 1;
}
.f_online {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 415px;
    width: 100%;
    padding: 25px;
    margin: 0 auto 45px;
    color: var(--brown);
    font-size: 1.9rem;
    line-height: 1;
    background-color: #fff;
    border: 1px solid var(--brown);
    border-radius: 70px;
    transition: all .3s ease;
}
.f_online::before {
    content: '\e900';
    margin-right: 10px;
    font-family: 'icomoon' !important;
}
.f_online:hover {
    color: #fff;
    background-color: var(--brown);
}
.f_sns {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 55px;
}
.f_sns .h_sns {
    margin: 0 13px;
}
.f_address {
    width: 92%;
    margin: 0 auto 60px;
    text-align: center;
}
.f_senko {
    width: 100%;
    margin-bottom: 20px;
    font-size: 1.8rem;
}
.f_link {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 1555px;
    width: 92%;
    padding: 55px 0 65px;
    margin: auto;
    border-top: 1px dotted #c9c6c1;
}
.f_link a {
    display: block;
    margin: 0 35px;
}
_:lang(x)::-internal-media-controls-overlay-cast-button, .f_link a img {
    image-rendering: -webkit-optimize-contrast;
} 
.copyright {
    display: block;
    font-size: 1.4rem;
    font-family: var(--gara);
    line-height: 1;
    text-align: center;
}
.f_link .encens {
    width: 83px;
}
.f_link .kohshi {
    width: 48px;
}
.f_link .parchez {
    width: 98px;
}
.f_link .baikundo {
    width: 172px;
}
.f_link .kunjudo {
    width: 156px;
}
@media only screen and (max-width: 1024px) {
    #fnav, .f_online {
        display: none;
    }
    #footer {
        padding: 55px 0 30px;
    }
}
@media only screen and (max-width: 767px) {
    #footer {
        padding: 45px 0 25px;
    }
    .flogo {
        width: 265px;
        margin: 0 auto 35px;
    }
    .f_sns {
        margin-bottom: 35px;
    }
    .f_address {
        margin: 0  auto 30px;
    }
    .f_link {
        padding: 35px 0 50px;
    }
    .f_link a {
        margin: 0 25px;
    }
}
@media only screen and (max-width: 650px) {
    .f_link a {
        margin: 0 20px;
    }
    .f_link .encens {
        width: 60px;
    }
    .f_link .kohshi {
        width: 37px;
    }
    .f_link .parchez {
        width: 80px;
    }
}
@media only screen and (max-width: 450px) {
    #footer {
        padding: 40px 0 20px;
    }
    .flogo {
        width: 220px;
        margin: 0 auto 30px;
    }
    .f_senko {
        font-size: 1.6rem;
    }
    .f_address {
        margin: 0  auto 25px;
    }
    .f_link {
        padding: 30px 0 45px;
    }
    .copyright {
        font-size: 1.2rem;
    }
}



/*top*/
#top_slide_sec {
    position: relative;
    width: 100%;
}
#top_slide_sec .slide, .swiper-container.top_slide {
    width: 100%;
}
#top_slide_sec .slide {
    position: relative;
    z-index: 0;
}
.top_slide .swiper-slide {
    width: 100%;
    height: calc(100vh - 131px);
}
.top_slide .swiper-slide .img {
    width: 100%;
    height: 100%;
    background: center center/cover no-repeat;
}
#top_slide_sec .head2 {
    position: absolute;
    text-align: center;
    top: calc(50% - 30px);
    width: 100%;
    left: 0;
    color: #fff;
    font-size: 4.1rem;
    line-height: 1;
    transform: translate(0, -50%);
    z-index: 1;
    padding-left: 0.5em;
    padding-right: 0.5em;
    box-sizing: border-box;
}
.top_scroll {
    opacity: 1;
    position: absolute;
    bottom: 40px;
    left: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.6rem;
    font-family: var(--gara);
    writing-mode: tb-rl;
    transform: translateX(-50%);
    transition: all .3s ease;
    z-index: 1;
}
.top_scroll:hover {
    opacity: .6;
}
.top_scroll span {
    display: block;
    width: 1px;
    height: 71px;
    margin-right: 6px;
    overflow: hidden;
}
@-webkit-keyframes line-animation {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
  }
  40% {
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
  }
  60% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
  }
}
@keyframes scale-down-bottom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
  }
  40% {
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
  }
  60% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
  }
}
.top_scroll span::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    -webkit-animation: line-animation 4s infinite both;
    animation: line-animation 4s infinite both;
}
#top_sec {
    position: relative;
    width: 100%;
    padding: 110px 0 280px;
    overflow: hidden;
}
#top_sec .head2 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    min-height: 85px;
    padding: 0 20px;
    margin-bottom: 45px;
    font-size: 4rem;
    line-height: 1.3;
    background: url("./img/figure_line_beige1.svg") left -110px center/530px auto no-repeat, url("./img/figure_line_beige2.svg") right -110px center/546px auto no-repeat;
}
#top_sec .txt {
    max-width: 950px;
    width: 100%;
    margin: 0 auto 60px;
    line-height: 2;
    text-align: center;
}
#top_sec img {
    position: absolute;
    bottom: 0;
    right: 5px;
    display: block;
    max-width: 660px;
    width: 38%;
}
#top_about {
    width: 100%;
    margin-top: -90px;
}
.top_about_b {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    max-width: 1570px;
    width: 94%;
    margin-bottom: 60px;
}
.top_about_b:nth-of-type(even) {
    flex-direction: row-reverse;
    margin-left: auto;
}
.top_about_b img {
    align-self: flex-start;
    display: block;
    width: 60%;
}
.top_about_b .cont {
    position: relative;
    width: 44%;
    padding: 65px 80px;
    /*margin-top: 110px;*/
    margin-left: -4%;
    background-color: #fff;
}
.top_about_b:nth-of-type(even) .cont {
    margin-left: 0;
    margin-right: -4%;
}
.top_about_b .cont::before {
    content: '\e901';
    position: absolute;
    top: 25px;
    left: 30px;
    font-size: 4.5rem;
    font-family: 'icomoon' !important;
    line-height: 1;
}
.top_about_b:nth-of-type(odd) .cont::before {
    color: #e3cdd6;
}
.top_about_b:nth-of-type(even) .cont::before {
    color: #d5d1eb;
}
.top_about_b:nth-of-type(3n) .cont::before {
    color: #bdc0ab;
}
.top_about_b .head2 {
    /*margin-bottom: 30px;*/
    font-size: 3.2rem;
    line-height: 1.3;
}
.top_about_b .txt {
    width: 100%;
    line-height: 2;
}
#top_activity {
    position: relative;
    width: 100%;
    margin-top: 150px;
    padding: 35px 0 115px;
    margin-bottom: 85px;
    background-color: var(--gray);
}
#top_activity::before {
    content: '';
    position: absolute;
    bottom: 99%;
    left: 0;
    display: block;
    width: 100%;
    height: 68px;
    background: url("./img/figure_wave_gray.png") center bottom/1800px auto no-repeat;
}
.top_act_archive {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-bottom: 80px;
}
.top_act_archive .head2 {
    position: relative;
    width: auto;
    padding: 45px 85px;
    margin: 0 20px 50px;
    font-size: 4rem;
    line-height: 1.35;
}
.top_act_archive .head2::before, .top_act_archive .head2::after {
    content: '';
    position: absolute;
    display: block;
    width: 136px;
    height: 11px;
    background: url("./img/figure_line1.svg") center center/contain no-repeat;
}
.top_act_archive .head2::before {
    top: 0;
    left: 0;
}
.top_act_archive .head2::after {
    bottom: 0;
    right: 0;
    transform: rotate(180deg);
}
.top_act_archive .slide, .swiper-container.top_act_slide {
    width: 100%;
}
.top_act_archive .slide {
    margin-bottom: 65px;
}
.swiper-container.top_act_slide {
    margin-bottom: 40px;
}
.top_act_slide .swiper-slide {
    position: relative;
    width: 385px;
    height: auto;
    padding-top: 30px;
    margin: 0 40px;
}
.top_act_slide .swiper-slide a, .activity_li a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
}
.top_act_slide .swiper-slide .post_num, .activity_li a::before, .act_sch li::before {
    content: "0"counter(cnt)"";
    position: absolute;
    top: 0;
    left: 40px;
    display: block;
    padding-bottom: 5px;
    font-size: 6.2rem;
    font-family: var(--cormo);
    line-height: 1;
    border-bottom: 1px solid var(--black);
    z-index: 1;
}
.top_act_slide .img, .activity_li .img {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 75%;
    overflow: hidden;
}
.top_act_slide .img span, .activity_li .img span {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    background: center center/cover no-repeat;
    transform: translate(-50%, -50%);
    transition: all .3s ease;
}
.top_act_slide a:hover .img span, .activity_li a:hover .img span {
    transform: translate(-50%, -50%) scale(1.05);
}
.top_act_slide .cont, .activity_li .cont {
    opacity: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding: 25px 25px 30px;
    box-sizing: border-box;
    transition: all .3s ease;
}
.top_act_slide a:hover .cont, .activity_li a:hover .cont {
    opacity: .6;
}
.top_act_slide .cont .head3, .activity_li .cont .head3 {
    margin-bottom: 20px;
    font-size: 2rem;
    line-height: 1.4;
    text-decoration: underline;
}
.top_act_slide .cont .txt, .activity_li .cont .txt {
    width: 100%;
    margin-bottom: 25px;
    font-size: 1.6rem;
    line-height: 1.8;
}
.top_act_slide .price, .activity_li .price {
    width: 100%;
    margin-bottom: 30px;
    font-size: 2.2rem;
    line-height: 1;
    text-align: right;
}
.top_act_slide .price span, .activity_li .price span {
    font-size: 1.6rem;
}
.top_act_slide .b_arw, .activity_li .b_arw {
    margin-left: auto;
}
.top_act_slide .b_arw::before, .top_act_slide .b_arw::after, .activity_li .b_arw::before, .activity_li .b_arw::after {
    background-color: var(--black);
}
.top_act_slide .b_arw::before, .activity_li .b_arw::before {
    width: 63px;
}
.swiper-pagination.gray_white_pn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.swiper-pagination.gray_white_pn .swiper-pagination-bullet {
    opacity: 1;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    background-color: #fff;
}
.swiper-pagination.gray_white_pn .swiper-pagination-bullet-active {
    background-color: #dbdbdb;
}
#top_slide_sec .swiper-pagination.white_pn {
    position: absolute;
    bottom: 45px;
    right: 55px;
}
.swiper-pagination.white_pn {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
}
.swiper-pagination.white_pn .swiper-pagination-bullet {
    opacity: .4;
    width: 10px;
    height: 10px;
    margin: 0 6px;
    background-color: #fff;
}
.swiper-pagination.white_pn .swiper-pagination-bullet-active {
    opacity: 1;
}
.top_act_online {
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    max-width: 1335px;
    width: 92%;
    margin: auto;
}
.top_act_online .img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 34%;
}
.top_act_online .cont {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding: 45px 55px 25px 0;
}
.top_act_online .cont .head2 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 15px 35px 20px 0;
    margin-bottom: 30px;
    color: var(--brown);
    font-size: 3.4rem;
    border-right: 1px solid var(--brown);
    border-bottom: 1px solid var(--brown);
}
.top_act_online .cont .head2::before {
    content: '';
    display: block;
    width: 83px;
    height: 1px;
    margin-right: 15px;
    background-color: var(--brown);
}
.top_act_online .cont .txt {
    margin-bottom: 45px;
    margin-left: 100px;
    font-size: 1.6rem;
}
.top_act_online .cont .head3 {
    margin-bottom: 10px;
    font-size: 2.1rem;
    line-height: 1.4;
}
.top_act_online .btn_wrap {
    justify-content: flex-end;
}
.top_act_online .btn_wrap.sp {
    display: none;
}
.top_act_online .btn_wrap a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.top_act_online .btn_wrap .b_arw::before, .top_act_online .btn_wrap .b_arw::after {
    background-color: var(--black);
}
.top_act_online .wrap {
    width: 69%;
    margin-top: 40px;
    background-color: #fff;
}
#top_insta {
    max-width: 1080px;
    width: 92%;
    margin: 0 auto 100px;
}
#top_insta .head2 {
    margin-bottom: 40px;
    color: #a6a6a6;
    font-size: 3.5rem;
    font-family: var(--gara);
    line-height: 1;
    text-align: center;
}
#top_insta .head2::before {
    content: '\f16d';
    display: block;
    margin: 0 auto 20px;
    font-family: "Font Awesome 5 Brands";
    font-weight: 400;
}
div#sb_instagram, #sb_instagram.sbi_fixed_height {
    height: auto!important;
    overflow: inherit;
    overflow-y: inherit;
}
.swiper-container.top_act_slide .swiper-nav-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 1450px;
    width: 94%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
.act_top .head2 .reserve, .activity_li .cont .reserve, .top_act_slide .cont .reserve {
    display: block;
    color: #a69d93;
    font-size: 2.3rem;
    background-color: #fff;
    border: 1px solid #a69d93;
}
.activity_li .cont .reserve, .top_act_slide .cont .reserve {
    padding: 5px 15px;
    margin-bottom: 10px;
    font-size: 1.6rem;
    line-height: 1;
}
@media only screen and (max-width: 1500px) {
    .top_about_b .cont {
        padding: 65px 55px; 
    }
    .top_about_b .head2 {
        font-size: 3rem;
    }
    .top_about_b .cont::before {
        top: 20px;
        left: 25px;
    }
}
@media only screen and (max-width: 1300px) {
    #top_sec {
        padding-bottom: 350px;
    }
    #top_sec img {
        bottom: 0;
        width: 49%;
    }
}
@media only screen and (max-width: 1150px) {
    #top_sec img {
        bottom: 30px;
    }
    .top_about_b {
        width: 100%;
    }
    .top_about_b .cont::before {
        top: 17px;
        left: 20px;
        font-size: 3.6rem;
    }
    .top_about_b .cont {
        padding: 55px 40px;
    }
    .top_about_b .head2 {
        font-size: 2.7rem;
    }
    #top_about {
        margin-top: -50px;
    }
}
@media only screen and (max-width: 1024px) {
    .top_slide .swiper-slide {
        height: 500px;
    }
    .top_scroll {
        bottom: 15px;
        font-size: 1.5rem;
    }
    .top_scroll span {
        height: 60px;
        margin-right: 3px;
    }
    #top_slide_sec .swiper-pagination.white_pn {
        bottom: 15px;
        right: 35px;
    }
    #top_slide_sec .head2 {
        top: calc(50% - 15px);
        font-size: 3.5rem;
    }
    #top_sec .head2 {
        margin-bottom: 20px;
        font-size: 3.2rem;
    }
    #top_sec .txt {
        margin-bottom: 0;
    }
    #top_sec img {
        position: relative;
        bottom: 0;
        right: 0;
        max-width: 600px;
        width:  90%;
        margin: 10px auto 40px;
    }
    #top_sec {
        padding-top: 70px;
        padding-bottom: 80px;
    }
    #top_about {
        margin-top: 0;
    }
    .top_about_b .cont {
        width: 46%;
        padding: 40px 20px 40px 30px;
        margin-left: -6%;
    }
    .top_about_b:nth-of-type(even) .cont {
        margin-right: -6%;
    }
    .top_about_b .head2 {
        font-size: 2.3rem;
    }
    .top_about_b .cont::before {
        top: 15px;
        left: 15px;
        font-size: 3rem;
    }
    .top_act_archive .head2 {
        padding: 35px 50px;
        margin-bottom: 30px;
        font-size: 3rem;
    }
    .top_act_slide .swiper-slide {
        margin: 0 20px;
    }
    #top_activity {
        padding-bottom: 100px;
        margin-top: 130px;
        margin-bottom: 60px;
    }
    .swiper-container.top_act_slide .swiper-nav-wrap {
        max-width: 475px;
    }
    .top_act_online .cont .head2 {
        margin-right: 20px;
        margin-bottom: 20px;
        font-size: 2.9rem;
    }
    .top_act_online .img {
        width: 40%;
    }
    .top_act_online .cont .head3 {
        font-size: 2rem;
    }
    .top_act_online .cont .txt {
        margin-bottom: 25px;
    }
    .top_act_archive {
        margin-bottom: 70px;
    }
    #top_insta .head2 {
        margin-bottom: 30px;
        font-size: 3rem;
    }
    #top_insta .head2::before {
        margin: 0 auto 10px;
    }
    #fnav {
        display: none;
    }
}
@media only screen and (max-width:  850px) {
    #top_sec {
        padding-bottom: 70px;
    }
    #top_sec .head2 {
        min-height: 65px;
        margin-bottom: 10px;
        font-size: 3rem;
        background: url("./img/figure_line_beige1.svg") left -110px center/400px auto no-repeat, url("./img/figure_line_beige2.svg") right -110px center/416px auto no-repeat;
    }
    #top_sec img {
        max-width: 550px;
    }
    .top_about_b, .top_about_b:nth-of-type(even) {
        flex-direction: column-reverse;
        max-width: 650px;
        width: 92%;
        margin: 0 auto 20px;
    }
    .top_about_b .cont, .top_about_b:nth-of-type(even) .cont {
        width: 100%;
        padding-top: 35px;
        padding-bottom: 25px;
        margin: 0;
    }
    .top_about_b img {
        width: 100%;
    }
    .top_about_b .head2 {
        font-size: 2.1rem;
        text-align: center;
    }
    .top_about_b .cont::before {
        font-size: 3.5rem;
    }
    #top_about .btn_wrap {
        margin-top: 35px;
    }
    .top_act_archive .head2 {
        padding: 30px 45px;
        margin-bottom: 20px;
        font-size: 2.6rem;
    }
    .top_act_archive .slide {
        margin-bottom: 50px;
    }
    .swiper-container.top_act_slide {
        margin-bottom: 25px;
    }
    #top_activity {
        margin-top: 110px;
    }
    .top_act_online .cont .head2 {
        margin-left: 45px;
        padding: 10px 25px 15px 0;
        font-size: 2.3rem;
    }
    .top_act_online .cont {
        padding: 25px 30px 25px 0;
    }
    .top_act_online .cont .head2::before {
        width: 35px;
    }
    .top_act_online .cont .txt {
        margin-left: 85px;
    }
    .top_act_online .cont .head3 {
        font-size: 1.8rem;
    }
    #top_insta .head2 {
        font-size: 2.7rem;
    }
}
@media only screen and (max-width: 767px) {
    .top_slide .swiper-slide {
        height: 400px;
    }
    #top_slide_sec .head2 {
        font-size: 3.1rem;
    }
    .top_scroll {
        font-size: 1.4rem;
    }
    #top_sec .head2 {
        min-height: 55px;
        font-size: 2.7rem;
        background: url("./img/figure_line_beige1.svg") left -110px center/330px auto no-repeat, url("./img/figure_line_beige2.svg") right -110px center/346px auto no-repeat;
    }
    #top_sec img {
        max-width: 500px;
        margin-bottom: 30px;
    }
    .top_about_b .head2 {
        font-size: 2.1rem;
    }
    .top_act_slide .swiper-slide {
        width: 300px;
        padding-top: 25px;
    }
    .top_act_slide .cont {
        padding: 15px 20px 25px;
    }
    .top_act_slide .swiper-slide a .post_num {
        left: 20px;
        padding-bottom: 3px;
        font-size: 5rem;
    }
    .top_act_slide .cont .reserve {
        padding: 5px 10px;
        font-size: 1.4rem;
    }
    .top_act_slide .cont .head3 {
        margin-bottom: 10px;
        font-size: 1.7rem;
    }
    .top_act_slide .cont .txt {
        margin-bottom: 20px;
        font-size: 1.4rem;
        line-height: 1.6;
    }
    .top_act_slide .price {
        margin-bottom: 25px;
        font-size: 2rem;
    }
    .top_act_slide .price span {
        font-size: 1.5rem;
    }
    .swiper-container.top_act_slide .swiper-nav-wrap {
        max-width: 390px;
    }
    .top_act_archive .head2 {
        padding: 20px 30px;
        margin-bottom: 15px;
        font-size: 2.4rem;
    }
    .swiper-container.top_act_slide {
        margin-bottom: 20px;
    }
    .top_act_archive .slide {
        margin-bottom: 35px;
    }
    #top_activity {
        padding-bottom: 70px;
        margin-top: 75px;
    }
    .top_act_archive .head2::before, .top_act_archive .head2::after {
        width: 75px;
        height: 9px;
    }
    .top_act_online .img {
        position: relative;
        width: 100%;
    }
    .top_act_online .wrap {
        display: flex;
        flex-direction: column-reverse;
        width: 100%;
        padding: 20px 30px;
        margin-top: 0;
    }
    .top_act_online .cont {
        padding: 0;
        margin-bottom: 20px;
    }
    .top_act_online .cont .head2 {
        flex-direction: column-reverse;
        padding: 0;
        margin: 0 auto 15px;
        font-size: 2rem;
        border: none;
    }
    .top_act_online .cont .head2::before {
        width: 65px;
        margin: 10px auto 0;
    }
    .top_act_online .cont .txt {
        margin-left: 0;
        margin-bottom: 0;
    }
    .top_act_online .cont .head3 {
        margin-bottom: 5px;
        font-size: 1.7rem;
    }
    .top_act_online .btn_wrap.sp {
        display: flex;
        margin-top: 20px;
    }
    .top_act_online .btn_wrap.pc {
        display: none;
    }
    .top_act_online {
        max-width: 480px;
    }
    .top_act_archive {
        margin-bottom: 60px;
    }
    #top_insta .head2 {
        margin-bottom: 15px;
        font-size: 2.5rem;
    }
    #top_insta .head2::before {
        margin: 0 auto 5px;
    }
    #top_insta {
        width: 96%;
    }
}
@media only screen and (max-width: 650px) {
    .top_scroll {
        display: none;
    }
    #top_slide_sec .swiper-pagination.white_pn {
        justify-content: center;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }
    .top_slide .swiper-slide {
        height: 350px;
    }
    #top_slide_sec .head2 {
        top: 50%;
        width: 100%;
        font-size: 2.7rem;
        text-align: center;
    }
    #top_sec .head2 {
        min-height: 65px;
        margin-bottom: 0;
        font-size: 2.3rem;
        background: url("./img/figure_line_beige1.svg") left -200px top/330px auto no-repeat, url("./img/figure_line_beige2.svg") right -200px bottom/346px auto no-repeat;
    }
    #top_sec {
        padding-top: 40px;
        padding-bottom: 45px;
    }
    .top_about_b .head2 {
        font-size: 1.9rem;
    }
    .top_about_b .cont, .top_about_b:nth-of-type(even) .cont {
        padding-top: 25px;
        padding-bottom: 15px;
    }
    .top_about_b .cont::before {
        top: 10px;
        left: 10px;
        font-size: 3.2rem;
    }
    .top_act_archive .head2 {
        margin-bottom: 5px;
        font-size: 2.1rem;
    }
    .top_act_slide .cont .txt {
        margin-bottom: 10px;
    }
    #top_activity {
        margin-top: 65px;
    }
    .top_act_online .cont .txt {
        font-size: 1.4rem;
    }
}
@media only screen and (max-width: 450px) {
    #top_sec .head2 {
        font-size: 2.1rem;
    }
    [lang="en-US"] #top_slide_sec .head2 {
        font-size: 1.9rem;
    }
    #top_sec img {
        margin-bottom: 20px;
    }
    #top_sec {
        padding-top: 30px;
        padding-bottom: 35px;
    }
    .top_about_b .cont::before {
        left: 5px;
        font-size: 2.7rem;
    }
    .top_about_b .head2 {
        font-size: 1.8rem;
    }
    .top_about_b .cont, .top_about_b:nth-of-type(even) .cont {
        padding: 25px 10px 15px 20px;
    }
    .top_about_b, .top_about_b:nth-of-type(even) {
        margin-bottom: 15px;
    }
    #top_about .btn_wrap {
        margin-top: 30px;
    }
    .top_act_archive .head2 {
        font-size: 1.9rem;
    }
    .top_act_slide .swiper-slide {
        width: 250px;
        margin: 0 10px;
    }
    .top_act_slide .swiper-slide a .post_num {
        font-size: 4.3rem;
    }
    .top_act_slide .cont {
        padding: 15px 15px 20px;
    }
    .top_act_slide .cont .head3 {
        font-size: 1.6rem;
    }
    .top_act_slide .cont .txt {
        font-size: 1.25rem;
    }
    .top_act_slide .price span {
        font-size: 1.4rem;
    }
    #top_activity {
        padding-bottom: 50px;
        margin-top: 50px;
        margin-bottom: 40px;
    }
    .swiper-container.top_act_slide .swiper-nav-wrap {
        width: 100%;
    }
    .top_act_online .wrap {
        padding: 15px 20px;
    }
    .top_act_online .cont .head2 {
        font-size: 1.9rem;
    }
    .top_act_archive {
        margin-bottom: 50px;
    }
    .top_act_online .cont .head2::before {
        margin: 5px auto 0;
    }
    .top_act_online .cont .head3 {
        font-size: 1.6rem;
    }
    .top_act_online .cont {
        margin-bottom: 15px;
    }
    .top_act_online .btn_wrap.sp {
        margin-top: 15px;
    }
    #top_insta .head2 {
        margin-bottom: 10px;
        font-size: 2.3rem;
    }
    #top_insta {
        margin-bottom: 60px;
    }
}


/*second-head*/
.second_head {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 600px;
    margin-bottom: 35px;
    color: #fff;
    position: relative;
    background: center center/cover no-repeat;
}
.second_head::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .3);
    z-index: 1;
}
.second_head .head {
    position: relative;
    width: auto;
    min-width: 470px;
    padding: 45px 85px;
    font-size: 5.1rem;
    line-height: 1.2;
    text-align: center;
    z-index: 2;
}
.second_head .head::before, .second_head .head::after {
    content: '';
    position: absolute;
    display: block;
    width: 136px;
    height: 11px;
    background: url("./img/figure_line2.svg") center center/contain no-repeat;
}
.second_head .head::before {
    top: 0;
    left: 0;
}
.second_head .head::after {
    bottom: 0;
    right: 0;
    transform: rotate(180deg);
}
.archive .second_head {
    height: 235px;
    margin-bottom: 0;
    color: var(--black);
    background-image: none;
    background-color: #fff;
}
.archive .second_head::before {
    display: none;
}
.archive .second_head .head::before, .archive .second_head .head::after {
    background: url("./img/figure_line1.svg") center center/contain no-repeat;
}
.breadcrumbs_wrap {
    width: 92%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 35px;
}
.breadcrumbs_wrap a, .breadcrumbs_wrap span {
    font-size: 1.6rem;
}
.breadcrumbs_wrap a {
    opacity: 1;
    transition: all .3s ease;
}
.breadcrumbs_wrap a:hover {
    opacity: .6;
}
@media only screen and (max-width: 1300px) {
    .second_head {
        height: 480px;
        margin-bottom: 20px;
    }
    .second_head .head {
        padding: 35px 55px;
        font-size: 4.5rem;
    }
}
@media only screen and (max-width: 1024px) {
    .second_head {
        height: 400px;
    }
    .second_head .head {
        min-width: 380px;
        padding: 35px 55px;
        font-size: 3.8rem;
    }
    .breadcrumbs_wrap a, .breadcrumbs_wrap span {
        font-size: 1.5rem;
    }
    .archive .second_head {
        height: 200px;
    }
}
@media only screen and (max-width: 850px) {
    .second_head {
        height: 300px;
        margin-bottom: 10px;
    }
    .second_head .head {
        min-width: 320px;
        padding: 30px 55px;
        font-size: 3.2rem;
    }
    .archive .second_head {
        height: 180px;
    }
}
@media only screen and (max-width: 767px) {
    .second_head {
        height: 240px;
    }
    .second_head .head {
        min-width: 280px;
        padding: 25px 30px;
        font-size: 3rem;
    }
    .second_head .head::before, .second_head .head::after {
        width: 90px;
        height: 9px;
    }
}
@media only screen and (max-width: 650px) {
    .second_head {
        height: 210px;
    }
    .second_head .head {
        min-width: 200px;
        font-size: 2.4rem;
    }
    .breadcrumbs_wrap a, .breadcrumbs_wrap span {
        font-size: 1.4rem;
    }
    .breadcrumbs_wrap {
        margin-bottom: 25px;
    }
    .archive .second_head {
        height: 125px;
    }
}



/*activity-archive*/
.archive_temp {
    margin-bottom: 130px;
}
.act_tab {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 75px;
}
.act_tab > * {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    padding: 25px;
    font-size: 2.7rem;
    line-height: 1.3;
}
.act_tab > div {
    position: relative;
    color: #fff;
    background-color: var(--brown);
}
.act_tab > div::after {
    content: '';
    position: absolute;
    top: 99%;
    left: 50%;
    display: block;
    width: 0;
    height: 0;
    border-top: 13px solid var(--brown);
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    transform: translateX(-50%);
}
.act_tab > a {
    color: #808080;
    background-color: #f2f2f2;
}
.act_tab .activity::before {
    content: '\e902';
    font-family: 'icomoon' !important;
}
.act_tab .online::before {
    content: '\e903';
    font-family: 'icomoon' !important;
}
.act_tab > *::before {
    display: block;
    margin-right: 10px;
}
.activity_archive_top {
    width: 92%;
    margin: 0 auto 75px;
    font-size: 1.8rem;
    text-align: center;
}
.activity_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1300px;
    width: 92%;
    margin: 0 auto;
    list-style: none;
}
.activity_li li {
    position: relative;
    max-width: 386px;
    width: 32%;
    padding-top: 30px;
    margin-bottom: 100px;
    counter-increment: cnt;
}
.activity_li li a {
    background-color: #faf5ed;
}
div.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0 20px;
    margin: 0;
}
div.wp-pagenavi a, div.wp-pagenavi span {
    opacity: 1;
    margin: 0 10px;
    color: var(--black);
    font-size: 2.3rem;
    font-family: var(--cormo);
    line-height: 1;
    border: none;
    transition: all .3s ease;
}
div.wp-pagenavi a:hover {
    opacity: .6;
}
div.wp-pagenavi span.pages {
    padding: 7px 12px;
    line-height: 1;
    letter-spacing: -2px;
    background-color: #f8f3eb;
    border-radius: 20px;
}
div.wp-pagenavi span.current {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    color: #fff;
    font-weight: 400;
    background-color: #c6bbaf;
    border-radius: 50%;
}
@media only screen and (max-width: 1150px) {
    .act_tab > * {
        padding: 20px;
        font-size: 2.4rem;
    }
}
@media only screen and (max-width: 1024px) {
    .act_tab > * {
        font-size: 2.1rem;
    }
    .act_tab {
        display: flex;
        justify-content: center;
        width: 100%;
        margin-bottom: 60px;
    }
    .activity_archive_top {
        margin-bottom: 40px;
    }
    .activity_li a::before {
        left: 20px;
        font-size: 5.2rem;
    }
    .activity_li .cont {
        padding: 15px 15px 25px;
    }
    .activity_li .cont .head3 {
        margin-bottom: 10px;
        font-size: 1.8rem;
    }
    .activity_li .cont .txt {
        margin-bottom: 15px;
        font-size: 1.5rem;
        line-height: 1.7;
    }
    .activity_li .price {
        margin-bottom: 25px;
        font-size: 1.9rem;
    }
    .activity_li .price span {
        font-size: 1.4rem;
    }
    .activity_li li {
        margin-bottom: 20px;
    }
    .activity_li {
        margin-bottom: 50px;
    }
    .archive_temp {
        margin-bottom: 90px;
    }
    .activity_li .cont .reserve {
        font-size: 1.4rem;
    }
}
@media only screen and (max-width: 850px) {
    .act_tab > * {
        padding: 15px;
        font-size: 1.9rem;
    }
    .activity_li a::before {
        font-size: 4.2rem;
    }
    .activity_li li {
        padding-top: 20px;
    }
    .act_tab {
        margin-bottom: 45px;
    }
    .activity_archive_top {
        margin-bottom: 30px;
        font-size: 1.7rem;
    }
    .activity_li .cont .reserve {
        padding: 5px 10px;
        margin-bottom: 5px;
        font-size: 1.3rem;
    }
    .activity_li .cont .head3 {
        margin-bottom: 10px;
        font-size: 1.6rem;
    }
    .activity_li .cont .txt {
        margin-bottom: 10px;
        font-size: 1.4rem;
        line-height: 1.5;
    }
    .activity_li .price {
        margin-bottom: 20px;
        font-size: 1.7rem;
    }
    .activity_li .price span {
        font-size: 1.2rem;
    }
    .activity_li {
        margin-bottom: 20px;
    }
    .activity_li .cont {
        padding: 15px 10px 25px;
    }
}
@media only screen and (max-width: 767px) {
    .activity_li li {
        width: 48%;
    }
}
@media only screen and (max-width: 650px) {
    .act_tab > div::after {
        top: 95%;
    }
    .act_tab > * {
        font-size: 1.6rem;
    }
    .act_tab > *::before {
        margin-right: 5px;
    }
    .act_tab .online::before {
        font-size: 1.5rem;
    }
    .activity_archive_top {
        margin-bottom: 20px;
        font-size: 1.5rem;
    }
    .activity_li a::before {
        left: 15px;
        font-size: 3.5rem;
    }
    .activity_li .price span {
        display: block;
        margin-top: 7px;
    }
    .activity_li .cont {
        padding: 15px 15px 20px;
    }
    .activity_li li {
        margin-bottom: 10px;
    }
}
@media only screen and (max-width: 450px) {
    .act_tab > * {
        padding: 15px 10px;
        font-size: 1.2rem;
    }
    .act_tab .online::before {
        font-size: 1.1rem;
    }
    .act_tab > div::after {
        top: 90%;
    }
    .act_tab {
        margin-bottom: 30px;
    }
    .activity_li .cont .txt {
        display: none;
    }
    .activity_li .cont {
        padding: 15px 10px 20px;
    }
    .activity_li .cont .head3 {
        font-size: 1.4rem;
    }
    .activity_li .price {
        margin-bottom: 20px;
        font-size: 1.6rem;
    }
    .activity_li .cont .reserve {
        font-size: 1.2rem;
    }
    .activity_li a::before {
        left: 10px;
        font-size: 3rem;
    }
    .activity_li li {
        padding-top: 15px;
    }
    .archive_temp {
        margin-bottom: 50px;
    }
    .activity_archive_top {
        line-height: 1.5;
        text-align: left;
    }
}


/*activity-single*/
.activity_single .second_head .sub {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
    font-size: 2.8rem;
    line-height: 1.3;
    text-align: center;
    z-index: 2;
}
.activity_single .second_head .sub.awaji::before {
    content: '\e902';
    margin-right: 10px;
    font-family: 'icomoon' !important;
}
.activity_single .second_head .sub.online::before {
    content: '\e903';
    margin-right: 10px;
    font-family: 'icomoon' !important;
}
.act_top {
    position: relative;
    max-width: 1620px;
    width: 92%;
    padding: 35px 65px 60px;
    margin: -65px auto 125px;
    background-color: #f8f3eb;
    z-index: 1;
}
.act_top .breadcrumbs_wrap {
    padding: 0;
}
.act_top .cont {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    max-width: 1065px;
    width: 100%;
    margin: auto;
    text-align: center;
}
.act_top .place {
    width: 100%;
    margin-bottom: 15px;
    font-size: 2.6rem;
    line-height: 1.4;
}
.act_top .head2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px;
    font-size: 3.8rem;
    line-height: 1.3;
}
.act_top .head2::after {
    content: '';
    display: block;
    width: 105px;
    height: 1px;
    margin: 30px auto 0;
    background-color: var(--brown);
}
.act_top .head2 .reserve {
    padding: 5px 25px;
    margin-top: 20px;
}
.act_top .txt {
    width: 100%;
    margin-bottom: 55px;
    font-size: 1.7rem;
    line-height: 2;
}
.act_top .price {
    position: relative;
    width: auto;
    padding: 25px;
    border-top: 1px solid var(--black);
    border-bottom: 1px solid var(--black);
}
.act_top .price dt {
    position: absolute;
    top: -15px;
    left: 50%;
    padding: 5px 15px;
    font-size: 1.9rem;
    line-height: 1;
    background-color: #f8f3eb;
    transform: translateX(-50%);
    z-index: 1;
}
.act_top .price dd {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    font-size: 2.8rem;
    line-height: .9;
}
.act_top .price dd span {
    margin-left: 10px;
    font-size: 1.7rem;
    line-height: 1.1;
}
.head2_1 {
    font-size: 3.7rem;
    line-height: 1.2;
    text-align: center;
}
.head2_1::after {
    content: '';
    display: block;
    width: 136px;
    height: 11px;
    margin: 15px auto 0;
    background: url("./img/figure_line1.svg") center center/contain no-repeat;
    transform: scale(1, -1);
}
.act_info {
    max-width: 1295px;
    width: 92%;
    margin: 0 auto 55px;
}
.act_info .head2_1 {
    margin-bottom: 40px;
}
.act_info_wrap dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 15px;
    font-size: 1.7rem;
    line-height: 1.4;
    border-bottom: 1px dotted #cccccc;
}
.act_info_wrap dt {
    flex-shrink: 0;
    width: 380px;
}
.act_info_wrap dd {
    width: 100%;
}
.act_info_wrap dd ul, .act_info_wrap dd ol {
    padding-left: 20px;
}
.act_map {
    max-width: 1300px;
    width: 92%;
    margin: 0 auto 80px;
}
.act_map .head2 {
    margin-bottom: 40px;
    font-size: 3.7rem;
    line-height: 1.2;
    text-align: center;
}
.act_map .head2::before {
    display: block;
    margin: 0 auto 15px;
    color: var(--brown);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.act_map .head2.head2--map::before {
    content: '\f3c5';
}
.act_map .map {
    width: 100%;
    margin-bottom: 55px;
}
.act_map .map iframe {
    width: 100%;
    height: 500px;
}
.act_map .txt {
    margin-bottom: 30px;
    font-size: 1.7rem;
    text-align: center;
}
.activity_single #top_activity {
    margin-bottom: 0;
}
.post_none_txt {
    width: 100%;
    padding: 0 20px;
    font-size: 2rem;
    text-align: center;
}
.cstm_txt {
    width: 100%;
    line-height: 2;
    text-align: center;
}
.act_sec {
    margin-bottom: 90px;
}
.act_sec .head2_1 {
    margin-bottom: 55px;
}
.act_cstm_slide .cstm_txt {
    max-width: 975px;
    width: 92%;
    margin: 0 auto 70px;
}
.swiper-container.cstm_slide {
    width: 100%;
}
.swiper-container.cstm_slide .swiper-slide {
    width: 705px;
    margin: 0 33px;
}
.swiper-container.cstm_slide .img {
    width: 100%;
    height: auto;
    padding-top: 68%;
    background: center center/cover no-repeat;
}
.act_cstm_slide .slide {
    position: relative;
    width: 100%;
    margin-bottom: 45px;
}
.act_cstm_slide .swiper-nav-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 820px;
    width: 95%;
    transform: translate(-50%, -50%);
    z-index: 2;
}
.swiper-pagination.cstm_slide_pn.brown_pn {
    position: relative;
    justify-content: center;
    width: 100%;
}
.cstm_slide_pn.brown_pn .swiper-pagination-bullet {
    margin: 0 5px;
}
.act_movie {
    margin-bottom: 145px;
}
.act_movie .cstm_txt {
    max-width: 975px;
    width: 92%;
    margin: 0 auto 40px;
}
.act_movie .movie_wrap {
    max-width: 890px;
    width: 92%;
    margin: 0 auto 80px;
}
.act_movie .movie_wrap iframe {
    width: 100%;
    height: 500px;
}
.act_sch {
    max-width: 1300px;
    width: 100%;
    padding: 60px 0 95px;
    margin-right: auto;
    margin-left: auto;
    background-color: #f8f3eb;
}
.act_sch .head2::before {
    content: '\e906';
    display: block;
    margin: 0 auto 10px;
    color: var(--brown);
    font-family: 'icomoon' !important;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.act_sch_li {
    max-width: 1125px;
    width: 92%;
    margin: auto;
}
.act_sch li {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 35px 35px 45px 60px;
    background-color: #fff;
    border-radius: 15px;
    counter-increment: cnt;
}
.act_sch li::before {
    top: -30px;
    left: 60px;
}
.act_sch img {
    flex-shrink: 0;
    display: block;
    width: 284px;
}
.act_sch .cont {
    width: 100%;
    padding-right: 25px;
}
.act_sch .cont .head3 {
    margin-top: 25px;
    margin-bottom: 25px;
    font-size: 2.6rem;
    line-height: 1.4;
}
.act_sch .cont .txt {
    width: 100%;
    line-height: 2;
}
.act_sch li + li {
    margin-top: 90px;
}
.act_sch li + li::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: calc(100% + 30px);
    display: block;
    width: 36px;
    height: 36px;
    border-left: 1px solid var(--black);
    border-bottom: 1px solid var(--black);
    transform-origin: center top;
    transform: translateX(-50%) rotate(-45deg);
}
.act_sch .head2 {
    padding: 0 20px;
    margin-bottom: 75px;
    font-size: 3.7rem;
    line-height: 1.2;
    text-align: center;
}
@media only screen and (max-width: 1150px) {
    .act_top {
        padding: 25px 35px 40px;
        margin-bottom: 100px;
    }
    .act_top .place {
        margin-bottom: 10px;
        font-size: 2.4rem;
    }
    .act_top .head2 {
        margin-bottom: 30px;
        font-size: 3.2rem;
    }
    .act_top .head2 .reserve {
        padding: 5px 20px;
        margin-top: 15px;
        font-size: 2.1rem;
    }
    .act_top .head2::after {
        margin-top: 25px;
    }
    .head2_1, .act_map .head2, .act_sch .head2 {
        font-size: 3.2rem;
    }
    .act_map .head2::before {
        margin-bottom: 7px;
    }
    .act_sch .head2 {
        margin-bottom: 55px;
    }
    .act_sch .cont .head3 {
        margin-bottom: 15px;
        font-size: 2.4rem;
    }
}
@media only screen and (max-width: 1024px) {
    .activity_single .second_head .sub {
        margin-top: 20px;
        font-size: 2.4rem;
    }
    .act_top {
        padding: 20px 20px 30px;
    }
    .act_top .breadcrumbs_wrap {
        margin-bottom: 25px;
    }
    .act_top .place {
        margin-bottom: 5px;
        font-size: 2.2rem;
    }
    .act_top .head2 {
        margin-bottom: 25px;
        font-size: 2.7rem;
    }
    .act_top .head2 .reserve {
        margin-top: 10px;
        font-size: 1.9rem;
    }
    .act_top .head2::after {
        margin-top: 20px;
    }
    .act_top .txt {
        margin-bottom: 35px;
        font-size: 1.6rem;
        line-height: 1.7;
    }
    .act_top .price dd {
        font-size: 2.5rem;
    }
    .act_top .price dd span {
        font-size: 1.6rem;
    }
    .act_top {
        margin-bottom: 90px;
    }
    .head2_1, .act_map .head2, .act_sch .head2 {
        font-size: 2.7rem;
    }
    .act_map .head2::before {
        margin-bottom: 5px;
    }
    .act_map .head2 {
        margin-bottom: 20px;
    }
    .act_map .map iframe {
        height: 400px;
    }
    .act_map .map {
        margin-bottom: 30px;
    }
    .activity_single #top_activity {
        padding-bottom: 30px;
    }
    .acr_sec .head2_1 {
        margin-bottom: 35px;
    }
    .act_cstm_slide .cstm_txt {
        margin-bottom: 50px;
    }
    .act_cstm_slide .slide {
        margin-bottom: 30px;
    }
    .act_sec .head2_1 {
        margin-bottom: 40px;
    }
    .act_movie .movie_wrap {
        margin-bottom: 50px;
    }
    .act_movie {
        margin-bottom: 100px;
    }
    .act_sch .head2 {
        margin-bottom: 40px;
    }
    .act_sch {
        padding: 45px 0 70px;
    }
    .act_sch .head2::before {
        margin-bottom: 5px;
    }
    .act_sch li::before {
        top: -25px;
        left: 35px;
        font-size: 5rem;
    }
    .act_sch li {
        padding: 25px 35px 30px;
    }
    .act_sch .cont .head3 {
        font-size: 2.2rem;
    }
    .act_sch .cont .txt {
        font-size: 1.6rem;
        line-height: 1.7;
    }
    .act_sch li + li {
        margin-top: 45px;
    }
    .act_sch li + li::after {
        bottom: calc(100% + 15px);
        width: 25px;
        height: 25px;
    }
}
@media only screen and (max-width: 850px) {
    .activity_single .second_head .sub {
        margin-top: 10px;
        margin-bottom: 25px;
        font-size: 2rem;
    }
    .act_top .breadcrumbs_wrap {
        margin-bottom: 15px;
    }
    .act_top .place {
        font-size: 1.9rem;
    }
    .act_top .head2 {
        margin-bottom: 20px;
        font-size: 2.4rem;
    }
    .act_top .head2 .reserve {
        margin-top: 10px;
        font-size: 1.8rem;
    }
    .act_top .head2::after {
        margin-top: 15px;
    }
    .act_top .txt {
        font-size: 1.5rem;
    }
    .act_top .price dd {
        font-size: 2.3rem;
    }
    .act_top .price dt {
        font-size: 1.8rem;
    }
    .act_top .price dd span {
        font-size: 1.5rem;
    }
    .head2_1, .act_map .head2, .act_sch .head2 {
        font-size: 2.4rem;
    }
    .act_top {
        margin-bottom: 55px;
    }
    .act_info .head2_1 {
        margin-bottom: 20px;
    }
    .act_info_wrap dt {
        width: 270px;
    }
    .act_map .txt {
        margin-bottom: 25px;
        font-size: 1.6rem;
    }
    .act_map .map {
        margin-bottom: 20px;
    }
    .act_info {
        margin-bottom: 45px;
    }
    .act_map .map iframe {
        height: 350px;
    }
    .activity_single #top_activity {
        padding-bottom: 10px;
    }
    .cstm_txt {
        font-size: 1.6rem;
        line-height: 1.7;
    } 
    .act_cstm_slide .cstm_txt {
        margin-bottom: 40px;
    }
    .act_sec .head2_1 {
        margin-bottom: 25px;
    } 
    .swiper-container.cstm_slide .swiper-slide {
        width: 625px;
        margin: 0 25px;
    }
    .act_cstm_slide .swiper-nav-wrap {
        max-width: 725px;
    }
    .act_sec {
        margin-bottom: 60px;
    }
    .act_movie .cstm_txt {
        margin-bottom: 30px;
    }
    .act_movie .movie_wrap {
        margin-bottom: 30px;
    }
    .act_movie .movie_wrap iframe {
        height: 430px;
    }
    .act_movie {
        margin-bottom: 80px;
    }
    .act_sch {
        padding: 35px 0 50px;
    }
    .act_sch .head2 {
        margin-bottom: 25px;
    }
    .act_sch li::before {
        top: -20px;
        left: 25px;
        font-size: 4rem;
    }
    .act_sch li {
        padding: 20px 25px 25px;
    }
    .act_sch .cont {
        padding-right: 20px;
    }
    .act_sch .cont .head3 {
        margin-bottom: 10px;
        font-size: 2rem;
    }
    .act_sch .cont .txt {
        font-size: 1.5rem;
    }
    .act_sch img {
        width: 260px;
    }
}
@media only screen and (max-width: 767px) {
    .activity_single .second_head .sub {
        margin-top: 5px;
        margin-bottom: 35px;
        font-size: 1.9rem;
    }
    .act_top .place {
        font-size: 1.8rem;
    }
    .act_top .head2 {
        font-size: 2.2rem;
    }
    .act_top .head2 .reserve {
        font-size: 1.6rem;
    }
    .act_top .price dd {
        font-size: 2.1rem;
    }
    .act_top .price dd span {
        font-size: 1.3rem;
    }
    .act_top .txt {
        text-align: left;
    }
    .head2_1, .act_map .head2, .act_sch .head2 {
        font-size: 2.2rem;
    }
    .head2_1::after {
        width: 100px;
    }
    .act_info_wrap dl {
        font-size: 1.6rem;
    }
    .act_info .head2_1 {
        margin-bottom: 15px;
    }
    .act_info_wrap dt {
        width: 200px;
    }
    .act_info_wrap dl {
        font-size: 1.5rem;
    }
    .cstm_txt {
        font-size: 1.5rem;
    } 
    .act_sec .head2_1 {
        margin-bottom: 25px;
    }
    .act_cstm_slide .cstm_txt {
        margin-bottom: 30px;
    }
    .swiper-container.cstm_slide .swiper-slide {
        width: 450px;
        margin: 0 15px;
    }
    .act_cstm_slide .swiper-nav-wrap {
        max-width: 525px;
    }
    .act_movie .cstm_txt {
        margin-bottom: 20px;
    }
    .act_movie .movie_wrap {
        margin-bottom: 20px;
    }
    .act_movie .movie_wrap iframe {
        height: 320px;
    }
    .act_movie {
        margin-bottom: 70px;
    }
    .act_sch {
        padding: 30px 0 45px;
    }
    .act_sch li {
        padding: 20px 25px 20px;
    }
    .act_sch .cont .head3 {
        margin-top: 20px;
        margin-bottom: 5px;
        font-size: 1.9rem;
    }
    .act_sch .cont .txt {
        font-size: 1.4rem;
        line-height: 1.6;
    }
    .act_sch .cont {
        padding-right: 15px;
    }
    .act_sch li::before {
        top: -15px;
        left: 25px;
        font-size: 3.5rem;
    }
    .act_sch li + li {
        margin-top: 30px;
    }
    .act_sch li + li::after {
        bottom: calc(100% + 8px);
        width: 20px;
        height: 20px;
    }
}
@media only screen and (max-width: 650px) {
    .activity_single .second_head .sub {
        margin-bottom: 45px;
        font-size: 1.6rem;
    }
    .act_top .place {
        font-size: 1.6rem;
    }
    .act_top .head2 {
        font-size: 2rem;
    }
    .act_top .head2 .reserve {
        padding: 5px 15px;
        font-size: 1.5rem;
    }
    .act_top .price dt {
        font-size: 1.7rem;
    }
    .act_top {
        padding: 15px 15px 25px;
        margin-bottom: 40px;
    }
    .act_top .breadcrumbs_wrap {
        line-height: 1.5;
    }
    .act_top .head2 {
        font-size: 1.9rem;
    }
    .act_top .txt {
        font-size: 1.4rem;
    }
    .act_top .breadcrumbs_wrap a, .act_top .breadcrumbs_wrap span {
        font-size: 1.3rem;
    }
    .act_top .price {
        padding: 20px;
    }
    .act_top .price dd {
        font-size: 2rem;
    }
    .head2_1, .act_map .head2, .act_sch .head2 {
        font-size: 1.9rem;
    }
    .act_info .head2_1 {
        margin-bottom: 0;
    }
    .act_map .txt {
        margin-bottom: 20px;
        font-size: 1.4rem;
    }
    .act_map .map {
        margin-bottom: 10px;
    }
    .act_map .head2 {
        margin-bottom: 10px;
    }
    .act_map .map iframe {
        height: 300px;
    }
    .act_map .btn1 {
        margin-bottom: 15px;
    }
    .cstm_txt {
        font-size: 1.4rem;
        text-align: left;
    }
    .act_sec .head2_1 {
        margin-bottom: 15px;
    }
    .act_cstm_slide .head2_1 {
        width: 92%;
        text-align: left;
        margin: 0 auto 15px;
    }
    .act_cstm_slide .head2_1::after {
        margin-left: 0;
    }
    .act_cstm_slide .cstm_txt {
        margin-bottom: 20px;
    }
    .swiper-container.cstm_slide .swiper-slide {
        width: 350px;
    }
    .act_cstm_slide .swiper-nav-wrap {
        max-width: 425px;
    }
    .act_cstm_slide .slide {
        margin-bottom: 20px;
    }
    .act_sec {
        margin-bottom: 50px;
    }
    .act_movie .cstm_txt {
        margin-bottom: 15px;
    }
    .act_movie .movie_wrap {
        margin-bottom: 15px;
    }
    .act_movie .movie_wrap iframe {
        height: 250px;
    }
    .act_movie {
        margin-bottom: 6
            0px;
    }
    .act_sch {
        padding: 25px 0 40px;
    }
    .act_sch li {
        flex-direction: column;
        justify-content: flex-start;
        padding: 20px 25px 25px;
    }
    .act_sch .cont .head3 {
        margin-top: 17px;
        margin-bottom: 10px;
        font-size: 1.7rem;
    }
    .act_sch .cont .txt {
        margin-bottom: 20px;
        font-size: 1.3rem;
    }
    .act_sch img {
        width: 250px;
    }
    .act_sch li::before {
        font-size: 3.2rem;
    }
}
@media only screen and (max-width: 450px) {
    .act_info_wrap dl {
        flex-direction: column;
        padding: 10px;
    }
    .act_info_wrap dt {
        margin-bottom: 5px;
        font-weight: 600;
    }
    .act_info .head2_1 {
        margin-bottom: 5px;
    }
    .swiper-container.cstm_slide .swiper-slide {
        width: 240px;
        margin: 0 10px;
    }
    .act_cstm_slide .swiper-nav-wrap {
        max-width: 310px;
    }
    .act_sch .cont .txt {
        margin-bottom: 15px;
    }
    .act_sch .cont .head3 {
        margin-bottom: 5px;
    }
}


/*access*/
#access_top {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: -235px 0 50px;
}
#access_top .cont {
    max-width: 550px;
    width: 100%;
    padding: 20px 70px 20px 80px;
    margin-top: 60px;
}
[lang="en-US"] #access_top .cont,
[lang="fr-FR"] #access_top .cont {
    margin-top: 110px;
}
#access_top img {
    flex-shrink: 0;
    position: relative;
    display: block;
    width: 1040px;
    image-rendering: -webkit-optimize-contrast;
}
#access_top .head2 {
    margin-bottom: 40px;
    font-size: 3.3rem;
    line-height: 1.4;
}
#access_top .txt {
    width: 100%;
}
.acs_link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 92%;
    margin: auto;
}
.acs_link a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 132px;
    height: 132px;
    padding: 5px;
    margin: 0 30px;
    font-size: 2rem;
    line-height: 1;
    background-color: #f5f1eb;
    border-radius: 50%;
}
.acs_link a::before {
    display: block;
    margin-bottom: 10px;
    color: #c6bbaf;
    font-size: 2.2rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.acs_link a::after {
    content: '\f078';
    display: block;
    margin-top: 10px;
    color: #c6bbaf;
    font-size: 1.8rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.acs_link a.train::before, #access_train .head2_1::before, #access_train .acs_num .head3::before, #access_train .acs_sp .head3 span::before {
    content: '\f238';
}
.acs_link a.car::before, #access_car .head2_1::before, #access_car .acs_num .head3::before, #access_car .acs_sp .head3 span::before {
    content: '\f1b9';
}
.acs_link a.ferry::before, #access_ferry .head2_1::before, #access_ferry .acs_num .head3::before, #access_ferry .acs_sp .head3 span::before {
    content: '\f21a';
}
.acs_link a.plane::before, #access_plane .head2_1::before, #access_plane .acs_num .head3::before, #access_plane .acs_sp .head3 span::before {
    content: '\f072';
    transform: rotate(-45deg);
}
.acs_sec {
    max-width: 1500px;
    width: 92%;
    padding-top: 100px;
    margin: 0 auto 25px;
}
.acs_sec .head2_1 {
    margin-bottom: 15px;
}
.acs_sec .head2_1::before {
    display: block;
    margin-bottom: 20px;
    color: #c6bbaf;
    font-size: 3.7rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.acs_sec .map_img, .acs_sec .map_img img {
    display: block;
    width: 100%;
}
.acs_num {
    display: flex;
    justify-content: space-between;
    align-content: flex-start;
    width: 100%;
    margin: 95px 0 70px;
}
.acs_num .num_block {
    width: 48%;
}
.acs_num .head3 {
    margin-bottom: 20px;
    font-size: 2.1rem;
    line-height: 1.4;
}
.acs_num .head3::before {
    margin-right: 10px;
    color: #c6bbaf;
    font-size: 2.6rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.acs_num .num_block div {
    width: 100%;
    border-bottom: 1px solid #cccccc;
}
.acs_num .num_block div a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 15px 0 15px 15px;
    line-height: 1.4;
}
.acs_num .num_block div a::after {
    content: '\f054';
    color: #c6bbaf;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.acs_sec .note {
    text-align: center;
}
.acs_gmap {
    width: 100%;
    margin-top: 90px;
}
.acs_gmap iframe {
    width: 100%;
    height: 700px;
    vertical-align: bottom;
}
#access_plane.acs_sec .head2_1 {
    margin-bottom: 50px;
}
.acs_sp .head3 {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 10px;
}
.acs_sp .head3 span {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: auto;
    padding: 5px 20px;
    color: #ae9c8b;
    background-color: #f6f2ef;
}
.acs_sp .head3 span::before {
    margin-right: 10px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.acs_sp .acc-wrap {
    width: 100%;
    color: #808080;
    line-height: 1.5;
}
.acs_sp .acc-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 20px 25px;
    font-size: 1.6rem;
    background-color: #f5f1eb;
    border: 1px solid #c6bbaf;
    cursor: pointer;
}
.acs_sp .acc-btn::after {
    content: '\f078';
    color: #c6bbaf;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transition: all .3s ease;
}
.acs_sp .acc-btn.acc-open::after {
    content: '\f077';
}
.acs_sp .acc-cont .root {
    width: 100%;
    padding: 0 30px;
}
.acs_sp .acc-cont span {
    display: block;
}
.acs_sp .acc-cont .time {
    width: 50%;
    padding: 20px 25px 20px 0;
    font-size: 1.4rem;
    text-align: right;
    border-right: 1px solid #b2b2b2;
}
.acs_sp .acc-cont .root_name {
    width: 100%;
    padding: 20px 25px;
    font-size: 1.6rem;
    background-color: #fff;
    border: 1px solid #808080;
}
.acs_sp .acc-cont .goal {
    width: 100%;
    padding: 20px;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    background-color: #c6bbaf;
}
.acs_sec .map_img .acs_sp {
    display: none;
    max-width: 600px;
    width: 100%;
    margin: 0 auto 30px;
}
.acs_sp .acc-wrap + .acc-wrap {
    margin-top: 15px;
}
@media only screen and (max-width: 1500px) {
    #access_top .cont {
        padding: 20px 0 20px 80px;
    }
    #access_top img {
        width: calc(1040px * .8);
    }
}
@media only screen and (max-width: 1300px) {
    #access_top img {
        width: calc(1040px * .7);
    }
    #access_top {
        margin-top: -190px;
    }
}
@media only screen and (max-width: 1150px) {
    #access_top img {
        width: calc(1040px * .6);
    }
    #access_top {
        margin-top: -160px;
    }
    #access_top .head2 {
        margin-bottom: 20px;
        font-size: 2.9rem;
    }
    #access_top .cont {
        padding: 20px 0 20px 40px;
    }
}
@media only screen and (max-width: 1024px) {
    #access_top {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        margin-top: 0;
    }
    #access_top .cont {
        width: 100%;
        padding: 0;
        margin-top: 40px;
    }
    #access_top .head2 {
        margin-bottom: 10px;
        font-size: 2.6rem;
    }
    .acs_sec .head2_1::before {
        margin-bottom: 15px;
        font-size: 3rem;
    }
    .acs_num .head3, .acs_num .head3::before {
        font-size: 1.9rem;
    }
    .acs_num .head3 {
        margin-bottom: 10px;
    }
    .acs_sec {
        padding-top: 65px;
    }
    .acs_num {
        margin: 65px 0 40px;
    }
    .acs_gmap iframe {
        height: 550px;
    }
}
@media only screen and (max-width: 850px) {
    .acs_link a {
        margin: 0 15px;
    }
    .acs_sec .head2_1::before {
        margin-bottom: 10px;
        font-size: 2.8rem;
    }
    .acs_num {
        margin: 45px 0 35px;
    }
}
@media only screen and (max-width: 767px) {
    #access_top .head2 {
        font-size: 2.4rem;
    }
    .acs_link a {
        width: 120px;
        height: 120px;
        font-size: 1.7rem;
    }
    .acs_link a::before {
        font-size: 2rem;
    }
    .acs_link a::after {
        font-size: 1.7rem;
    }
    .acs_sec .head2_1::before {
        font-size: 2.5rem;
    }
    .acs_num .head3, .acs_num .head3::before {
        margin-bottom: 5px;
        font-size: 1.8rem;
    }
    .acs_sec .map_img .acs_sp {
        display: block;
    }
    .acs_sec .map_img img {
        display: none;
    }
    .acs_sec {
        padding-top: 30px;
    }
    .acs_num {
        margin: 30px 0 0;
    }
    #access_plane.acs_sec .head2_1 {
        margin-bottom: 15px;
    }
    .acs_gmap {
        margin-top: 60px;
    }
    .acs_gmap iframe {
        height: 450px;
    }
}
@media only screen and (max-width: 650px) {
    #access_top img {
        width: calc(1038px * .5);
    }
    #access_top .head2 {
        font-size: 1.8rem;
    }
    #access_top .cont {
        width: 92%;
        margin-top: 25px;
    }
    .acs_link a {
        width: 100px;
        height: 100px;
        font-size: 1.6rem;
        margin: 0 10px 10px;
    }
    .acs_sec .head2_1::before {
        margin-bottom: 5px;
        font-size: 2.3rem;
    }
    .acs_num {
        flex-wrap: wrap;
    }
    .acs_num .num_block div a {
        padding: 10px 0;
    }
    .acs_num .num_block {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;
        margin-bottom: 30px;
    }
    .acs_num .head3 {
        width: 100%;
    }
    .acs_num .num_block div {
        width: 48%;
    }
    .acs_num .num_block + .num_block div, #access_ferry .acs_num .num_block div {
        width: 100%;
    }
    .acs_num {
        margin: 20px 0 0;
    }
    .acs_sec {
        margin-bottom: 10px;
    }
    .acs_gmap {
        margin-top: 40px;
    }
    .acs_gmap iframe {
        height: 300px;
    }
}
@media only screen and (max-width: 550px) {
    #access_top img {
        width: calc(1038px * .4);
    }
    .acs_link {
        flex-wrap: wrap;
        max-width: 240px;
    }
}
@media only screen and (max-width: 450px) {
    #access_top img {
        width: calc(1038px * .3);
    }
    .acs_link {
        max-width: 100%;
        width: 100%;
    }
    .acs_link a {
        width: 70px;
        height: 70px;
        font-size: 1.3rem;
        margin: 0 3px;
    }
    .acs_link a::before {
        margin-bottom: 6px;
        font-size: 1.4rem;
    }
    .acs_link a::after {
        margin-top: 5px;
        font-size: 1.4rem;
    }
    .acs_num .head3, .acs_num .head3::before {
        margin-bottom: 0;
        font-size: 1.6rem;
    }
    .acs_sec .map_img .acs_sp {
        margin-bottom: 20px;
    }
    .acs_sp .acc-btn, .acs_sp .acc-cont .time, .acs_sp .acc-cont .root_name, .acs_sp .acc-cont .goal {
        padding: 15px 20px;
    }
    .acs_sp .acc-wrap + .acc-wrap {
        margin-top: 10px;
    }
    .acs_sp .acc-cont .root {
        padding: 0 10px;
    }
}



/*area*/
.area_sec {
    width: 100%;
    margin-bottom: 75px;
}
.head2_2 {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    font-size: 2.3rem;
    line-height: 1.3;
    text-align: center;
}
.head2_2::before {
    display: block;
    margin-bottom: 15px;
    color: #c6bbaf;
    font-family: 'icomoon' !important;
}
#area_history .head2_2::before {
    content: '\e911';
    font-size: 3.5rem;
}
#area_culture .head2_2::before {
    content: '\e910';
    font-size: 5.5rem;
}
#area_parchez .head2_2::before {
    content: '\e905';
    font-size: 4.1rem;
}
.head2_2 span {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    font-size: 4.2rem;
    letter-spacing: 5px;
    background: url("./img/figure_line3.svg") center center/auto 55px no-repeat;
}
[lang="en-US"] .head2_2 span,
[lang="fr-FR"] .head2_2 span {
    margin-bottom: 3px;
    letter-spacing: 2px;
}
.area_sec .head2_2 {
    margin-bottom: 95px;
}
[lang="en-US"] .area_sec .head2_2,
[lang="fr-FR"] .area_sec .head2_2 {
    padding: 0 20px;
}
.area_block {
    width: 100%;
}
.area_block .wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    margin-bottom: 85px;
    overflow: hidden;
}
.area_block .main_img {
    position: relative;
    width: 65%;
    height: auto;
    padding-top: 39%;
    margin-bottom: 40px;
    background: center center/cover no-repeat;
    z-index: 0;
}
.area_block .cont {
    position: relative;
    width: 46%;
    margin-left: -11%;
}
.area_block .cont::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #f8f3eb;
    z-index: 0;
}
.area_block .cont::after {
    content: '';
    position: absolute;
    top: 75px;
    left: -35px;
    display: block;
    width: 150px;
    height: 1px;
    background-color: #c6bbaf;
    z-index: 2;
    transform: rotate(-45deg);
    transform-origin: top left;
}
.area_block .txt_wrap {
    position: relative;
    width: 97%;
    padding: 65px 70px 55px;
    background-color: #fff;
    box-shadow: 0 0 10px rgb(0 0 0 / 7%);
    z-index: 1;
}
.wrap.r .txt_wrap > * {
    max-width: 505px;
}
.area_block .head3 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 25px;
    font-size: 3.8rem;
    line-height: 1.3;
}
[lang="en-US"] .area_block .head3,
[lang="fr-FR"] .area_block .head3 {
    font-size: 3.2rem;
}
.area_block .head3 span {
    flex-shrink: 0;
    margin-right: 25px;
}
[lang="en-US"] .area_block .head3 span,
[lang="fr-FR"] .area_block .head3 span {
    flex-shrink: inherit;
}
[lang="en-US"] .area_block .head3::after,
[lang="fr-FR"] .area_block .head3::after {
    display: none;
}
.area_block .head3::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #c6bbaf;
}
.area_block .sub {
    width: 100%;
    margin-bottom: 25px;
    font-size: 2.2rem;
    line-height: 1.3;
}
.area_block .txt, .area_act_li .txt {
    width: 100%;
    line-height: 2;
}
.area_block .sub_img {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: -32px;
}
.area_block .sub_img .img {
    width: 33%;
    height: auto;
    padding-top: 23%;
    background: center center/cover no-repeat;
}
.area_block .wrap.r {
    flex-direction: row-reverse;
}
.area_block .wrap.r .cont {
    margin-left: 0;
    margin-right: -11%;
}
.area_block .wrap.r .txt_wrap, .area_block .wrap.r .txt_wrap > * {
    margin-left: auto;
}
.area_block .wrap.r .cont::after {
    left: auto;
    right: -35px;
    transform: rotate(45deg);
    transform-origin: top right;
}
.area_block .wrap.r .cont::before {
    left: auto;
    right: 10px;
}
.area_block .txt_wrap .btn_wrap, .area_act_li .btn_wrap {
    justify-content: flex-start;
    margin-top: 10px;
}
.area_block .txt_wrap .btn1, .area_act_li .btn1 {
    padding: 20px 30px 20px 45px;
    margin: 0;
}
.area_activity {
    width: 100%;
    padding: 55px 0 85px;
    margin-bottom: 125px;
    background-color: #f8f3eb;
}
.area_activity .head2 {
    width: 100%;
    padding: 0 20px;
    margin-bottom: 55px;
    font-size: 3.2rem;
    line-height: 1.2;
    text-align: center;
}
.area_activity .head2::before {
    content: '\e904';
    display: block;
    margin: 0 auto 15px;
    font-family: 'icomoon' !important;
}
.area_act_li {
    max-width: 1330px;
    width: 92%;
    margin: 0 auto 90px;
}
.area_act_li li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding: 65px 70px 50px;
    margin-bottom: 45px;
    background-color: #fff;
}
.area_act_li .cont {
    width: 45%;
}
.area_act_li .slide {
    width: 48%;
}
.area_act_li .head3 {
    margin-bottom: 15px;
    font-size: 2.7rem;
    line-height: 1.3;
}
.area_act_li .head3::after {
    content: '';
    display: block;
    width: 60px;
    height: 1px;
    margin-top: 10px;
    background-color: var(--var);
}
.area_act_li .sub {
    margin-bottom: 25px;
    font-size: 2rem;
    line-height: 1.4;
}
.swiper-container.area_act_slide {
    width: 100%;
    margin-bottom: 25px;
}
.swiper-container.area_act_slide .img {
    width: 100%;
    height: auto;
    padding-top: 76%;
    background: center center/cover no-repeat;
}
.area_prcz_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    max-width: 1370px;
    width: 92%;
    margin: auto;
}
.area_prcz_li li {
    width: calc((100% / 3) - 140px);
    margin: 0 35px 65px;
}
.area_prcz_li .img {
    width: 100%;
    height: auto;
    padding-top: 75%;
    background: center center/cover no-repeat;
}
.area_prcz_li .cont {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
}
.area_prcz_li .head3 {
    position: relative;
    width: 72%;
    padding: 30px 10px;
    margin: -30px auto 10px;
    font-size: 2.1rem;
    line-height: 1.3;
    text-align: center;
    background-color: #fff;
}
.area_prcz_li .head3::before {
    content: '\f00c';
    position: absolute;
    top: -17px;
    left: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    width: 35px;
    height: 35px;
    color: var(--brown);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    background-color: #fff;
    border: 1px solid var(--brown);
    border-radius: 50%;
    transform: translateX(-50%);
}
.area_prcz_li .txt {
    width: 100%;
}
.swiper-pagination.brown_pn {
    display: flex;
    justify-content: center;
    align-items: center;
}
.brown_pn .swiper-pagination-bullet {
    opacity: .4;
    width: 10px;
    height: 10px;
    background-color: var(--brown);
}
.brown_pn .swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: 1;
}
.area_act_li .swiper-pagination.brown_pn {
    justify-content: flex-end;
}
.area_block .txt a::before, .area_act_li .txt a::after, .area_block .link .address::before {
    content: '\f3c5';
    margin-left: 10px;
    color: var(--brown);
    font-size: 1.7rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.area_block .txt a::before, .area_block .link .address::before {
    margin-left: 0;
    margin-right: 10px;
}
.area_block .txt a, .area_act_li .txt a {
    opacity: 1;
    transition: all .3s ease;
}
.area_block .txt a:hover, .area_act_li .txt a:hover {
    opacity: .6;
}
.area_block .txt a.address, .area_block .link > span, .area_block .link > a {
    color: var(--brown);
    -webkit-text-fill-color: var(--brown);
    font-size: 2rem;
}
.area_block .link a.address {
    margin-right: 20px;
}
.area_block .link .tel::before {
    content: '\f879';
    margin-right: 5px;
    color: var(--brown);
    font-size: 1.7rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.area_block .link {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 30px 0;
}
.page_area > .btn_wrap {
    margin-bottom: 100px;
}
@media only screen and (max-width: 1500px) {
    .area_block .txt_wrap {
        padding: 35px 40px 25px;
    }
}
@media only screen and (max-width: 1300px) {
    .area_block .head3 {
        margin-bottom: 20px;
        font-size: 3.4rem;
    }
    [lang="en-US"] .area_block .head3 ,
    [lang="fr-FR"] .area_block .head3 {
        font-size: 2.8rem;
    }
    .area_block .sub {
        margin-bottom: 15px;
    }
    [lang="en-US"] .area_block .sub,
    [lang="fr-FR"] .area_block .sub {
        font-size: 2.1rem;
    }
    .area_block .cont::after {
        top: 60px;
        left: -30px;
        width: 125px;
    }
}
@media only screen and (max-width: 1150px) {
    .area_block .txt_wrap {
        padding: 25px 30px 20px;
    }
    .area_block .head3 span {
        margin-right: 15px;
    }
    .area_block .head3 {
        margin-bottom: 10px;
        font-size: 3.1rem;
    }
    [lang="en-US"] .area_block .head3,
    [lang="fr-FR"] .area_block .head3 {
        font-size: 2.5rem;
    }
    .area_block .sub {
        margin-bottom: 10px;
        font-size: 2rem;
    }
    [lang="en-US"] .area_block .sub,
    [lang="fr-FR"] .area_block .sub {
        font-size: 1.9rem;
    }
    .area_block .txt {
        font-size: 1.6rem;
        line-height: 1.7;
    }
}
@media only screen and (max-width: 1024px) {
    .head2_2 span {
        margin-bottom: 5px;
        font-size: 3.7rem;
    }
    [lang="en-US"] .head2_2 span,
    [lang="fr-FR"] .head2_2 span {
        margin-bottom: 0;
    }
    .area_block .wrap, .area_block .wrap.r {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        max-width: 600px;
        margin: 0 auto 55px;
    }
    .area_block .main_img {
        width: 100%;
        padding-top: 60%;
    }
    .area_block .cont, .area_block .wrap.r .cont {
        width: 90%;
        margin: -70px auto 0;
    }
    .area_block .wrap.r .cont::before {
        left: 10px;
        right: auto;
    }
    .area_block .wrap.r .cont::after {
        top: 60px;
        left: -30px;
        transform: rotate(-45deg);
        transform-origin: top left;
    }
    .area_block .wrap.r .txt_wrap, .area_block .wrap.r .txt_wrap > * {
        margin-left: 0;
    }
    .area_block .sub_img {
        margin-top: 35px;
    }
    .area_sec .head2_2 {
        margin-bottom: 45px;
    }
    .area_block .wrap {
        overflow: inherit;
    }
    .area_block .head3 {
        font-size: 2.6rem;
    }
    .area_block .sub {
        font-size: 1.8rem;
    }
    .area_block .txt {
        font-size: 1.5rem;
    }
    .area_block .txt a.address, .area_block .link > span, .area_block .link > a {
        font-size: 1.8rem;
    }
    .area_block .link {
        margin: 20px 0;
    }
}
@media only screen and (max-width: 850px) {
    .head2_2 span {
        font-size: 3.2rem;
        background-size: auto 45px;
    }
    .head2_2 {
        font-size: 2.1rem;
    }
    .head2_2::before {
        margin-bottom: 5px;
    }
}
@media only screen and (max-width: 767px) {
    .head2_2 span {
        font-size: 2.7rem;
        letter-spacing: 4px;   
    }
    [lang="en-US"] .head2_2 span,
    [lang="fr-FR"] .head2_2 span {
        letter-spacing: 1px;   
    }
    .head2_2 {
        font-size: 1.8rem;
    }
    #area_history .head2_2::before {
        font-size: 3.1rem;
    }
    #area_culture .head2_2::before {
        font-size: 4.8rem;
    }
    .head2_2::before {
        margin-bottom: 0;
    }
    .area_block .head3 {
        font-size: 2.3rem;
    }
    .area_block .sub {
        font-size: 1.7rem;
    }
    #area_parchez .head2_2::before {
        font-size: 3.6rem;
    }
    .area_sec .head2_2 {
        margin-bottom: 25px;
    }
    .area_block .wrap {
        margin-bottom: 45px;
    }
    .area_sec {
        margin-bottom: 50px;
    } 
}
@media only screen and (max-width: 650px) {
    .head2_2 span {
        margin-bottom: 3px;
        font-size: 2.4rem;
        letter-spacing: 3px;
        background-size: auto 35px;
    }
    .head2_2 {
        font-size: 1.7rem;
    }
    #area_history .head2_2::before {
        font-size: 2.7rem;
    }
    #area_culture .head2_2::before {
        font-size: 4.3rem;
    }
    .area_block .cont::before {
        width: calc(100% - 10px);
    }
    .area_block .head3 {
        font-size: 2.1rem;
    }
    .area_block .txt {
        font-size: 1.4rem;
    }
    .area_block .txt a.address, .area_block .link > span, .area_block .link > a {
        font-size: 1.6rem;
    }
    .area_block .link {
        margin: 15px 0;
    }
    .page_area > .btn_wrap {
        margin-bottom: 60px;
    }
    .area_block .txt_wrap {
        padding: 20px 20px 15px;
    }
    .area_block .cont::after, .area_block .wrap.r .cont::after {
        top: 40px;
        left: -15px;
        width: 80px;
    }
}
@media only screen and (max-width: 450px) {
    .head2_2 span {
        font-size: 2.2rem;
        letter-spacing: 2px;
    }
    .head2_2 {
        font-size: 1.5rem;
    }
    #area_history .head2_2::before {
        font-size: 2.5rem;
    }
    #area_culture .head2_2::before {
        font-size: 3.8rem;
    }
    #area_parchez .head2_2::before {
        font-size: 3rem;
    }
    .area_block .head3 {
        font-size: 2rem;
    }
    .area_block .link {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
}

.area-map{
    margin-bottom: 50px;
}



/*contact*/
#contact {
    max-width: 1000px;
    margin: 0 auto 40px;
}
.contact_form dt span {
    font-size: 1.4rem;
    background-color: var(--brown);
}
.contact_form > dt, .contact_form dt span {
    font-weight: 400;
}
#contact input, #contact textarea #contact select {
    background-color: #f2f2f2;
}
#contact .contact_btn.btn_wrap input.btn1 {
    opacity: 1;
    min-width: 250px;
    padding: 15px 20px;
    margin: 0 20px;
    font-size: 1.8rem;
    font-family: var(--mincho);
    background-color: var(
    --brown);
    transition: all .3s ease;
}
#contact .contact_btn.btn_wrap input.btn1:hover {
    opacity: .6;
    color: #fff;
}
.contact_btn a:hover {
    color: #fff;
}
@media only screen and (max-width: 450px) {
    [lang="en-US"] .contact_form dt span,
    [lang="fr-FR"] .contact_form dt span {
        display: inline-block;
        font-size: 1.3rem;
    }
    [lang="en-US"] #contact .contact_btn.btn_wrap input.btn1,
    [lang="fr-FR"] #contact .contact_btn.btn_wrap input.btn1 {
        font-size: 1.5rem;
    }
}


/*add*/
.layout {
  max-width: 1295px;
  width: 92%;
  margin: 0 auto 50px;
}

@media only screen and (min-width: 768px) {
  .layout {
    margin: 0 auto 100px;
  }
}

.layout01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
}

@media only screen and (min-width: 768px) {
  .layout01 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row;
    -ms-flex-flow: row;
    flex-flow: row;
  }
}

@media only screen and (min-width: 768px) {
  .layout01 > div {
    width: 48%;
  }
}

.layout01 > div.img {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
}

.layout01 > div.txt {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .layout01 > div.txt {
    margin-bottom: 0;
  }
}

.layout01 > div .lay-tit {
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: 50px;
  position: relative;
}

@media only screen and (min-width: 768px) {
  .layout01 > div .lay-tit {
    font-size: 26px;
    font-size: 2.6rem;
  }
}

@media only screen and (min-width: 1025px) {
  .layout01 > div .lay-tit {
    font-size: 35px;
    font-size: 3.5rem;
  }
}

.layout01 > div .lay-tit::after {
  content: '';
  display: block;
  width: 136px;
  height: 11px;
  margin: 15px auto 0;
  background: url(https://awaji-fragrance.com/wp-content/themes/awaji-fragrance/img/figure_line1.svg) center center/contain no-repeat;
  -webkit-transform: scale(1, -1);
  transform: scale(1, -1);
  position: absolute;
  left: 0;
  bottom: -20px;
}

.layout01.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
  -ms-flex-flow: row-reverse;
  flex-flow: row-reverse;
}

@media only screen and (min-width: 768px) {
  .layout02 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.layout02 .box {
  width: 75%;
  margin: 0 auto 30px;
}

@media only screen and (min-width: 768px) {
  .layout02 .box {
    width: 29%;
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 1025px) {
  .layout02 .box {
    width: 31%;
  }
}

.layout02 .box span {
  display: block;
  margin-top: 10px;
}


/*privacy-policy*/
.page_policy, .page_terms {
    margin-bottom: 100px;
}
[lang="en-US"] .policy_cont > dt,
[lang="fr-FR"] .policy_cont > dt {
    font-size: 120%;
    font-weight: 700;
}
[lang="en-US"] .policy_wrap,
[lang="fr-FR"] .policy_wrap {
    padding-left: 0;
    list-style: none;
}
[lang="en-US"] #policy > p > a,
[lang="fr-FR"] #policy > p > a {
    opacity: 1;
    color: royalblue;
    text-decoration: underline;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
[lang="en-US"] #policy > p > a:hover,
[lang="fr-FR"] #policy > p > a:hover {
    opacity: .6;
}
[lang="en-US"] .page_terms .policy_li dd ol,
[lang="fr-FR"] .page_terms .policy_li dd ol {
    list-style: auto;
}

.page_terms .policy_li dd ol {
    padding-left: 25px;
    list-style: decimal;
}
.page_terms .policy_li dd ol.list_kakko, .page_terms .policy_li dd ol.list_kakko {
    list-style: none;
}
@media only screen and (max-width: 1024px) {
    .page_policy, .page_terms {
        margin-bottom: 70px;
    }   
}
@media only screen and (max-width: 767px) {
    .page_policy, page_terms {
        margin-bottom: 50px;
    }
    .page_terms .policy_li dd ol {
        padding-left: 22px;
    }
}
@media only screen and (max-width: 650px) {
    .page_policy, .page_terms {
        margin-bottom: 40px;
    }
}

/**/
[lang="en-US"] #top_about .btn1, .top_act_online .btn_wrap a,
[lang="fr-FR"] #top_about .btn1, .top_act_online .btn_wrap a {
    white-space: nowrap;
}
[lang="en-US"] .btn1.f,
[lang="fr-FR"] .btn1.f {
    padding: 15px 30px 15px 65px;
    line-height: 1.4;
    text-align: center;
}
@media only screen and (max-width: 1024px) {
    [lang="en-US"] .btn1.f,
    [lang="fr-FR"] .btn1.f {
        padding: 15px 15px 15px 30px
    }   
}
@media only screen and (max-width: 650px) {
    [lang="en-US"] .btn1.f,
    [lang="fr-FR"] .btn1.f {
        padding: 11px 15px 13px 30px
    }
}


/* 220531-add */
.layout02 .box span.object {
    width: 100%;
    height: auto;
    padding-top: 75%;
    margin-top: 0;
    background: center center/cover no-repeat;
}

/*
font-family: "Font Awesome 5 Free";font-weight: 900;
font-family: "Font Awesome 5 Brands";font-weight: 400;
font-family: 'icomoon' !important;
*/

/*
 * News feature
 * 2024-04-27 – Sean
----------------------------------------------------------------*/
/**
 * Wrapper utility
 */
.u-wrapper {
    /* padding to match other sections */
    width: 92%;
    margin-left: auto;
    margin-right: auto;
}

.u-post-max-width {
    max-width: calc(15px * 50);
    margin-left: auto;
    margin-right: auto;
}

/**
 * News Archive
 */
.news-archive {
    display: grid;
    padding-top: 30px;
    padding-bottom: 30px;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    grid-template-columns: repeat(1fr);
}

.news-archive__item {
    /* li */
    display: block;
}

.news-archive__item {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #e5e5e5;
}

.news-archive__item:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}

.news-archive__item > a {
    display: flex;
    align-items: center;
    gap: 16px;
    transition: opacity 0.3s ease;
}

.news-archive__item > a:hover {
    opacity: 0.6;
}

.news-archive__item > a > * {
    flex: 1;
}

.news-archive__img {
    max-width: 278px;
}

.news-archive__img img {
    aspect-ratio: 21 / 13;
    object-fit: cover;
}

.news-archive__cont p {
    /* the date */
    font-size: 13px;
    padding-bottom: 0.6em;
}

@media (min-width: 800px) {
    .news-archive {
        gap: 0 24px;
        padding-top: 45px;
        padding-bottom: 45px;
        grid-template-columns: 1fr 1fr;
    }

    .news-archive__item {
        padding-bottom: 45px;
        margin-bottom: 45px;
    }

    .news-archive__item:nth-last-child(2) {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: none;
    }
}

@media (min-width: 1180px) {
    .news-archive {
        gap: 0 45px;
    }
}

/**
 * News Single
 */
.single-post {
    /* nothing so far */
}

.single-post__header {
    width: 100%;
    margin-top: 50px;
    margin-bottom: 30px;
}

.single-post__header p {
    font-size: 13px;
    text-align: center;
    margin-bottom: 1em;
    
}

.single-post__header h1 {
    font-size: 19px;
}

.single-post__img {
    position: relative;
    z-index: 1;
    width: 100%;
    margin-bottom: 90px;
}

.single-post__img img {
    display: block;
    position: relative;
    z-index: 2;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.single-post__img:before {
    content: '';
    position: absolute;
    z-index: 0;
    top: 60px;
    left: -50%;
    width: 200%;
    height: 100%;
    background: #f0ece6;
}

.single-post__content {
    /* nothing so far */
}

.single-post__footer {
    margin-top: 80px;
    margin-bottom: 60px;
    padding-top: 30px;
    border-top: 1px solid #e5e5e5;
}

@media (min-width: 800px) {
    .single-post__header {
        margin-top: 65px;
        margin-bottom: 40px;
    }
    
    .single-post__header p {
        font-size: 14px;
    }
    
    .single-post__header h1 {
        font-size: 36px;
    }

    .single-post__footer {
        margin-top: 100px;
        margin-bottom: 120px;
        padding-top: 50px;
    }
}

/**
 * Trump adjustments
 */
/* Home */
#top_news .news-archive {
    margin-top: 40px;
    margin-bottom: 30px;
}

#top_news .btn_wrap {
    margin-top: 30px;
    margin-bottom: 60px;
}

/* Archive */
.archive_temp .news-archive {
    margin-bottom: 30px;
}

@media (min-width: 800px) {
    .archive_temp .news-archive {
        margin-bottom: 90px;
    }
}

/*
 * Activity Telephone Num Button
 * 2024-05-18 – Sean
----------------------------------------------------------------*/
.activity-tel-num.activity-tel-num--txt {
    display: none;
}

@media (min-width: 800px) {
    .activity-tel-num.activity-tel-num--bttn {
        display: none;
    }

    .activity-tel-num.activity-tel-num--txt {
        display: block;
        width: 100%;
        text-align: center;
        font-size: 2.4rem;
        letter-spacing: 0.15em;
    }
}

@media (min-width: 1100px) {
    .activity-tel-num.activity-tel-num--txt {
        font-size: 3.4rem;
    }
}

.btn_wrap .txt{
    width: 100%;
}
