@charset "utf-8";

html {
    font-size: calc(100vw / 13.66);
    font-family: "Shippori Mincho B1", serif;
    font-weight: 400;
    font-style: normal;
    max-width: 100%;
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width: 641px) {
    html {
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt"
    }
}

@media screen and (min-width: 1366px) {
    html {
        font-size: 100px
    }
}

@media screen and (min-width: 641px) and (max-width: 1050px) {
    html {
        font-size: 62px;
        min-width: 1050px
    }
}

@media screen and (max-width: 640px) {
    html {
        font-size: calc(100vw / 3.9);
        -moz-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
        text-size-adjust: 100%;
        -webkit-text-size-adjust: 100%
    }
}

html.hidden {
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-y: hidden
}

html.hidden::-webkit-scrollbar {
    display: none
}

.page_wrapper {
    max-width: 100%;
    overflow: hidden
}

main {
    overflow-x: hidden
}

.touchevents * {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.chrome body {
    image-rendering: -webkit-optimize-contrast
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ol,
ul,
li,
td,
th,
figure {
    margin: 0;
    padding: 0;
    font-weight: normal;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    max-height: 100%
}

article,
aside,
footer,
header,
main,
nav,
section,
figcaption,
figure {
    display: block
}

img {
    -ms-interpolation-mode: bicubic;
    border-style: none
}

svg:not(:root) {
    overflow: hidden
}

hr {
    height: 0;
    overflow: visible;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

b,
strong {
    font-weight: inherit;
    font-weight: bolder
}

a {
    outline: 0;
    text-decoration: none;
    color: inherit;
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

li {
    list-style: none
}

sub,
sup {
    position: relative;
    vertical-align: baseline;
    line-height: 0
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

audio,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

canvas {
    display: inline-block
}

*:focus {
    outline: none
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

address,
i {
    font-style: normal
}

@media print,
screen and (min-width: 641px) {
    .sp {
        display: none !important
    }
}

@media screen and (max-width: 640px) {
    .pc {
        display: none !important
    }
}

@media print,
screen and (min-width: 641px) {
    a[href^="tel:"] {
        pointer-events: none
    }
}

[data-lf],
[data-lf-area="0"] {
    opacity: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    -webkit-transition: opacity 1s;
    transition: opacity 1s
}

[data-lf-area="1"],
[data-lf-area="1"] * {
    opacity: 1
}

.min {
    font-family: "Shippori Mincho B1", serif;
    font-weight: 400;
    font-style: normal
}

.color-orange {
    color: #dca341
}

.color-green {
    color: #73a470
}

.cf::after {
    display: block;
    clear: both;
    content: ""
}

img {
    width: 100%;
    height: auto
}

@media screen and (max-width: 640px) {
    img {
        max-width: 100%
    }
}

.img_zoom_wrap {
    overflow: hidden
}

figure {
    overflow: hidden
}

figure img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.of img {
    width: 100%;
    height: 100%
}

.of.cover .img {
    -o-object-fit: cover;
    object-fit: cover
}

.of.contain .img {
    -o-object-fit: contain;
    object-fit: contain
}

.ofi {
    width: 100%;
    height: 100%
}

.ofi.cover {
    -o-object-fit: cover;
    object-fit: cover
}

.ofi.contain {
    -o-object-fit: contain;
    object-fit: contain
}

.img_zoom {
    -webkit-transition-duration: 2s;
    transition-duration: 2s;
    display: block
}

.img_zoom__in {
    display: block
}

.img_zoom__out {
    display: block
}

@media print,
screen and (min-width: 641px) {
    a {
        -webkit-transition: 0.3s ease;
        transition: 0.3s ease
    }

    a:hover {
        opacity: 0.6
    }
}

.jp {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
    font-weight: 400;
    font-style: normal
}

.en {
    font-family: parlare, sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased
}

.en2 {
    font-family: "the-seasons", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    -webkit-font-smoothing: antialiased
}

.en3 {
    font-family: "the-seasons", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    -webkit-font-smoothing: antialiased
}

.main_ttl {
    color: #73a470;
    text-align: center;
    margin-bottom: 0.75rem
}

@media screen and (max-width: 640px) {
    .main_ttl {
        margin-bottom: 0.4rem
    }
}

.main_ttl .main {
    font-size: .5rem;
    letter-spacing: 0.08em;
    font-family: "the-seasons", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    -webkit-font-smoothing: antialiased
}

@media screen and (max-width: 640px) {
    .main_ttl .main {
        font-size: .3rem
    }
}

.main_ttl .sub {
    font-family: "Shippori Mincho B1", serif;
    font-weight: 400;
    font-style: normal;
    font-size: .2rem;
    letter-spacing: 0
}

@media screen and (max-width: 640px) {
    .main_ttl .sub {
        font-size: .14rem
    }
}

.main_ttl._orange {
    color: #dca341
}

.main_ttl._small {
    text-align: left
}

.main_ttl._small .main {
    font-size: .38rem
}

@media screen and (max-width: 640px) {
    .main_ttl._small .main {
        font-size: .3rem;
        line-height: 1.3
    }
}

.main_ttl._small .sub {
    font-size: .2rem
}

@media screen and (max-width: 640px) {
    .main_ttl._small .sub {
        font-size: .12rem
    }
}

@media screen and (max-width: 640px) {
    .main_ttl._narrow {
        margin-bottom: 0.3rem
    }
}

.main_ttl._narrow .sub {
    line-height: 1
}

.page_ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 3.5rem;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

@media screen and (max-width: 640px) {
    .page_ttl {
        height: 1.5rem
    }
}

.page_ttl .main_ttl {
    color: #fff;
    width: 100%;
    margin-bottom: 0
}

.page_ttl .main_ttl .main {
    line-height: 1.4
}

.section_en {
    font-family: parlare, sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    font-size: .74rem;
    color: #dca341
}

@media screen and (max-width: 640px) {
    .section_en {
        font-size: .35rem
    }
}

.midashi {
    font-family: "Shippori Mincho B1", serif;
    font-weight: 400;
    font-style: normal;
    font-size: .18rem
}

@media screen and (max-width: 640px) {
    .midashi {
        letter-spacing: 0.01rem;
        line-height: 0.32rem
    }
}

.txtL {
    font-size: .22rem;
    letter-spacing: 0.03em;
    line-height: 2.2
}

@media screen and (max-width: 640px) {
    .txtL {
        font-size: .15rem;
        line-height: 2
    }
}

.txtL._center {
    text-align: center
}

.txtR {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: .16rem;
    letter-spacing: 0.05em;
    line-height: 1.875
}

@media screen and (max-width: 640px) {
    .txtR {
        font-size: .13rem;
        line-height: 1.69;
        letter-spacing: 0
    }
}

.txtR._center {
    text-align: center
}

@media screen and (max-width: 640px) {
    .txtR._sp_center {
        text-align: center
    }
}

@media screen and (max-width: 640px) {
    .btn {
        max-width: 3.3rem;
        margin-left: auto;
        margin-right: auto
    }
}

.btn a {
    color: #fff;
    font-size: .18rem;
    font-weight: 500;
    letter-spacing: 0;
    vertical-align: baseline;
    padding: 0.15rem 0.2rem;
    line-height: 1;
    position: relative;
    overflow: hidden;
    display: inline-block
}

.btn._btn_green._btn_header a {
    color: #fff;
    background-color: #73a470;
    border: solid 1px #73a470
  }

.btn._btn_green._btn_header.btncontact a {
    color: #fff;
    background-color: #73a470;
    border: solid 1px #73a470
  }

@media screen and (max-width: 640px) {
    .btn a {
        display: block;
        text-align: center;
        font-size: .15rem;
        padding: 0.12rem 0.2rem
    }
}

.btn a:before {
    content: '';
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    border-width: 2px;
    border-style: solid;
    background: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.btn a span {
    position: relative;
    z-index: 10;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.btn a span:after {
    content: '';
    display: inline-block;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    margin-left: 0.03rem;
    vertical-align: baseline;
    -webkit-transform: scale(0.8, 1) translateY(-20%) rotate(-45deg);
    transform: scale(0.8, 1) translateY(-20%) rotate(-45deg);
    width: 0.09rem;
    height: 0.09rem
}

@media print,
screen and (min-width: 641px) {
    .btn a:hover {
        opacity: 1
    }

    .btn a:hover:before {
        width: 100%
    }
}

@media screen and (max-width: 640px) {
    .btn._btn_sp_ib a {
        display: inline-block
    }
}

@media print,
screen and (min-width: 641px) {
    .btn._btn_header:nth-child(n+2) {
        margin-left: 0.2rem
    }
}

.btn._btn_header a {
    font-size: .15rem
}

@media print,
screen and (min-width: 641px) {
    .btn._btn_header a {
        padding: 0.1rem 0.2rem
    }
}

.btn._btn_header a span:after {
    display: none
}

@media print,
screen and (min-width: 641px) {
    .btn._btn_footer a {
        display: block;
        text-align: center
    }
}

.btn._btn_footer a span:after {
    display: none
}

.btn._btn_orange a {
    background: #dca341
}

.btn._btn_orange a:before {
    border-color: #dca341
}

@media print,
screen and (min-width: 641px) {
    .btn._btn_orange a:hover span {
        color: #dca341
    }

    .btn._btn_orange a:hover span:after {
        border-right-color: #dca341;
        border-bottom-color: #dca341
    }
}

.btn._btn_range-r a {
    background: #fff;
    border: solid 1px #dca341
}

.btn._btn_range-r a span {
    color: #dca341
}

@media screen and (max-width: 640px) {
    .btn._btn_range-r a:hover span {
        color:#dca341
    }

    .btn._btn_range-r a:hover span:after {
        border-right-color: #dca341;
        border-bottom-color: #dca341
    }
}

.btn._btn_green a {
    background: #fff
}

.btn._btn_green a:before {
    border-color: #73a470
}

.btn._btn_green.btncontact a:before {
    border-color: #73a470;
}

.btn._btn_blue a {
    background: #8cb9db;
}

header .menu_wrap .menu_inner .menu_right .menu_contact .contac_btn ._btn_blue {
    margin-bottom: .1rem;
}

@media print,
screen and (min-width: 641px) {
    .btn._btn_green a:hover span {
        color: #73a470
    }

    .btn._btn_green a:hover span:after {
        border-right-color: #73a470;
        border-bottom-color: #73a470
    }
}

.btn._btn_blue a {
    background: #8cb9db
}

.btn._btn_blue a:before {
    border-color: #8cb9db
}

@media print,
screen and (min-width: 641px) {
    .btn._btn_blue a:hover span {
        color: #8cb9db
    }

    .btn._btn_blue a:hover span:after {
        border-right-color: #8cb9db;
        border-bottom-color: #8cb9db
    }
}

.btn._center {
    text-align: center
}

.btn._right {
    text-align: right
}

.sns_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.sns_link li:nth-child(1) {
    margin-right: 0.18rem
}

.sns_link li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.sns_link li a img {
    display: block;
    height: auto;
    margin-right: 0.05rem
}

.sns_link li a img.icn_ig {
    width: 0.226rem
}

@media print,
screen and (min-width: 641px) {
    .sns_link li a img.icn_ig {
        width: 0.25rem
    }
}

.sns_link li a img.icn_bl {
    width: 0.25rem
}

@media print,
screen and (min-width: 641px) {
    .sns_link li a img.icn_bl {
        width: 0.276rem
    }
}

.sns_link li a span {
    display: block;
    font-size: .13rem;
    letter-spacing: 0.03em;
    font-weight: 500;
    color: #3c3c3c
}

@media print,
screen and (min-width: 641px) {
    .sns_link li a span {
        font-size: .16rem
    }
}

.menu_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0.4rem 0.3rem;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 400;
    font-style: normal;
    width: 100%
}

.menu_link li {
    width: 50%
}

.menu_link li:nth-child(n+3) {
    margin-top: 0.27rem
}

.menu_link li a {
    white-space: nowrap;
    font-size: .14rem;
    letter-spacing: 0;
    font-weight: 500;
    line-height: 1
}

.img_deco {
    width: 8rem;
    z-index: -1;
    opacity: 0;
    -webkit-transition: -webkit-transform 0.5s linear;
    transition: -webkit-transform 0.5s linear;
    transition: transform 0.5s linear;
    transition: transform 0.5s linear, -webkit-transform 0.5s linear;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.img-blur {
    -webkit-animation-name: imageBlur;
    animation-name: imageBlur;
    opacity: 1;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-animation: imageBlur 2s ease-in forwards;
    animation: imageBlur 2s ease-in forwards
}

@-webkit-keyframes imageBlur {
    from {
        opacity: 0;
        -webkit-filter: blur(15px);
        -moz-filter: blur(15px);
        -ms-filter: blur(15px);
        -o-filter: blur(15px);
        filter: blur(15px)
    }

    to {
        opacity: 1;
        -webkit-filter: blur(0px);
        -moz-filter: blur(0px);
        -ms-filter: blur(0px);
        -o-filter: blur(0px);
        filter: blur(0px)
    }
}

@keyframes imageBlur {
    from {
        opacity: 0;
        -webkit-filter: blur(15px);
        -moz-filter: blur(15px);
        -ms-filter: blur(15px);
        -o-filter: blur(15px);
        filter: blur(15px)
    }

    to {
        opacity: 1;
        -webkit-filter: blur(0px);
        -moz-filter: blur(0px);
        -ms-filter: blur(0px);
        -o-filter: blur(0px);
        filter: blur(0px)
    }
}

.txt {
    text-align: justify
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.fadein,
.fadeL,
.fadeR {
    opacity: 0;
    -webkit-transition: 1.2s;
    transition: 1.2s
}

.fadein.active,
.fadeL.active,
.fadeR.active {
    opacity: 1;
    -webkit-transform: translate(0);
    transform: translate(0)
}

.fadein {
    -webkit-transform: translate(0, 0.5rem);
    transform: translate(0, 0.5rem)
}

.fadeR {
    -webkit-transform: translateX(0.5rem);
    transform: translateX(0.5rem)
}

@media screen and (max-width: 640px) {
    .fadeR {
        -webkit-transform: translateY(0.5rem);
        transform: translateY(0.5rem)
    }
}

.fadeL {
    -webkit-transform: translateX(-0.5rem);
    transform: translateX(-0.5rem)
}

@media screen and (max-width: 640px) {
    .fadeL {
        -webkit-transform: translateY(0.5rem);
        transform: translateY(0.5rem)
    }
}

body {
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 400;
    font-style: normal;
    font-size: .13rem;
    color: #3c3c3c;
    line-break: strict;
    position: relative;
    word-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    font-optical-sizing: auto
}

@media print,
screen and (min-width: 641px) {
    body {
        min-width: 1024px;
        letter-spacing: .007rem;
        line-height: 1.769
    }
}

@media screen and (max-width: 640px) {
    body {
        width: 100%;
        letter-spacing: 0.002rem;
        line-height: 1.8;
        overflow-x: hidden
    }
}

header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 990;
    height: 1rem;
    background: #fff
}

@media screen and (max-width: 640px) {
    header {
        height: 0.75rem
    }
}

header .header_wrap {
    width: 100%;
    height: 100%
}

header .header_wrap .header_wrap_inner {
    height: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0.13rem 1rem 0;
    line-height: 1
}

@media screen and (max-width: 640px) {
    header .header_wrap .header_wrap_inner {
        padding: 0.15rem
    }
}

@media print,
screen and (min-width: 641px) {
    header .header_wrap .header_wrap_inner .logo {
        width: 1.73rem
    }
}

@media screen and (max-width: 640px) {
    header .header_wrap .header_wrap_inner .logo {
        width: auto
    }
}

header .header_wrap .header_wrap_inner .logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media screen and (max-width: 640px) {
    header .header_wrap .header_wrap_inner .logo a {
        width: 1.63rem;
        height: 0.35rem;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

header .header_wrap .header_wrap_inner .logo a p {
    font-size: .098rem;
    letter-spacing: 0;
    margin-bottom: 0.03rem;
    font-weight: 500;
    white-space: nowrap
}

@media screen and (max-width: 640px) {
    header .header_wrap .header_wrap_inner .logo a p {
        margin-bottom: 0.03rem
    }
}

@media screen and (max-width: 640px) {
    header .header_wrap .header_wrap_inner .logo a img {
        width: 38.46154vw
    }
}

header .header_wrap .header_wrap_inner .header_right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 0.13rem
}

header .header_wrap .header_wrap_inner .header_right>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline
}

header .header_wrap .header_wrap_inner .header_right .tel_area {
    margin-right: 0.25rem
}

header .header_wrap .header_wrap_inner .header_right .tel_area p {
    display: block;
    font-size: .11rem;
    font-weight: 500;
    margin-right: 0.1rem;
    letter-spacing: 0
}

header .header_wrap .header_wrap_inner .header_right .tel_area a {
    display: block;
    font-size: .18rem;
    letter-spacing: 0
}

header .header_wrap .header_wrap_inner .header_right .tel_area a span {
    font-size: .24rem;
    letter-spacing: 0.05em
}

header .header_wrap .header_wrap_inner .header_bottom {
    width: 100%
}

header .header_wrap .header_wrap_inner .header_bottom ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

header .header_wrap .header_wrap_inner .header_bottom ul li {
    margin-right: 0.5rem
}

header .header_wrap .header_wrap_inner .header_bottom ul li:last-child {
    margin-right: 0
}

header .header_wrap .header_wrap_inner .header_bottom ul li a {
    font-size: .13rem
}

header .header_wrap .header_wrap_inner .header_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

header .header_wrap .header_wrap_inner .header_nav ul li {
    margin: 0 0.1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 0.15rem
}

header .header_wrap .header_wrap_inner .header_nav ul li:last-child {
    border-left: 1px solid rgba(59, 59, 59, 0.3);
    padding-left: 0.2rem
}

header .header_wrap .header_wrap_inner .header_nav ul li:last-child select {
    font-family: parlare, sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url(../img/common/arrow_black2.svg);
    background-size: 0.14rem 0.14rem;
    background-repeat: no-repeat;
    background-position: right 0.05rem center;
    width: 0.4rem;
    margin-left: 0.05rem
}

header .header_icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: 0.09rem
}

header .header_icon li a {
    display: block;
    position: relative;
    height: 9.48718vw
}

header .header_icon li a img {
    display: block;
    width: 100%;
    margin: 0 auto
}

header .header_icon li a span {
    position: absolute;
    top: auto;
    left: 50%;
    bottom: 0.03rem;
    white-space: nowrap;
    font-size: .1rem;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    line-height: 1;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 400;
    font-style: normal
}

header .header_icon li:nth-child(1) {
    width: 0.1431rem;
    margin-right: 0.37rem
}

header .header_icon li:nth-child(2) {
    width: 0.1457rem;
    margin-right: 0.54rem
}

header .hamburger {
    display: block;
    position: fixed;
    z-index: 70;
    right: 0.15rem;
    top: 0.24rem;
    width: 7.69231vw;
    height: 9.23077vw;
    cursor: pointer;
    text-align: center;
    z-index: 9999
}

header .hamburger span {
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: #3c3c3c;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out
}

header .hamburger span:nth-child(1) {
    top: 0
}

header .hamburger span:nth-child(2) {
    top: 0.075rem
}

header .hamburger span:nth-child(3) {
    top: 0.16rem
}

header .hamburger i {
    position: absolute;
    top: auto;
    left: 50%;
    bottom: 0.03rem;
    white-space: nowrap;
    font-size: .1rem;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    line-height: 1
}

header .hamburger.active span:nth-child(1) {
    top: 0.075rem;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

header .hamburger.active span:nth-child(2) {
    opacity: 0
}

header .hamburger.active span:nth-child(3) {
    top: 0.075rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

header .hamburger.active i {
    font-size: 0
}

header .hamburger.active i::before {
    font-size: .1rem;
    content: 'CLOSE'
}

header .menu_wrap {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    overflow-y: auto;
    padding: 0;
    height: calc(100vh - 0.75rem);
    height: calc(100dvh - 0.75rem);
    width: 100%;
    background-color: #fff;
    position: fixed;
    z-index: 900;
    top: 0.75rem;
    left: 0;
    opacity: 0;
    transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
    -webkit-transition: opacity .3s ease, visibility .3s ease;
    transition: opacity .3s ease, visibility .3s ease;
    pointer-events: none
}

header .menu_wrap.active {
    opacity: 100;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    pointer-events: auto
}

header .menu_wrap .menu_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: static
}

header .menu_wrap .menu_inner .menu_right {
    width: 100%;
    padding: 0.38rem 0.3rem 0;
    min-height: calc(100vh - 0.75rem);
    height: 100%
}

header .menu_wrap .menu_inner .menu_right .menu_btn .btn {
    margin-bottom: .1rem
}

header .menu_wrap .menu_inner .menu_right .menu_btn .btn:last-child {
    margin-bottom: 0
}

header .menu_wrap .menu_inner .menu_right .menu_link {
    padding: 0.4rem 0.1rem
}

header .menu_wrap .menu_inner .menu_right .menu_contact .logo {
    margin-top: 0.18rem;
    width: 1.339rem
}

header .menu_wrap .menu_inner .menu_right .menu_contact .contact_tel {
    margin-top: 0.03rem
}

header .menu_wrap .menu_inner .menu_right .menu_contact .contact_tel p {
    font-size: .12rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.5
}

header .menu_wrap .menu_inner .menu_right .menu_contact .contact_tel p span {
    font-size: .17rem;
    letter-spacing: 0.05em
}

header .menu_wrap .menu_inner .menu_right .menu_contact .contact_tel p.time {
    margin-top: 0.06rem
}

header .menu_wrap .menu_inner .menu_right .menu_contact .contact_tel .sns_link {
    margin-top: 0.15rem
}

.pagination {
    text-align: center;
    margin-top: 0.75rem
}

@media screen and (max-width: 640px) {
    .pagination {
        margin-top: 0.6rem
    }
}

.pagination ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.pagination ul li {
    margin-right: 0.1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width: 640px) {
    .pagination ul li {
        margin-right: 0.02rem
    }
}

.pagination ul li:last-child {
    margin-right: 0
}

.pagination ul li>* {
    padding: 0.1rem;
    display: block;
    font-size: .22rem;
    letter-spacing: 0;
    line-height: 1
}

@media screen and (max-width: 640px) {
    .pagination ul li>* {
        font-size: .18rem
    }
}

.pagination ul li.arw a {
    font-size: .16rem
}

@media screen and (max-width: 640px) {
    .pagination ul li.arw a {
        font-size: .15rem
    }
}

#other_contents {
    padding: 1.8rem 0 0
}

@media screen and (max-width: 640px) {
    #other_contents {
        padding: 0.65rem 0 0
    }
}

#other_contents .oc_wrapper {
    margin: 0 auto
}

@media print,
screen and (min-width: 641px) {
    #other_contents .oc_wrapper {
        width: 13.58rem
    }
}

@media screen and (max-width: 640px) {
    #other_contents .oc_wrapper {
        padding: 0 0.3rem 0
    }
}

@media print,
screen and (min-width: 641px) {
    #other_contents .oc_wrapper .oc_list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    #other_contents .oc_wrapper .oc_list>li {
        width: 4.19rem;
        margin-right: 0.505rem
    }

    #other_contents .oc_wrapper .oc_list>li:nth-child(3n) {
        margin-right: 0
    }
}

@media screen and (max-width: 640px) {
    #other_contents .oc_wrapper .oc_list li:nth-child(n+2) a {
        border-top: none
    }
}

