@charset "UTF-8";

:root {
    --color-pale-corporated: #E7EFEE;
    --color-blue-corporated: #E2EEED;

    --color-primary: #444;
    --color-alert: #bb1285;
    --color-attention: #9A6C84;
    --color-list: #a9afaf;
    --color-basic: #222;
    --color-dark: #6C6A63;
    --color-light: #EEE;
    --color-pale: #F5F5F5;
    --color-non: #FFF;

    --color-level0: #666;
    --color-level1: #777;
    --color-level2: #888;
    --color-here: #DDD;
    --color-inner-here: #FFF;

    --font-family-ja: "游ゴシック Medium", Yu Gothic Medium, "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'PingFang SC', 'Microsoft YaHei', 'PingFang TC', 'Microsoft JhengHei', sans-serif;
    --font-family-ja-min: 'Noto Serif JP', "游明朝", "YuMincho", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
    --font-family-en: "Cormorant", serif;

    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    --box-shadow: rgba(50, 50, 93, 0.1) 0px 13px 27px -5px, rgba(0, 0, 0, 0.15) 0px 8px 16px -8px;
    --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
    --border-radius: 5px;
    /*
    --box-shadow: 0 4rem 3rem -2rem hsl(200deg 0% 50% / 30%);
    --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
    --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
    */
    --d: 700ms;
    --e: cubic-bezier(0.19, 1, 0.22, 1);
}

:where(.contents-area) a {
    display: inline-block;
    transition: all 0.2s ease-in-out;
}

*,
*:before,
*:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

ul,
ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul[class],
ol[class] {
    list-style: none;
    padding: 0;
    margin: 0;
}

:-webkit-any-link {
    color: var(--color-basic);
}

:-moz-any-link {
    color: var(--color-basic);
}

:any-link {
    color: var(--color-basic);
}

a {
    text-decoration: none;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    cursor: pointer;
}

/*a:hover,*/
a.button:hover,
a.icon:hover {
    text-decoration: none;
    opacity: .75;
}

@media (min-width: 1025px) {

    a[href^="tel:"] {
        pointer-events: none;
    }

    /*
    .top-block a {
        position: relative;
    }

    .top-block a::after {
        position: absolute;
        left: 0;
        content: '';
        width: 100%;
        height: 2px;
        background: var(--color-0);
        bottom: -1px;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: transform 0.3s;
    }

    .top-block a:hover::after {
        transform: scale(1, 1);
    }
    */
}

::-moz-selection {
    background: var(--color-light);
}

::selection {
    background: var(--color-light);
}

*:focus {
    outline: none;
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 62.5%;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
}

body {
    font-family: var(--font-family-ja);
    font-size: 1.4rem;
    line-height: 1.4;
    /*font-size: clamp(1.2rem, 1vw, 1.6rem);
    line-height: 1.6;*/
    font-weight: 400;
    color: var(--color-basic);
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
    /*overflow: hidden;*/
    scrollbar-gutter: stable;
}

h1 {
    font-family: var(--font-family-ja-min);
    font-size: 2.4rem;
    /*font-size: clamp(1.8rem, 1.541rem + 1.3vw, 3rem);
    line-height: 1.8;*/
    font-weight: 400;
    padding: 2rem 0;
    margin: 0;
}

h2 {
    font-family: var(--font-family-ja-min);
    font-size: clamp(2.2rem, 2.016rem + 0.75vw, 2.6rem);
    /*font-size: clamp(1.6rem, 1.427rem + 0.86vw, 2.4rem);
    line-height: 1.6;*/
    font-weight: 400;
    padding: 3rem 0;
    margin: 0;
}

h3 {
    font-family: var(--font-family-ja-min);
    font-size: clamp(1.6rem, 1.554rem + 0.19vw, 1.7rem);
    /*font-size: clamp(1.6rem, 1.514rem + 0.43vw, 2rem);
    line-height: 1.4;*/
    font-weight: 400;
    padding: 2rem 0 0;
    margin: 0;
}

h1 span,
h2 span,
h3 span {
    font-family: var(--font-family-en);
    line-height: 1;
    letter-spacing: .05rem;
}

h1 span {
    display: block;
    font-size: 1.8rem;
    margin: 0 1rem .3rem 0;
}

h2 span {
    font-size: clamp(1.6rem, 1.514rem + 0.43vw, 2rem);
    margin-right: 1rem;
}

h2.db span {
    display: block;
}

h2.reverse {
    font-size: 1.8rem;
}

h2.reverse span {
    display: block;
    font-size: clamp(3.4rem, 2.941rem + 1.88vw, 4.4rem);
}

h3 span {
    font-size: 1.5rem;
    line-height: 1.2;
}

h3.db span {
    display: block;
}

h3.size-L {
    font-family: var(--font-family-ja-min);
    font-size: clamp(1.8rem, 1.708rem + 0.38vw, 2rem);
    padding: 2rem 0 0;
    margin: 0;
    line-height: 1.6;
}

@media (min-width: 821px) {
    /*
    h1 span {
        font-size: 2rem;
    }

    h2 {
        font-size: clamp(2rem, 2vw, 3.6rem);
    }

    h3 span {
        font-size: 1.6rem;
    }
*/
}


h2.center+p {
    text-align: center;
}

p {
    margin: 1rem 0 2rem;
    line-height: 2;
    font-size: 1.5rem;
}

p span {
    font-weight: 400;
    /*vertical-align: middle;*/
    /*margin: 0 .5rem;*/
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border-style: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.contents-img img {
    border-radius: 6px;
}

.responsive {
    display: block;
    margin: auto;
    /**************************************
    margin-left: auto;
    margin-right: auto;
**************************************/
}

.center {
    display: block;
    text-align: center;
}

.right {
    display: block;
    text-align: right;
}

.lead {
    font-family: var(--font-family-ja-min);
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 500;
}

.alert {
    color: var(--color-alert);
    font-weight: 400;
}

.note li {
    line-height: 1.6;
    display: flex;
    align-items: baseline;
}

.note li:before {
    content: "※";
    margin-right: 0.5em;
}

.title {
    border-top: 1px solid var(--color-light);
    border-bottom: 1px solid var(--color-light);
    padding: 2rem 0;
    /*margin: 0 0 2rem;*/
}

.marker {
    background: linear-gradient(transparent 40%, yellow 0%);
}

.mitaka .marker {
    margin: 0 0 0 .5rem;
}

.sp {
    display: block !important;
}

.pc {
    display: none !important;
}

@media (min-width: 821px) {

    .sp {
        display: none !important;
    }

    .pc {
        display: block !important;
    }

}

.font-min {
    font-family: var(--font-family-ja-min);
}

/*//////////////////// LOADER ////////////////////////*/

.spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 999;
    background: var(--color-non);
}

.spinner::after {
    content: "";
    height: 60px;
    width: 60px;
    border: 1px solid var(--color-basic);
    border-radius: 50%;
    border-right: 1px solid rgba(0, 0, 0, 0.2);
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    animation: spinner 0.5s linear infinite;
    -webkit-animation: spinner 0.5s linear infinite;
}

@-webkit-keyframes spinner {

    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }

}

@keyframes spinner {

    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }

}

/*//////////////////// BREADCRUMB TOPICPATH 

.breadcrumb {
    margin: auto 0 2rem;
}

.breadcrumb ul.topicpath {
    display: flex;
    justify-content: end;
    flex-wrap: wrap;
    font-size: 1.2rem;
    width: 100%;
}

.breadcrumb ul.topicpath li:not(:first-of-type) {
    margin: 0 0 0 0.2rem;
}
////////////////////////*/

/*//////////////////// PAGINATION ////////////////////////*/