#other_contents .oc_wrapper .oc_list li a {
    border-top: 1px solid #767676;
    border-bottom: 1px solid #767676;
    padding: 0.2rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

@media screen and (max-width: 640px) {
    #other_contents .oc_wrapper .oc_list li a {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch
    }
}

#other_contents .oc_wrapper .oc_list li a:after {
    content: '';
    display: block;
    position: absolute;
    right: 0
}

@media print,
screen and (min-width: 641px) {
    #other_contents .oc_wrapper .oc_list li a:after {
        width: 0.27rem;
        height: 0.27rem;
        border-right: 1px solid #767676;
        border-bottom: 1px solid #767676;
        -webkit-transform: scale(0.8, 1) translateY(-50%) rotate(-45deg);
        transform: scale(0.8, 1) translateY(-50%) rotate(-45deg);
        top: 50%
    }
}

@media screen and (max-width: 640px) {
    #other_contents .oc_wrapper .oc_list li a:after {
        width: 0.6245rem;
        height: 0.0712rem;
        background-image: url("../img/common/arw_sp.svg");
        background-repeat: no-repeat;
        background-size: contain;
        background-position: bottom right;
        bottom: 0.2rem
    }
}

#other_contents .oc_wrapper .oc_list li a>figure {
    width: 33.17%
}