.pagination {
    position: relative;
    display: flex;
    justify-content: center;
    font-family: var(--font-family-en);
    text-align: center;
    margin: 5rem 0;
}

.pagination .current {
    font-size: 1.6rem;
    font-weight: 600;
    padding: 1rem;
    margin: 0px .5rem;
    text-align: center;
    background: var(--color-basic);
    color: var(--color-non);
}

.pagination span {
    color: var(--color-dark);
    font-size: 1.8rem;
    line-height: 1.8;
    width: 45px;
    padding: 1rem;
    margin: 0px .5rem;
}

.pagination a {
    position: relative;
    color: var(--color-basic);
    font-size: 1.8rem;
    line-height: 1.8;
    width: 45px;
    padding: 1rem;
    margin: 0px .5rem;
}

.prev {
    position: relative;
    color: var(--color-basic);
    font-size: 1.6rem;
    line-height: 1.8;
    padding: 1rem 0 1rem 5rem;
    font-weight: 600;
    padding: 1rem 1rem 1rem 4rem !important;
}

.prev::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    width: 40px;
    height: 40px;
    transition: .2s;
    background: var(--color-corporate-dark);
    border-radius: 50%;
}

.prev::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(10px, -50%);
    width: 20px;
    height: 20px;
    background: url(../../content/images/icon_arrowL.svg) no-repeat center center / contain;
    /*filter: invert(1);*/
}

.next {
    position: relative;
    color: var(--color-basic);
    font-size: 1.6rem;
    line-height: 1.8;
    padding: 1rem 5rem 1rem 0;
    font-weight: 600;
}

.next::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
    width: 40px;
    height: 40px;
    transition: .2s;
    background: var(--color-corporate-dark);
    border-radius: 50%;
}

.next::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(-10px, -50%);
    width: 20px;
    height: 20px;
    background: url(../../content/images/icon_arrowR.svg) no-repeat center center / contain;
}

.down {
    position: relative;
    color: var(--color-basic);
    font-size: 1.8rem;
    line-height: 1.8;
    padding: 1rem 5rem 1rem 0;
}

.down::after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 20px;
    height: 20px;
    background: url(../../content/images/icon_arrow_online.svg) no-repeat center center / contain;
}

/*//////////////////// DITTO ////////////////////////*/

#breadcrumbnav {
    padding: 1rem 0 4rem;
    font-size: 1.2rem;
}

.noresults {
    position: absolute;
    left: 0;
    width: 100%;
    padding: 2rem 0;
    text-align: center;
}

.paginate {
    display: flex;
    justify-content: center;
    margin: 4rem 0;
}

.paginate .ditto_currentpage {
    border: 1px solid var(--color-basic);
    background: var(--color-basic);
    font-size: 1.4rem;
    color: var(--color-non);
    padding: 1rem;
    margin: 0px .5rem;
    width: 45px;
    text-align: center;
}

.paginate a,
.paginate a:link,
.paginate a:visited {
    border: 1px solid #EEE;
    font-size: 1.4rem;
    color: var(--color-basic);
    padding: 1rem;
    margin: 0px .5rem;
    width: 45px;
    text-align: center;
}

.paginate a.ditto_next_link,
.paginate a.ditto_previous_link {
    color: #444;
    border: none;
    padding: 1rem;
}

/*//////////////////// SCL ////////////////////////*/

.scl {
    display: none;
    position: fixed;
    right: 20px;
    bottom: 100px;
    width: 48px;
    height: 48px;
    cursor: pointer;
    z-index: 3;
}

/*//////////////////// LAYOUT ////////////////////////*/

main {
    position: relative;
    padding: 7rem 0 0;
}

.e1 main {
    padding: 0;
}

.container {
    width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem
}

.w-460 {
    max-width: 460px;
}

@media (min-width: 821px) {

    .container {
        max-width: 1480px;
    }

    .offset {
        max-width: 1280px;
        margin: 0 auto;
    }

    .offset-1000 {
        max-width: 1000px;
        margin: 0 auto;
    }

}

/*//////////////////// LAYOUT grid ////////////////////////*/

.grid-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.grid-wrap .contents-img {
    padding-top: 62.5%;
}

.grid-wrap.col12,
.grid-wrap.col123,
.grid-wrap.col124,
.grid-wrap.col1234 {
    grid-template-columns: repeat(1, 1fr);
}