@media screen and (max-width: 640px) {
    #other_contents .oc_wrapper .oc_list li a>figure {
        width: 30.3%
    }
}

#other_contents .oc_wrapper .oc_list li a>figure img {
    height: auto
}

#other_contents .oc_wrapper .oc_list li a>div {
    width: 62.05%
}

@media screen and (max-width: 640px) {
    #other_contents .oc_wrapper .oc_list li a>div {
        width: 65.75%
    }
}

#other_contents .oc_wrapper .oc_list li a>div .name {
    color: #73a470;
    margin-bottom: 0.2rem
}

@media screen and (max-width: 640px) {
    #other_contents .oc_wrapper .oc_list li a>div .name {
        margin-bottom: 0.1rem
    }
}

#other_contents .oc_wrapper .oc_list li a>div .name h3 {
    font-size: .24rem;
    font-family: "the-seasons", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    letter-spacing: 0.08em;
    line-height: 1
}

@media screen and (max-width: 640px) {
    #other_contents .oc_wrapper .oc_list li a>div .name h3 {
        font-size: .17rem
    }
}

#other_contents .oc_wrapper .oc_list li a>div .name p {
    font-size: .15rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
    margin-top: 0.05rem
}

@media screen and (max-width: 640px) {
    #other_contents .oc_wrapper .oc_list li a>div .name p {
        font-size: .13rem
    }
}

#other_contents .oc_wrapper .oc_list li a>div>p {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: .16rem;
    letter-spacing: 0;
    line-height: 1.875
}

@media screen and (max-width: 640px) {
    #other_contents .oc_wrapper .oc_list li a>div>p {
        font-size: .12rem;
        line-height: 1.5833
    }
}

#contact .contact_wrap {
    background-image: url(../img/top/contact_bg.jpg);
    width: 100%;
    height: 5rem;
    background-size: cover;
    background-position: center;
    text-align: center;
    color: #fff;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.9);
    padding: 0.65rem 0;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
    font-weight: 400;
    font-style: normal
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap {
        background-image: url(../img/top/contact_bg_sp.jpg);
        height: 6.8rem;
        padding: 0.5rem 0
    }
}

#contact .contact_wrap .main_ttl {
    color: #fff;
    text-align: center;
    text-shadow: none
}

#contact .contact_wrap .link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0.38rem 0 0.55rem
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .link {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 0 0.4rem;
        margin: 0.2rem 0 0.28rem
    }
}

#contact .contact_wrap .link li {
    margin: 0 0.05rem
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .link li {
        width: calc(50% - 0.02rem);
        margin: 0 0 0.05rem
    }
}

#contact .contact_wrap .link li:first-child {
    text-shadow: none
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .link li:first-child {
        width: 100%
    }
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .link li:first-child a {
        width: 100%
    }
}