.grid-wrap.col23,
.grid-wrap.col24,
.grid-wrap.col235 {
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 821px) {

    .grid-wrap {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }

    .rel .grid-wrap {
        gap: 2%;
    }

    .grid-wrap.col12 {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 5%;
    }

    .grid-wrap.col123,
    .grid-wrap.col124,
    .grid-wrap.col1234 {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid-wrap.col23,
    .grid-wrap.col235 {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media (min-width: 768px) {

    .grid-wrap.col1234 {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media (min-width: 1080px) {

    .grid-wrap.col123 {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid-wrap.col124,
    .grid-wrap.col1234 {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid-wrap.col24 {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid-wrap.col235 {
        grid-template-columns: repeat(5, 1fr);
    }

    .grid-wrap.col1234 {
        column-gap: 2%;
    }

}

@media (min-width: 821px) {

    .odd .grid-wrap:nth-child(odd) .contents-img,
    .even .grid-wrap:nth-child(even) .contents-img {
        order: 1;
    }

    .odd .grid-wrap:nth-child(even) .contents-img,
    .even .grid-wrap:nth-child(odd) .contents-img {
        order: 2;
    }

}

/*//////////////////// FLEX ////////////////////////*/

.contents-box,
.contents-img,
.contents-text {
    position: relative;
}

@media (min-width: 821px) {

    .contents-wrap {
        display: flex;
        gap: 30px;
    }

    .e1 .head-block .contents-wrap {
        gap: 0;
    }

    .contents-wrap>.contents-img {
        width: 60%;
    }

    .contents-wrap>.contents-text {
        width: 40%;
    }

    .odd .contents-wrap,
    .even .contents-wrap {
        align-items: center;
    }

    .odd>.contents-wrap:nth-child(odd),
    .even>.contents-wrap:nth-child(even) {
        flex-direction: row-reverse;
    }

}

/*//////////////////// INNER CONTENTS ////////////////////////*/

@media (min-width: 821px) {

    .inner-contents {
        position: relative;
        width: 90%;
        margin: auto;
    }

}

/*//////////////////// GUTTER ////////////////////////*/

.mt1 {
    margin: .5rem 0 0;
}

.mt2 {
    margin: 1rem 0 0;
}

.mt3 {
    margin: 1.5rem 0 0;
}

.mt {
    margin: 3rem auto 0;
}

.mt10 {
    margin: 5rem auto 0;
}

.mb {
    margin: 0 0 3rem;
}

.mtb {
    margin: 3rem 0;
}

@media (min-width: 821px) {

    .mt1 {
        margin: 1rem 0 0;
    }

    .mt2 {
        margin: 2rem 0 0;
    }

    .mt3 {
        margin: 3rem 0 0;
    }

    .mt {
        margin: 6rem auto 0;
    }

    .mt10 {
        margin: 10rem auto 0;
    }

    .mb {
        margin: 0 0 6rem;
    }

    .mtb {
        margin: 6rem 0;
    }

}

/*//////////////////// CATEGORY ////////////////////////*/

.category .inner-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.category .inner-wrap li {
    padding: 0 1rem;
    margin: 0 0 1rem;
    border-right: 1px solid var(--color-basic);
}

.category .inner-wrap li .button {
    background: var(--color-non);
    color: var(--color-basic);
    border: none;
    padding: 0;
    min-width: auto;
}

.category .inner-wrap li:first-child {
    border-left: 1px solid var(--color-basic);
}


@media (min-width: 821px) {
    .category .inner-wrap li .button {
        min-width: 150px;
    }
}

/*//////////////////// LIST COL2 ////////////////////////*/

ul.col2 {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.col2>li {
    width: 100%;
}

ul.col2>li:nth-child(2n) {
    padding: 1rem;
    border-bottom: 1px solid var(--color-light);
}

ul.col2>li:nth-child(2n+1) {
    padding: 2rem 1rem;
    border-bottom: 1px solid var(--color-light);
    font-weight: 500;
}

ul.col2 li ul {
    list-style: none;
    /*padding: 0;*/
}

ul.col2 li ul li,
ul.col2 li ol li {
    line-height: 2;
}

ul.col2.counter li span {
    display: block;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.6;
}

@media (min-width: 821px) {

    ul.col2 {
        display: flex;
        flex-wrap: wrap;
    }

    ul.col2>li:nth-child(2n) {
        width: 80%;
        padding: 2rem 1rem;
    }

    ul.col2>li:nth-child(2n+1) {
        width: 20%;
    }

    ul.col2.flat>li:nth-child(2n+1) {
        border-bottom: 1px solid var(--color-light);
    }

}

/*//////////////////// LIST COL3 ////////////////////////*/

ul.col3 {
    list-style: none;
    padding: 0;
}

ul.col3 li {
    width: 100%;
}

ul.col3 li:nth-child(3n) {
    padding: 2rem .5rem 0;
    margin: 0 0 3rem;
    border-bottom: 1px solid var(--color-light);
    /*font-size: 1.3rem;*/
}

ul.col3 li:nth-child(3n+1) {
    padding: 2rem .5rem 0;
    border-bottom: 2px solid var(--color-light);
    text-align: center;
    font-size: 1.5rem;
    line-height: 2rem;
}

ul.col3 li:nth-child(3n+2) {
    padding: 2rem .5rem 0;
    border-bottom: 1px solid var(--color-light);
}

@media (min-width: 821px) {

    ul.col3 {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
    }

    ul.col3 li:nth-child(3n) {
        width: 55%;
    }

    ul.col3 li:nth-child(3n+1) {
        width: 10%;
        margin: 0 0 3rem;
        text-align: left;
    }

    ul.col3 li:nth-child(3n+2) {
        width: 35%;
        padding: 2rem .5rem 0 1rem;
        margin: 0 0 3rem;
    }

}

/*//////////////////// PRIVACY POLICY ////////////////////////*/

section.privacy-policy {
    line-height: 2;
}

.privacy-policy ul,
.privacy-policy ol {
    padding: 0;
    list-style: none;
}

.privacy-policy ol {
    counter-reset: num 0;
    margin-left: 2rem;
}

.privacy-policy ol>li {
    position: relative;
    counter-increment: num 1;
    list-style: none;
    padding-left: .5rem;
    margin: 0 0 1rem;
}

.privacy-policy ol>li::before {
    position: absolute;
    left: -2rem;
}

.privacy-policy ol>li::before {
    content: counter(num)'.';
}

.privacy-policy ol>li>ol>li::before {
    content: '(' counter(num)')';
}

.privacy-policy ul.lower-alpha {
    counter-reset: alphabet;
    margin-left: 2rem;
}

.privacy-policy ul.lower-alpha>li {
    position: relative;
    list-style-type: none;
    counter-increment: alphabet;
}

.privacy-policy ul.lower-alpha>li::before {
    position: absolute;
    left: -2rem;
    content: counter(alphabet, lower-alpha) ')';
}

.privacy-policy ol.nc {
    margin: 0;
    padding: 0;
}

.privacy-policy ul.lower-alpha ol>li::before {
    content: counter(num)')';
}

.privacy-policy ul.lower-alpha ol.nc>li::before {
    content: '';
}

/*//////////////////// MOTION ////////////////////////*/

.el>* {
    opacity: 0;
}

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

/*//////////////////// HEAD BLOCK ////////////////////////*/

.reservation dt span {
    display: block;
    font-size: 1.2rem;
}

/*//////////////////// HEADING ////////////////////////*/

@media (min-width: 821px) {

    .heading {
        padding: 2rem 1.5rem;
    }

    /*.heading .contents-wrap>* {
        width: 50%;
    }*/

    .heading .contents-wrap .contents-box:nth-child(1) {
        width: 40%;
    }

    .heading .contents-wrap .contents-box:nth-child(2) {
        width: 60%;
    }

    /*.heading .inner-contents {
        width: 50%;
    }*/

}

/*//////////////////// BREADCRUMB TOPICPATH ////////////////////////*/

.breadcrumb {
    text-align: right;
    padding: 0 1rem 1rem;
    margin: 2rem auto 1rem;
}

.breadcrumb ul.topicpath {
    overflow-x: auto;
    word-break: keep-all;
    white-space: nowrap;
    font-size: 1.2rem;
    width: 100%;
    padding: 0 0 .5rem;
}

.breadcrumb ul.topicpath li {
    display: inline-block;
}

.breadcrumb ul.topicpath::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

.breadcrumb ul.topicpath::-webkit-scrollbar-track {
    background: var(--color-pale);
}

.breadcrumb ul.topicpath::-webkit-scrollbar-thumb {
    background: var(--color-dark);
}

.breadcrumb ul.topicpath li:not(:first-of-type) {
    margin: 0 0 0 0.2rem;
}

/*//////////////////// BUTTON ////////////////////////*/

.button {
    position: relative;
    display: inline-block;
    align-content: center;
    text-decoration: none;
    /*text-transform: uppercase;*/
    /*text-align: center;*/
    background: var(--color-dark);
    font-family: var(--font-family-ja-min);
    color: var(--color-non);
    /*border: 1px solid var(--color-0);*/
    padding: 1.2rem 3rem;
    font-size: 1.6rem;
    line-height: 1;
    min-width: 250px;
    text-align: center;
}

.button span {
    font-family: var(--font-family-en);
    font-weight: 500;
    font-size: 1.3rem;
    margin-right: 1rem;
    letter-spacing: 0.05rem;
}

.button.outline {
    position: relative;
    margin-bottom: 0.2rem;
    padding: 1.2rem 1rem 2rem;
    color: var(--color-basic);
    background-color: var(--color-pale-corporated);
    font-family: var(--font-family-ja-min);
    font-size: 1.5rem;
    width: 100%;
    margin: 0 0 2rem;
}

.button.outline span {
    margin-right: 0;
    margin: 0 0 .5rem;
}

.button.outline::before {
    position: absolute;
    inset: -5px 5px 5px -5px;
    border: 1px solid var(--color-dark);
    content: '';
}

@media (min-width: 821px) {

    .introtext .container {
        border-bottom: 1px solid var(--color-light);
    }

    .introtext p {
        margin: 2rem 0;
    }

    .introtext p a {
        display: inline-block;
    }

}

/*//////////////////// BUTTON mark////////////////////////*/

.button.mark {
    letter-spacing: .1rem;
}

.button.mark.arrowT,
.button.mark.arrowR,
.button.mark.arrowD {
    padding: 0.5rem 4.8rem 0.5rem 3.6rem;
}

.button.mark.arrowL {
    padding: 0.5rem 3.6rem 0.5rem 4.8rem;
}

.button.mark.arrowR::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    right: 22px;
    transform: translateY(-50%) rotate(0);
    transition: .2s;
    background: url(../../content/images/icon_arrowR.svg) no-repeat center center/contain;
    filter: brightness(100);
}

.button.mark.arrowL::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 22px;
    transform: translateY(-50%) rotate(0);
    transition: .2s;
    background: url(../../content/images/icon_arrowL.svg) no-repeat center center/contain;
    filter: brightness(100);
}

.button.mark.arrowU::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    right: 10px;
    transform: translateY(-50%) rotate(0);
    transition: .2s;
    background: url(../../content/images/icon_arrowU.svg) no-repeat center center/contain;
    filter: brightness(100);
}

.button.mark.arrowD::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    right: 10px;
    transform: translateY(-50%) rotate(0);
    transition: .2s;
    background: url(../../content/images/icon_arrowD.svg) no-repeat center center/contain;
    filter: brightness(100);
}

.button.white.mark {
    background: var(--color-non);
    color: var(--color-basic);
}

.button.white.mark.arrowR::after,
.button.white.mark.arrowL::after,
.button.white.mark.arrowU::after,
.button.white.mark.arrowD::after {
    filter: brightness(0);
}

/*//////////////////// ICON ////////////////////////*/

.icon::before {
    font-weight: 400;
    margin: 0 .2rem 0 0;
}

.tel,
.fax,
.time {
    font-family: var(--font-family-ja-min);
    font-weight: 400;
}

@media (min-width: 821px) {

    .information .icon.tel span {
        font-size: 1.8rem;
    }

    .information .icon.tel::before {
        font-size: 2rem;
    }

}

/*//////////////////// BUTTON letter ////////////////////////*/

.button.letter {
    display: flex;
    align-items: center;
}

.button.letter::before {
    font-family: var(--font-family-en-serif);
    font-size: 2.4rem;
    font-weight: 500;
    margin: 0 .5rem 0 0;
    vertical-align: middle;
}

.button.letter.call::before {
    content: 'CALL';
}

.button.letter.contact::before {
    content: 'CONTACT';
}

/*//////////////////// AC ////////////////////////*/

dl.acMenu {
    position: relative;
    width: 100%;
}

dl.acMenu>dt {
    padding: 1rem;
    margin: 0;
}

dl.acMenu>dd {
    padding: 1rem;
    margin: 0 0 1rem;
}

@media (min-width:600px) {

    dl.acMenu>dt {
        width: 25%;
        padding: 0;
        margin: 0 0 1rem;
        background: 0 0;
        color: var(--color-basic);
        text-align: left;
        font-weight: 600;
    }

    dl.acMenu>dd {
        width: 75%;
        padding: 0;
    }

}

dl.acMenu>dt {
    position: relative;
    line-height: 1.6;
    cursor: pointer;
    font-weight: 400;
    width: 100%;
    text-align: left;
    background: #fff;
    color: var(--color-basic);
    border-bottom: 1px solid #f2f2f2;
}

dl.acMenu>dt::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    right: 10px;
    transform: translateY(-50%) rotate(0);
    transition: .2s;
    background: url(../../content/images/icon_toggle.svg) no-repeat center center/contain;
    filter: brightness(0);
}

dl.acMenu>dt.active {
    background: var(--color-bg);
}

dl.acMenu>dt.active:after {
    transform: translateY(-50%) rotate(90deg);
    transition: .2s;
}

dl.acMenu>dd {
    line-height: 1.6;
    display: none;
    padding: 2rem;
    width: 100%;
}

/*//////////////////// DL DT DD ////////////////////////*/

.contents-block dt {
    /*background: var(--color-pale);*/
    background: linear-gradient(270deg, rgba(245, 245, 245, 1) 0%, rgba(255, 255, 255, 1) 100%);
    color: var(--color-basic);
    font-weight: 400;
    text-align: left;
    padding: 1rem;
    margin: 0;
    font-family: var(--font-family-ja-min);
    font-size: 1.6rem;
}

.contents-block .bg.pale dt,
.contents-block .bg.pale dd {
    background: var(--color-non);
}

.contents-block dd {
    padding: 1rem 1rem 3rem;
    margin: 0;
}

@media (min-width: 821px) {

    .contents-block dl {
        display: flex;
        flex-wrap: wrap;
        line-height: 1.8;
    }

    .contents-block dt {
        width: 30%;
        border-bottom: 1px solid var(--color-light);
        text-align: left;
        padding: 3rem;
    }

    .contents-block dd {
        width: 70%;
        border-bottom: 1px solid var(--color-light);
        padding: 3rem;
    }

}

/*//////////////////// CONTACT ////////////////////////*/

.contact .contents-block dt {
    font-weight: 600;
}

.contact .contents-block dt {
    text-align: left;
    padding: 2.4rem 0 0;
}

.contact .contents-block dd {
    padding: 1rem 0 3rem;
    margin: 0;
}

.contact .contents-block dl {
    padding: 1rem;
    background: #fff;
    border-radius: 10px;
}

.contact .bg {
    padding: 4rem 0 6rem;
}

@media (min-width: 821px) {

    .contact .contents-block dl {
        margin: 0;
        padding: 3rem;
    }

    .contact .bg {
        padding: 8rem 0;
    }

    .contact .contents-block dd {
        padding: 2rem 1rem;
        margin: 0;
    }
}


/*//////////////////////////////////////////////////////////// 氷川花壇 top ////////////////////////////////////////////////////////////*/

/*//////////////////// CONTENTS-BLOCK ////////////////////////*/

.contents-block>*:not(.bg) {
    margin: 8rem auto;
}

/*//////////////////// HEAD BLOCK ////////////////////////*/

.head-block ul {
    display: flex;
    justify-content: center;
    /*gap: 2%;*/
    width: 100%;
}

.head-block ul li {
    width: 10%;
}

.head-block ul li a {
    letter-spacing: 0.2rem;
    writing-mode: vertical-rl;
    white-space: nowrap;
    text-orientation: mixed;
    font-family: var(--font-family-ja-min);
    font-size: 1.7rem;
    line-height: 1;
    margin: 0 .5rem 0;
}

.head-block .contents-inner .introtext {
    margin: 0;
}

.head-block .contents-wrap>.contents-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    margin: 4rem 0;
}

.head-block .contents-img {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    text-align: center;
}

.business .head-block .contents-img {
    align-items: center;
}

.head-block .contents-img .inner-contents {
    position: absolute;
    width: auto;
    padding: 4rem 1rem;
}

.head-block .contents-img .inner-contents span {
    display: block;
    color: var(--color-non);
    font-family: var(--font-family-en);
    font-size: clamp(3rem, 1.899rem + 4.52vw, 5.4rem);
    letter-spacing: 0.2rem;
    line-height: 1.2;
}

/*HEAD BLOCK GALLERY*/
.gallery .head-block .contents-img {
    align-items: center;
}

.gallery .head-block .contents-img .inner-contents span {
    display: block;
    color: #cfcfcf;
    font-family: var(--font-family-en);
    font-size: clamp(3rem, 1.624rem + 5.65vw, 6rem);
    letter-spacing: 0.2rem;
    line-height: 1.2;
}

.head-block .contents-img .inner-contents span.sub-copy {
    display: block;
    color: #cfcfcf;
    font-family: var(--font-family-en);
    font-size: clamp(1.4rem, 0.666rem + 3.01vw, 3rem);
    letter-spacing: 0.2rem;
    line-height: 1.2;
}

.gallery .head-block .contents-img .inner-contents {
    padding: 1rem 1rem 24rem;
}

@media (min-width: 821px) {

    .head-block .contents-wrap {
        justify-content: center;
        align-items: center;
        background: var(--color-non);
    }

    .head-block .contents-wrap>.contents-img {
        width: 70%;
    }

    .head-block .contents-wrap>.contents-text {
        width: 30%;
    }

    .head-block .contents-wrap>.contents-text .inner-contents {
        max-width: 80% !important;
        margin: auto;
    }

    .head-block .contents-wrap .contents-img {
        height: 100vh;
    }

    .head-block .inner-contents {
        padding: 6rem 1rem;
    }

    .gallery .head-block .contents-img .inner-contents {
        padding: 2rem 1rem 16rem;
    }

}

.about .head-block .contents-img {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/about/main_s.webp) no-repeat center center / cover;
    height: 500px;
}

.business .head-block .contents-img {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/business/main_s.webp) no-repeat center center / cover;
    height: 500px;
}

.business-altar .head-block .contents-img {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/business/altar/main_s.webp) no-repeat center center / cover;
    height: 500px;
}