#contact .contact_wrap .link li a {
    width: 2.8rem
}

@media print,
screen and (min-width: 641px) {
    #contact .contact_wrap .link li a:hover {
        text-shadow: none
    }
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .link li a {
        width: 100%;
        display: block
    }
}

#contact .contact_wrap .contact_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    max-width: 8.6rem;
    margin: 0 auto
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .contact_info {
        display: block
    }
}

#contact .contact_wrap .contact_info .contact_tel {
    border-right: 1px solid #fff;
    padding-right: 0.55rem;
    margin-right: 0.55rem
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .contact_info .contact_tel {
        border-right: 0;
        padding-right: 0;
        margin-right: 0
    }
}

#contact .contact_wrap .contact_info .contact_tel dt {
    font-size: .18rem
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .contact_info .contact_tel dt {
        font-size: .15rem
    }
}

#contact .contact_wrap .contact_info .contact_tel dd.tel {
    font-family: "Shippori Mincho B1", serif;
    font-weight: 400;
    font-style: normal
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .contact_info .contact_tel dd.tel {
        border: 1px solid #fff;
        width: 3.1rem;
        margin: 0.1rem auto;
        height: 0.5rem;
        line-height: 0.5rem
    }
}

#contact .contact_wrap .contact_info .contact_tel dd.tel a {
    font-size: .18rem
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .contact_info .contact_tel dd.tel a {
        font-size: .13rem
    }
}

#contact .contact_wrap .contact_info .contact_tel dd.tel a span {
    font-size: .34rem;
    letter-spacing: 0.03rem
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .contact_info .contact_tel dd.tel a span {
        font-size: .26rem
    }
}

#contact .contact_wrap .contact_info .contact_access {
    text-align: left
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .contact_info .contact_access {
        text-align: center;
        margin-top: 0.3rem
    }
}

#contact .contact_wrap .contact_info .contact_access p {
    margin-bottom: 0.15rem
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .contact_info .contact_access p {
        margin-bottom: .155rem;
        line-height: 1.56
    }
}

#contact .contact_wrap .contact_info .contact_access p a {
    margin-left: 0.1rem
}

@media screen and (max-width: 640px) {
    #contact .contact_wrap .contact_info .contact_access p a {
        margin-left: 0;
        display: block
    }
}

#contact .contact_wrap .contact_info .contact_access a {
    text-decoration: underline
}

#contact .contact_wrap .contact_info .contact_access a img {
    width: 0.12rem
}

footer {
    background: #f5f9f5
}

footer .breadcrumbs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0.04rem 0.2rem 0.03rem;
    border-bottom: 1px solid #fff;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
    font-weight: 400;
    font-style: normal
}

@media screen and (max-width: 640px) {
    footer .breadcrumbs {
        padding: 0.04rem 0.1rem 0.03rem
    }
}

footer .breadcrumbs li a::after {
    content: ">";
    padding: 0 0.05rem
}