.business-kyouka .head-block .contents-img {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/business/kyouka/main_s.webp) no-repeat center center / cover;
    height: 500px;
}

.business-arrange .head-block .contents-img {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/business/arrange/main_s.webp) no-repeat center center / cover;
    height: 500px;
}

.gallery .head-block .contents-img {
    background: url(/content/images/gallery/main_s.webp) no-repeat center center / cover;
    height: 500px;
}

.gallery-altar .head-block .contents-img {
    background: url(/content/images/gallery/altar/main_s.webp) no-repeat center center / cover;
    height: 300px;
}

.gallery-kyouka .head-block .contents-img {
    background: url(/content/images/gallery/kyouka/main_s.webp) no-repeat center center / cover;
    height: 300px;
}

.gallery-option .head-block .contents-img {
    background: url(/content/images/gallery/option/main_s.webp) no-repeat center center / cover;
    height: 300px;
}

.company .head-block .contents-img {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/company/main_s.webp) no-repeat center center / cover;
    height: 500px;
}

.recruit .head-block .contents-img {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/recruit/main_s.webp) no-repeat center center / cover;
    height: 500px;
}

@media (min-width: 821px) {

    .about .head-block .contents-img {
        height: 90vh;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/about/main.webp) no-repeat center center / cover;
    }

    .business .head-block .contents-img {
        height: 90vh;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/business/main.webp) no-repeat center center / cover;
    }

    .business-altar .head-block .contents-img {
        height: 90vh;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/business/altar/main.webp) no-repeat center center / cover;
    }

    .business-kyouka .head-block .contents-img {
        height: 90vh;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/business/kyouka/main.webp) no-repeat center center / cover;
    }

    .business-arrange .head-block .contents-img {
        height: 90vh;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/business/arrange/main.webp) no-repeat center center / cover;
    }

    .gallery .head-block .contents-img {
        height: 70vh;
        background: url(/content/images/gallery/main.webp) no-repeat center center / cover;
    }

    .gallery-altar .head-block .contents-img {
        height: 400px;
        background: url(/content/images/gallery/altar/main.webp) no-repeat center center / cover;
    }

    .gallery-kyouka .head-block .contents-img {
        height: 400px;
        background: url(/content/images/gallery/kyouka/main.webp) no-repeat center center / cover;
    }

    .gallery-option .head-block .contents-img {
        height: 400px;
        background: url(/content/images/gallery/option/main.webp) no-repeat center center / cover;
    }

    .company .head-block .contents-img {
        height: 90vh;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/company/main.webp) no-repeat center center / cover;
    }

    .recruit .head-block .contents-img {
        height: 90vh;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%), url(/content/images/recruit/main.webp) no-repeat center center / cover;
    }

}

/*//////////////////// HEADING ////////////////////////*/

.heading {
    padding: 6rem 0 5rem;
    margin: 0;
    border-bottom: 1px solid var(--color-light);
}

.e1 .heading {
    background: var(--color-pale);
}

.e1 .heading h1 {
    font-size: 1.4rem;
    font-family: var(--font-family-ja);
    line-height: 1.6;
    padding: 2rem 0 1rem;
}

.e1 .heading p.font-min {
    font-size: 1.8rem;
    line-height: 1.6;
}

@media (min-width: 821px) {

    .heading {
        padding: 8rem 0 7rem;
    }

    .heading .offset {
        max-width: 1100px;
        margin: 0 auto;
    }

    .heading p {
        margin: 0;
    }

}

/*//////////////////// TOP e1 ////////////////////////*/

.area {
    display: flex;
    gap: 20px;
    flex-direction: column;
}

.area a {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    color: var(--color-non);
    text-align: center;
    height: 300px;
    border-radius: 4px;
    padding: 2rem;
}

.area a.item_01 {
    grid-area: 1 / 1 / 3 / 2;
}

.area a.item_02 {
    grid-area: 2 / 2 / 4 / 3;
}

.area a.item_03 {
    grid-area: 3 / 1 / 5 / 2;
}

@media (min-width: 821px) {
    .area {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, 1fr);
        gap: 20px;
    }

    .area a {
        height: 400px;
    }
}

/*//////////////////// BG ////////////////////////*/

.bg {
    padding: 10rem 0;
}

.bg.dark {
    background: var(--color-basic);
    color: var(--color-non);
}

.bg.pale {
    background: var(--color-pale);
    color: var(--color-basic);
}

/*
.bg.img_01 {
    background: linear-gradient(0deg, rgba(0, 0, 0, .5) 100%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, .6)) 100%, url(/content/images/201/bg.jpg) no-repeat center center/cover fixed;
}*/


/*//////////////////// BG IMG_01 STICKY ////////////////////////*/
.bg.img_01 {
    position: relative;
    z-index: 0;
    isolation: isolate;
    overflow: clip;
    color: var(--color-non);
    padding: 0;
}

.bg.img_01::before {
    content: "";
    display: block;
    position: sticky;
    top: 0;
    height: 100vh;
    z-index: -1;
    background-image: url(/content/images/home/bg_sp.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transform: translateZ(0);
    will-change: transform;
    pointer-events: none;
}

.bg.img_01::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0) 100%);
}

.bg.img_01>* {
    position: relative;
    z-index: 1;
}

.bg.img_01 .space-bg {
    height: 14rem;
}

@media (min-width: 821px) {
    .bg.img_01::before {
        background-image: url(/content/images/home/bg.webp);
    }
}

/*//////////////////// BG IMG_01 STICKYここまで ////////////////////////*/

/*.bg.img_01 {
    color: var(--color-non);
    padding: 0;
}*/

.bg.img_01 .contents-box {
    margin: 10rem 0;
}

.bg.img_01 .contents-wrap {
    background: rgba(255, 255, 255, .2);
    backdrop-filter: blur(8px) brightness(1.5);
    -webkit-backdrop-filter: blur(8px) brightness(1.5);
    padding: 4rem 6%;
}

.bg.img_01 li {
    margin: 0 0 3rem;
    border-bottom: 1px solid #9a9a9a;
    padding: 0 0 3rem;
}

.bg.img_01 li a {
    display: flex;
    align-items: center;
    background: var(--color-non);
}

.bg.img_01 .button {
    background: rgba(0, 0, 0, .5);
    border: 1px solid #757575;
}

.bg.img_01 .contents-box .button {
    min-width: 240px;
    margin: 1rem 0.5rem;
}

.bg.img_01 .contents-wrap li a .contents-img {
    width: 40%;
    height: 110px;
}

.bg.img_01 .contents-wrap li h3 {
    padding: 0;
}

.bg.img_01 li a .contents-text {
    padding: 0 2rem;
}

.bg.img_01 .contents-wrap .contents-text:nth-of-type(1) {
    margin: 0 0 3rem;
}

@media (min-width: 821px) {

    .bg.img_01 .contents-wrap {
        padding: 4rem;
    }

    .bg.img_01 .contents-wrap .contents-text:nth-of-type(1) {
        width: 40%;
    }

    .bg.img_01 .contents-wrap .contents-img {
        width: 60%;
    }
}

@media (min-width: 1024px) {
    .bg.img_01 .contents-wrap {
        padding: 10rem;
    }
}

/*//////////////////// REL ////////////////////////*/

.rel {
    margin: 10rem 0;
}

.rel .button span {
    display: block;
}