footer .footer_inner {
    padding: 1.05rem 1rem 1rem 1.7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (min-width: 641px) and (max-width: 1550px) {
    footer .footer_inner {
        padding-left: 1rem
    }
}

@media screen and (max-width: 640px) {
    footer .footer_inner {
        display: block;
        padding: 0.37rem 0.3rem 0.3rem
    }
}

footer .footer_inner .footer_contact .logo {
    display: block;
    margin: 0 0 1rem;
    width: 1.75rem
}

@media screen and (max-width: 640px) {
    footer .footer_inner .footer_contact .logo {
        width: 0.78rem;
        margin: 0 auto 0.3rem
    }
}

@media print,
screen and (min-width: 641px) {
    footer .footer_inner .footer_right {
        width: 6.95rem
    }
}

@media screen and (max-width: 640px) {
    footer .footer_inner .footer_right {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

@media screen and (max-width: 640px) {
    footer .footer_inner .footer_right .footer_link {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
}

@media print,
screen and (min-width: 641px) {
    footer .footer_inner .footer_right .footer_link {
        width: 4.4rem;
        margin: 0 auto
    }
}

@media print,
screen and (min-width: 641px) {
    footer .footer_inner .footer_right .footer_link .menu_link {
        padding: 0.2rem 0 0
    }
}

@media screen and (max-width: 640px) {
    footer .footer_inner .footer_right .footer_link .menu_link {
        padding: 0 0.1rem 0.3rem
    }
}

@media print,
screen and (min-width: 641px) {
    footer .footer_inner .footer_right .footer_link .menu_link li a {
        font-size: .18rem
    }
}

footer .footer_inner .footer_right .footer_link .menu_link li.ngt_left a {
    margin-left: -0.1em
}

@media screen and (max-width: 640px) {
    footer .footer_inner .footer_right .sns_link {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        margin-top: 0.2rem
    }
}

@media print,
screen and (min-width: 641px) {
    footer .footer_inner .footer_right .sns_link {
        margin-top: 0.53rem;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

footer .footer_inner .footer_right .btn_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width: 640px) {
    footer .footer_inner .footer_right .btn_area {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    footer .footer_inner .footer_right .btn_area .btn {
        margin-top: 0.1rem;
        width: 100%
    }

    footer .footer_inner .footer_right .btn_area .btn:first-child {
        margin-top: 0
    }

    footer .footer_inner .footer_right .btn_area .btn a {
        display: block;
        width: 100%
    }
}

@media print,
screen and (min-width: 641px) {
    footer .footer_inner .footer_right .btn_area {
        margin-top: 0.43rem;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    footer .footer_inner .footer_right .btn_area .btn {
        width: 32.3%
    }

    footer .footer_inner .footer_right .btn_area .btn a {
        display: block;
        padding-left: 0;
        padding-right: 0
    }
}

@media screen and (min-width: 641px) and (min-width: 641px) and (max-width: 1550px) {
    footer .footer_inner .footer_right .btn_area .btn a {
        font-size: .15rem
    }
}

@media screen and (max-width: 640px) {
    footer .footer_inner .footer_info {
        margin-top: 0.3rem
    }
}

footer .footer_inner .footer_info p {
    font-size: .13rem;
    font-weight: 500
}

@media print,
screen and (min-width: 641px) {
    footer .footer_inner .footer_info p {
        font-size: .18rem;
        letter-spacing: 0.05em
    }
}

footer .footer_inner .footer_info p .tel {
    font-size: .12rem;
    letter-spacing: 0;
    white-space: nowrap;
    line-height: 1.1
}

@media print,
screen and (min-width: 641px) {
    footer .footer_inner .footer_info p .tel {
        font-size: .18rem;
        letter-spacing: 0
    }
}

footer .footer_inner .footer_info p .tel span:nth-child(1) {
    font-size: .1rem;
    letter-spacing: 0
}

@media print,
screen and (min-width: 641px) {
    footer .footer_inner .footer_info p .tel span:nth-child(1) {
        font-size: .22rem;
        letter-spacing: 0.05em
    }
}

footer .footer_inner .footer_info p .tel span:nth-child(2) {
    font-size: .18rem;
    letter-spacing: 0.05em
}

@media print,
screen and (min-width: 641px) {
    footer .footer_inner .footer_info p .tel span:nth-child(2) {
        font-size: .35rem;
        display: inline-block;
        margin-left: 0.25rem
    }
}

@media screen and (min-width: 1366px) and (max-width: 1550px) {
    footer .footer_inner .footer_info p .tel span:nth-child(2) {
        margin-left: 0.05rem
    }
}

footer .footer_inner .footer_info p:last-child {
    margin-top: 0.05rem
}

footer .footer_bottom {
    background: #e3ede2;
    color: #73a470;
    padding: 0.4rem 0.3rem 0.28rem
}

@media screen and (max-width: 640px) {
    footer .footer_bottom {
        padding: 0.25rem 0.3rem 0.8rem
    }
}

@media print,
screen and (min-width: 641px) {
    footer .footer_bottom ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media print,
screen and (min-width: 641px) {
    footer .footer_bottom ul li:nth-child(n+2) {
        margin-left: 1rem
    }
}

@media screen and (max-width: 640px) {
    footer .footer_bottom ul li:nth-child(n+2) {
        margin-top: 0.15rem
    }
}

footer .footer_bottom ul li a {
    line-height: 1;
    font-size: .11rem;
    letter-spacing: 0
}

@media print,
screen and (min-width: 641px) {
    footer .footer_bottom ul li a {
        font-size: .15rem
    }
}

footer .footer_bottom .copyright {
    text-align: center;
    font-size: .15rem;
    letter-spacing: 0.12em
}

@media print,
screen and (min-width: 641px) {
    footer .footer_bottom .copyright {
        margin-top: 0.4rem
    }
}

@media screen and (max-width: 640px) {
    footer .footer_bottom .copyright {
        font-size: .1rem;
        margin-top: 0.17rem;
        text-align: left
    }
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24
}

#fix_btn {
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s
}

@media screen and (max-width: 640px) {
    #fix_btn.active {
        position: fixed;
        width: 100%;
        bottom: 0;
        right: 0;
        z-index: 800;
        display: block;
        opacity: 1;
        pointer-events: auto
    }
}

#fix_btn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 0.576rem;
    background: #dca341
}

#fix_btn a:after {
    content: '';
    line-height: 1;
    display: inline-block;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    margin-left: 0.1rem;
    vertical-align: baseline;
    -webkit-transform: scale(0.8, 1) rotate(-45deg);
    transform: scale(0.8, 1) rotate(-45deg);
    width: 0.09rem;
    height: 0.09rem
}

#fix_btn a span {
    text-align: center;
    color: #fff;
    font-size: .15rem;
    letter-spacing: 0;
    line-height: 1;
    font-weight: 500
}

#to_top {
    position: fixed;
    right: 0.5rem;
    bottom: 0.7rem;
    width: 0.7rem;
    z-index: 888;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s
}

@media screen and (max-width: 640px) {
    #to_top {
        width: 0.4rem;
        bottom: 0.7rem;
        right: 0.15rem
    }
}

#to_top.active {
    pointer-events: auto;
    display: block;
    opacity: 1
}