/*//////////////////// REL CONTACT ////////////////////////*/

.rel-contact {
    border-top: 1px solid var(--color-light);
    /*text-align: center;*/
    padding: 0 0 4rem;
}

.rel-contact h2 {
    padding: 6rem 0 0 !important;
}

.rel-contact h2 span {
    margin-right: 0;
}

.rel-contact .contents-wrap {
    display: block;
    text-align: center;
}

.rel-contact a.icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.rel-contact a.tel {
    color: var(--color-basic);
    font-size: clamp(2.8rem, 2.433rem + 1.51vw, 3.6rem);
    background: none;
    border: none;
}

.rel-contact a.tel .contents-inner {
    font-family: var(--font-family-en-serif);
    font-size: 3.6rem;
    line-height: 1.2;
    padding: 0;
}

.rel-contact a.tel .contents-inner span {
    font-family: var(--font-family-ja);
    font-size: 1.2rem;
}

@media (min-width: 641px) {

    .rel-contact .contents-wrap {
        justify-content: center;
        align-items: center;
        display: flex;
        gap: 30px;
    }

}

/*//////////////////// ABOUT ////////////////////////*/

.about .bg .counter>li {
    position: relative;
    background: var(--color-non);
    margin: 0 0 4rem;
}

.about .bg .counter>li:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 20px;
    height: 20px;
    background: url(../../content/images/icon_arrowD.svg) no-repeat center center / contain;
}

.about .bg .counter>li p {
    width: calc(100% - 80px);
    margin: 0;
    line-height: 1.6;
    font-size: 1.4rem;
}

.about .bg.pale p span {
    display: block;
    font-family: var(--font-family-ja-min);
    font-size: 1.5rem;
    line-height: 1.4;
    padding: 0 0 1rem;
}

@media (min-width: 821px) {

    .about .bg .contents-img {
        width: 50%;
    }

    .about .bg .contents-text {
        width: 50%;
    }

}


/*//////////////////// ABOUT counter ////////////////////////*/

.counter {
    counter-reset: num 0;
}

.counter>li:not(.nc):not(.col2.counter > li:nth-child(even))::before {
    counter-increment: num 1;
    content: '0' counter(num);
    font-family: var(--font-family-en);
    font-size: clamp(4rem, 3.082rem + 3.76vw, 6rem);
    line-height: 1;
    width: 80px;
    margin: 0 0 1rem;
}

.counter>li {
    position: relative;
    display: flex;
    align-items: center;
    padding: 2rem;
}

.counter>li .inner-contents {
    width: 100%;
}

.counter>li .inner-contents h3 {
    padding: 0;
}

.counter>li .inner-contents a:not(.tel) {
    position: absolute;
    bottom: 0;
    right: 0;
}

/*//////////////////// ABOUT feature ////////////////////////*/

.feature {
    margin: 10rem 0;
}

.feature .grid-wrap {
    gap: 50px;
}

.feature .grid-wrap .contents-box {
    box-shadow: 0px 40px 40px -20px rgba(0, 0, 0, 0.35);
    width: 80%;
    margin: auto;
    max-width: 360px;
}

.feature .contents-box .contents-img {
    height: 350px;
}

.feature .contents-box .contents-img::before {
    content: "CATEGORY";
    position: absolute;
    top: -30px;
    right: 0;
    font-family: var(--font-family-en);
    letter-spacing: .1rem;
    color: var(--color-basic);
    text-align: right;
    padding: 0 1rem 0 0;
}

.feature .contents-box .contents-text {
    padding: 2rem;
}

.feature .grid-wrap .contents-box p {
    font-size: 1.3rem;
}

@media (min-width: 821px) {

    .feature .grid-wrap .contents-box {
        width: 100%;
    }

}

/*//////////////////// ABOUT human ////////////////////////*/

.human {
    margin: 10rem 0 0;
}

.human h3 span {
    display: block;
}

.human .grid-wrap p {
    font-size: 1.4rem;
    margin: 2rem 0;
    line-height: 1.8;
}

.human .grid-wrap .contents-img {
    height: 240px;
    position: relative;
    width: 100%;
    border-radius: 6px;
}

.human .contents-img.human01 {
    background: url(/content/images/about/02.jpg) no-repeat center center/cover;
}

.human .contents-img.human02 {
    background: url(/content/images/about/03.jpg) no-repeat center center/cover;
}

.human .contents-img.human03 {
    background: url(/content/images/about/04.jpg) no-repeat center center/cover;
}

.human .contents-img.human04 {
    background: url(/content/images/about/05.jpg) no-repeat center center/cover;
}

/*
.human .circle-text {
    position: absolute;
    bottom: -20px;
    right: -5px;
    background: var(--color-dark);
    ;
    color: #fff;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-family: var(--font-family-en);
}
*/
.human .circle-text {
    position: absolute;
    top: 10px;
    right: 10px;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-family-en);
    font-size: 1.5rem;
    background: linear-gradient(45deg, rgba(2, 0, 36, 0) 5%, rgba(255, 255, 255, .5) 6%, rgba(255, 255, 255, 0) 9%, rgba(255, 255, 255, .5) 10%, rgba(255, 255, 255, 0) 17%, rgba(255, 255, 255, .5) 19%, rgba(255, 255, 255, 0) 21%);
    background-size: 150%;
    background-position: right;
    color: rgba(255, 255, 255, .8);
    box-shadow: inset 0px 3px 5px rgba(255, 255, 255, 0.5), 0px 0px 10px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(10px);
    transition: 1s;
    font-size: 1.6rem;
    letter-spacing: 1px;
}

/*//////////////////// BUSINESS ////////////////////////*/

.business-top .contents-img {
    height: 350px;
}

.business-top p {
    text-align: center;
}

.business .contents-img .deco,
.lower .contents-img .deco {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-family: var(--font-family-en);
    font-size: 2.8rem;
    line-height: 1.1;
    letter-spacing: 0.1rem;
    white-space: nowrap;
    color: var(--color-non);
    padding: 2rem 20px;
    /*text-transform: uppercase;*/
}

.business .contents-img .deco span,
.lower .contents-img .deco span {
    font-size: 1.6rem;
}

.business .contents-block .feature .contents-img {
    height: 350px;
}

.business-feature .contents-img {
    min-height: 340px;
}

.business-feature .contents-text {
    max-width: 480px;
    margin: auto;
    padding: 0 1.5rem;
}

.business-feature h3 {
    font-size: clamp(1.8rem, 1.708rem + 0.38vw, 2rem);
    line-height: 1.5;
    margin: 2rem 0;
}

.business-feature h3 span {
    font-size: 1.5rem;
    display: block;
}

.business-feature .contents-wrap {
    margin: 10rem 0;
}

@media (min-width: 821px) {
    .business-feature .contents-wrap {
        display: flex;
        gap: 0px;
    }

    .business-feature .contents-img {
        min-height: 500px;
    }
}

@media (min-width: 1600px) {
    .business-feature .contents-img {
        min-height: 600px;
    }
}

/*//////////////////// GALLERY ////////////////////////*/
/*
.gallery .grid-wrap a {
    display: grid;
}
*/
.gallery .grid-wrap a .contents-box {
    display: grid;
    grid-template-rows: auto 1fr auto;
    box-shadow: var(--box-shadow);
}

.gallery .grid-wrap a .contents-box .contents-text {
    grid-row: span 2;
    padding: 2rem 2rem 5rem;
}

.gallery .grid-wrap a .contents-box .contents-img {
    height: 350px;
}

/*
.gallery .grid-wrap a .contents-box .contents-text::after {
    content: "Category";
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    font-family: var(--font-family-en);
    text-transform: uppercase;
}
*/

/*//////////////////// REASON ////////////////////////*/

.reason .grid-wrap .contents-box {
    width: 60%;
    margin: auto;
}

.reason .circle {
    width: 100%;
    border-radius: 50%;
    background: var(--color-blue-corporated);
}

.reason .inner-circle {
    position: relative;
    padding-top: 100%;
    height: 0;
}

.reason .inner-circle span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-family: var(--font-family-ja-min);
    font-size: 2.4rem;
}

.reason .deco .circle {
    position: absolute;
    top: 0;
    right: 0;
    width: 30%;
    background: var(--color-basic);
    color: var(--color-non);
}

.reason .deco .circle .inner-circle span {
    font-family: var(--font-family-en);
    font-size: 1.4rem;
    top: 45%;
}

.reason .grid-wrap.counter .deco span::after {
    counter-increment: num 1;
    content: '0' counter(num);
    font-family: var(--font-family-en);
    font-size: 3.6rem;
    line-height: .5;
    display: block;
}

@media (min-width: 821px) {

    .reason .grid-wrap {
        gap: 80px;
    }

    .reason .grid-wrap .contents-box {
        width: 100%;
    }

}

/*//////////////////// RECRUIT AREA ////////////////////////*/

.recruit-area {
    margin: 10rem 0;
}

.recruit-area .contents-img {
    position: relative;
    display: inline-block;
}

.recruit-area .contents-img img.responsive {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.logo-overlay {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: 110px;
    height: auto;
}

@media (min-width: 821px) {

    .logo-overlay {
        bottom: 40px;
        width: 150px;
    }

}

/*//////////////////// RECRUIT ////////////////////////*/

.recruit h3 span {
    display: block;
}

.recruit .grid-wrap p {
    font-size: 1.3rem;
    margin: 2rem 0;
}

.recruit .bg.pale h3 {
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.6;
}

/*RECRUIT List*/

.recruit .bg.pale ul {
    padding: 0.5em;
    position: relative;
}

.recruit .bg.pale ul.point {
    padding: 0.5em;
    position: relative;
    /*margin-top: 2em;*/
}

.recruit .bg.pale ul li {
    line-height: 1.5;
    padding: 1rem 0 1rem 3rem;
    border-bottom: dotted 1px #cccccc;
    list-style-type: none !important;
}

.recruit .bg.pale ul li:last-of-type {
    border-bottom: none;
}

.recruit .bg.pale ul li:before {
    /*リスト内のアイコン*/
    content: url(/content/images/icon_li.svg);
    position: absolute;
    left: 6px;
}

/*
.recruit .bg.pale ul.point li:after {
    background: #9bb0ad;
    color: #fff;
    font-weight: 600;
    position: absolute;
    left: -2px;
    bottom: 100%;
    padding: 1px 7px;
    content: "POINT";
    font-family: var(--font-family-en);
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
}
*/

.recruit .contents-block dd .inner-contents {
    border: solid 2px #9bb0ad;
    width: 100%;
    padding: 2rem 2rem;
    margin: 2rem 0 0;
    position: relative;
}

.burst span.outer,
.burst span.outer:after,
.burst span.outer:before,
.burst span.outer span {
    content: "";
    width: 50px;
    height: 50px;
    background-color: #9bb0ad;
    position: absolute;
    top: 0px;
}

.burst,
.burst span.outer,
.burst span.outer:after,
.burst span.outer:before {
    -webkit-transform: rotate(22.5deg);
    -moz-transform: rotate(22.5deg);
    transform: rotate(22.5deg);
}

.burst span.outer span {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
    text-align: center;
    z-index: 999;
    line-height: 50px;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    font-family: var(--font-family-en);
}

.burst {
    position: absolute;
    width: 50px;
    height: 50px;
    background-color: #9bb0ad;
    margin: 1rem 0 1rem 10px;
    top: -30px;
    right: 1rem;
    z-index: 1;
    margin: 0;
}


/*//////////////////// SUPPORT ////////////////////////*/

.support {
    margin: 10rem 0;
}

/*//////////////////// DOCUMENT ////////////////////////*/

.document {
    line-height: 2;
}

.document h2 {
    text-align: center;
    background: var(--color-pale);
    border-bottom: 1px solid var(--color-light);
    margin: 6rem auto 2rem;
    padding: 2rem 1rem;
    font-size: 1.8rem;
    line-height: 1.4;
}

.document h3 {
    font-family: var(--font-family-ja);
    font-size: 1.6rem;
    background: var(--color-pale);
    padding: 1rem;
    margin: 2rem 0 1rem;
    line-height: 1.6;
}

.document ul,
.document ol {
    padding: 0;
    list-style: none;
}

.document>ul>li>span,
.document>ol>li>span {
    display: block;
    font-family: var(--font-family-ja-min);
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 4rem 0 1rem;
}

.document ol:not(.nc) {
    counter-reset: num 0;
    margin-left: 2rem;
}

.document ol:not(.nc)>li {
    counter-increment: num 1;
    position: relative;
    padding-left: 1rem;
    margin: 0 0 1rem;
}

.document ol:not(.nc)>li::before {
    content: counter(num)'.';
    position: absolute;
    left: -2rem;
    font-family: var(--font-family-ja-min);
    font-size: 1.6rem;
    line-height: 1.6;
}

.document ol>li>ol>li:not(.nc)::before {
    content: '(' counter(num)')';
}

.document ol.ob>li:not(.nc)::before {
    content: counter(num)')';
    position: absolute;
    left: -2rem;
}

.document ol.fb>li:not(.nc)::before {
    content: '(' counter(num)')';
    position: absolute;
    left: -2rem;
}

.document ol.ang>li:not(.nc)::before {
    content: '[' counter(num)']';
    position: absolute;
    left: -2rem;
    line-height: 1.6;
}

.document ul.lower-alpha {
    counter-reset: alphabet;
    margin-left: 2rem;
}

.document ul.lower-alpha>li {
    position: relative;
    list-style-type: none;
    counter-increment: alphabet;
}

.document ul.lower-alpha>li::before {
    position: absolute;
    left: -2rem;
    content: counter(alphabet, lower-alpha) ')';
}

.document ul.lower-alpha ol>li::before {
    content: counter(num)')';
}

.document ul.lower-alpha ol.nc>li::before {
    content: '';
}

.document dl.purpose {
    counter-reset: num 0;
}

.document dl.purpose dt:not(:first-child)::before {
    counter-increment: num 1;
    content: '(' counter(num) ')';
    margin: 0 0.5rem 0 0;
}

.document table {
    border-collapse: collapse;
    border: 1px solid var(--color-light);
    margin: 2rem 0;
}

.document th,
.document td {
    border: 1px solid var(--color-light);
    padding: 10px;
}

.document th {
    text-align: center;
    background: var(--color-pale);
}

.document tr td:nth-child(1) {
    width: 5%;
    text-align: center;
    font-weight: 600;
}

.document tr td:nth-child(2) {
    width: 45%;
}

.document tr td:nth-child(3) {
    width: 50%;
}

.document ul.grid-wrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
}

.document ul.grid-wrap li {
    background: var(--color-pale);
    border: 1px solid var(--color-light);
    border-radius: 3px;
    padding: 2rem;
}

.document .contents-block dt {
    font-size: 1.4rem;
    line-height: 1.6;
}

.document .purpose dt {
    font-size: 1.4rem;
    line-height: 1.6;
}