#to_top img {
    display: block
}

@media print,
screen and (min-width: 641px) {
    body.under {
        padding-top: 1rem
    }
}

@media screen and (max-width: 640px) {
    body.under {
        padding-top: 0.75rem
    }
}

.under_mv {
    height: calc(100vh - 1rem);
    max-height: 9rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

@media screen and (max-width: 640px) {
    .under_mv {
        max-height: 3.4rem
    }
}

.ud_ttl {
    color: #73a470;
    margin-bottom: 0.3rem
}

@media screen and (max-width: 640px) {
    .ud_ttl {
        margin-bottom: 0.15rem;
        text-align: center
    }
}

.ud_ttl .en {
    font-size: .6rem;
    letter-spacing: 0.08em;
    font-family: "the-seasons", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    line-height: 1
}

@media screen and (max-width: 640px) {
    .ud_ttl .en {
        font-size: .3rem
    }
}

.ud_ttl .jp {
    font-family: "Shippori Mincho B1", serif;
    font-weight: 400;
    font-style: normal;
    font-size: .18rem;
    letter-spacing: 0;
    line-height: 1;
    margin-top: 0.1rem;
    font-weight: 500
}

@media screen and (max-width: 640px) {
    .ud_ttl .jp {
        font-size: .14rem;
        margin-top: 0.1rem
    }
}

.ud_ttl._center {
    text-align: center
}

.ud_midashi {
    font-size: .22rem;
    color: #73a470;
    letter-spacing: 0;
    line-height: 1.75;
    margin-bottom: 0.5rem
}

@media screen and (max-width: 640px) {
    .ud_midashi {
        font-size: .18rem;
        margin-bottom: 0.2rem;
        text-align: center
    }
}

.ud_ttl:last-child,
.ud_midashi:last-child {
    margin-bottom: 0
}

.under_sec_en {
    font-family: parlare, sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    font-size: .69rem;
    color: #b9d1b7;
    letter-spacing: 0;
    line-height: 1.3
}

@media screen and (max-width: 640px) {
    .under_sec_en {
        font-size: .23rem
    }
}

@media print,
screen and (min-width: 641px) {
    #photogallery {
        padding-top: 1.5rem
    }
}

@media screen and (max-width: 640px) {
    #photogallery {
        padding-top: 0.6rem
    }
}

#photogallery .photogallery_wrapper {
    margin: 0 auto
}

@media print,
screen and (min-width: 641px) {
    #photogallery .photogallery_wrapper {
        width: 12.5rem
    }
}

@media screen and (max-width: 640px) {
    #photogallery .photogallery_wrapper {
        width: 3.555rem
    }
}

#photogallery .gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media print,
screen and (min-width: 641px) {
    #photogallery .gallery li {
        width: 3.05rem;
        margin-right: 0.1rem
    }

    #photogallery .gallery li:nth-child(4n) {
        margin-right: 0
    }

    #photogallery .gallery li:nth-child(n+5) {
        margin-top: 0.1rem
    }
}

@media screen and (max-width: 640px) {
    #photogallery .gallery li {
        width: 1.15rem;
        margin-right: 0.0525rem
    }

    #photogallery .gallery li:nth-child(3n) {
        margin-right: 0
    }

    #photogallery .gallery li:nth-child(n+4) {
        margin-top: 0.0525rem
    }
}

.lum-lightbox {
    z-index: 20000
}

.lum-lightbox-inner img {
    display: inline-block;
    width: auto;
    height: 100%;
    margin: auto;
    -o-object-fit: fill;
    object-fit: fill;
    -o-object-fit: contain;
    object-fit: contain
}

.lum-previous-button,
.lum-next-button {
    background-color: #73a470 !important
}

/*# sourceMappingURL=common.min.css.map */