@media (min-width: 821px) {

    .document ul.grid-wrap {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .document dl dd .contents-wrap {
        align-items: center;
    }

}

.whistleblowing .document ol>li::before {
    content: '(' counter(num)')';
}

.terms .document ol>li::before {
    content: '第' counter(num)'条';
    left: -3rem;
}

.terms .document ol>li>ol>li::before {
    content: counter(num)'.';
}

.terms .document ol>li>ol>li>ol>li::before {
    content: '(' counter(num)')';
}

.document ol.nc {
    margin: 0;
    padding: 0;
}

.document ol.nc>li:not(.nc)::before {
    content: "";
}

/*//////////////////// 池さん ////////////////////////*/

.contact.hikawa {
    font-family: var(--font-family-ja-min);
    font-size: 1.5rem;
}

.contact.hikawa .call {
    font-size: 3rem;
}

.measures dt {
    width: 25%;
    padding: 0;
    background: 0 0;
    text-align: left;
    font-weight: 400;

    display: flex;
    align-items: center;
}

/*
.recruit .img-block .contents-img.img02 {
    background: url(/content/images/recruit/main_02s.jpg) no-repeat center center/cover;
    height: 400px;
    margin: 0;
}
*/

.underline {
    text-decoration: none;
    border-bottom: 1px dotted var(--color-basic);
    padding-bottom: 2px;
}


/*//////////////////// FOOTER ////////////////////////*/

footer {
    background: var(--color-pale);
    text-align: left;
    padding: 6rem 0 0;
    margin: 0 0 7rem;
}

footer .container {
    padding: 0;
}

footer .grid-wrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
    align-items: baseline;
}

footer .grid-wrap .inner-contents {
    width: 100%;
    height: 100%;
}

footer .logo {
    text-align: center;
    margin: 0 0 2rem;
}

footer .logo img {
    width: 160px;
    -webkit-filter: brightness(0);
    filter: brightness(0);
}

footer .button.tel {
    color: var(--color-basic);
    font-size: 2.6rem;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
}

footer .square-link {
    width: 100%;
}

footer dl {
    margin: 0;
}

footer dt {
    position: relative;
    font-family: var(--font-family-ja-min);
    text-align: left;
    padding: 2rem 1rem;
    background: none;
    border-bottom: 1px solid var(--color-here);
}

footer dl dt::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%) rotate(0);
    transition: .2s;
    width: 16px;
    height: 16px;
    background: url(/content/images/icon_toggle.svg) no-repeat center center/contain;
    margin-right: .5rem;
}

footer dl.selected dt::after {
    transform: translateY(-50%) rotate(90deg);
}

footer dd {
    display: none;
    background: var(--color-non);
    padding: 0 1rem;
    margin: 0;
}

footer dd li {
    background: none !important;
    padding: 1.8rem 0;
}

footer dd li {
    border-bottom: 1px solid var(--color-light);
    box-sizing: border-box;
}

footer .copyright {
    width: 100%;
    background: var(--color-non);
    color: var(--color-basic);
    padding: 0;
    text-align: left;
    text-align: center;
    font-size: 1.3rem;
    padding: 1rem 0;
    margin: 3rem 0 0;
}

footer h4 {
    font-weight: 400;
    font-family: var(--font-family-ja-min);
    font-size: 1.6rem;
    border-bottom: 1px solid var(--color-here);
    margin: 1.6rem 0 1rem;
}

footer .footer-info {
    padding: 2rem 1.5rem 0;
}

footer .footer-info div div:nth-of-type(3) {
    margin: 2rem 0;
}

footer .footer-info h4:nth-of-type(2) {
    margin: 3rem 0 1rem;
}

@media (min-width: 821px) {

    footer .grid-wrap {
        grid-template-columns: 400px repeat(2, 1fr) 350px;
        gap: 2%;
        padding: 1rem;
    }

    footer dl {
        break-inside: avoid;
        margin: 0;
    }

    footer dd li {
        border: none;
    }

    footer dt {
        padding: 1.6rem 0 0;
        width: 100%;
        font-size: 1.6rem;
        font-weight: 400;
    }

    footer dt:after {
        display: none;
    }

    footer dd {
        display: block !important;
        background: none;
        border-bottom: none;
        width: auto;
        padding: 1rem 0;
    }

    footer dd li {
        background: none !important;
        padding: .5rem;
    }

    footer dd a {
        pointer-events: auto;
    }

    footer .footer-info {
        padding: 0;
    }

}

footer .button {
    display: block;
    margin: 1rem 0;
    min-width: auto;
}

footer .container {
    padding: 0 1.5rem;
}

footer .container>ul>li .inner-contents {
    padding: 4rem;
}

@media (min-width: 821px) {

    footer .container>ul {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
    }

    footer .container>ul>li:nth-child(1) {
        width: 100%;
    }

    footer .container>ul>li:nth-child(2) {
        width: calc((100% - 30px) /2);
    }

    footer .container>ul>li:nth-child(3) {
        width: calc((100% - 30px) /2);
    }

    footer .container>ul>li:nth-child(4) {
        width: 100%;
    }

    footer .container>ul>li .inner-contents {
        padding: 0;
    }

}

@media (min-width: 968px) {

    footer .container>ul>li:nth-child(1) {
        width: 280px;
    }

    footer .container>ul>li:nth-child(2) {
        width: calc((100% - 390px) /3);
    }

    footer .container>ul>li:nth-child(3) {
        width: calc((100% - 390px) /3);
    }

    footer .container>ul>li:nth-child(4) {
        width: calc((100% - 390px) /3);
    }

    footer .container>ul>li:nth-child(4) .inner-contents {
        width: 100%;
    }

}

/*//////////////////// TOAST B ////////////////////////*/

.toastB {
    display: block;
    align-content: center;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: rgba(80, 130, 125, 0.8);
    transition: all 0.5s;
    z-index: 1;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.toastB .icon.tel::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(0);
    transition: .2s;
    width: 20px;
    height: 20px;
    background: url(../../content/images/icon_phone.svg) no-repeat center center / contain;
}

.toastB .inner-contents {
    display: flex;
    justify-content: center;
}

.toastB .inner-contents a {
    display: flex;
    align-items: center;
}

.toastB .inner-contents a:hover {
    text-decoration: none;
}

.toastB .inner-contents a:not(:last-child) {
    border-right: 1px dotted var(--color-light);
}

.toastB .inner-contents .button {
    min-width: auto;
    padding: 0 1rem;
    background: none;
}

.toastB .inner-contents .button.tel {
    padding: 0 1rem 0 2.4rem;
}

.toastB .inner-contents .button.tel .inner-button {
    display: none;
}

.toastB .inner-contents .button.tel>span {
    display: inline-block;
    font-size: 2.6rem;
    margin: 0;
    font-family: var(--font-family-ja-min);
}

.toastB .inner-contents a:nth-of-type(2) > span:first-child {
    display: none;
}

.contact .toastB .inner-contents .button:nth-child(2) {
    display: none;
}

.contact .toastB .inner-contents a:not(:last-child) {
    border-right: none;
}

@media (min-width: 381px) {
    .toastB .inner-contents .button.tel>span {
        font-size: 2.8rem;
    }

    .toastB .inner-contents a:nth-of-type(2) > span:first-child {
        display: inline;
    }
}

@media (min-width: 821px) {

    .toastB {
        height: 70px;
    }

    .toastB .icon.tel::before {
        font-size: 3.6rem;
        font-weight: 400;
        width: 28px;
        height: 28px;
    }

    .toastB .inner-contents .button.tel>span {
        font-size: 3.4rem;
        font-family: var(--font-family-ja-min);
    }

    .toastB .inner-contents .button {
        padding: 1.2rem 3rem;
    }

    .toastB .inner-contents .button.tel .inner-button {
        display: inline-block;
        text-align: left;
        margin: 0 0 0 1rem;
    }

    .toastB .inner-contents .button.tel .inner-button span {
        font-family: var(--font-family-ja-min);
        font-weight: 400;
    }

    .toastB .inner-contents .button.tel {
        padding: 0 1rem 0 3.5rem;
    }

}