@charset "UTF-8";

:root {
    --color-primary: #222;
    --color-notice: #e1b1b1;
    --color-form: #750212;
    --color-dark: #222;
    --color-basic: #444;
    --color-light: #E7E7E7;
    --color-pale: #F5F5F5;
    --color-non: #FFF;
    --color-blue: #e8f1f6;
    --color-dark-blue: #b5cdda;
    --color-light-blue: #e8f1f6;
    --color-pale-blue: #f4f7f9;
    --font-family-ja: "游ゴシック Medium", Yu Gothic Medium, "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "sans-serif";
    --font-family-ja-min: "游明朝", "YuMincho", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", 'Noto Serif JP', serif;
    --font-family-en: 'Inter', sans-serif;
    --font-family-en-dr: 'Dr Sugiyama', cursive;
    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    --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;
}

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

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:not(.swiper a):hover,
a.button:hover,
a.icon:hover {
    text-decoration: none;
    opacity: .75;
}

@media (min-width: 821px) {

    a[href^="tel:"] {
        pointer-events: none;
    }

}

::-moz-selection {
    background: var(--color-light);
}

::selection {
    background: var(--color-light);
}

*:focus {
    outline: 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-weight: 300;*/
    color: var(--color-basic);
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
}

h1 {
    font-family: var(--font-family-ja-min);
    font-size: 2.4rem;
    line-height: 1.4;
    font-weight: 400;
    margin: 4rem 0 2rem;
}

h2 {
    font-family: var(--font-family-ja-min);
    font-size: clamp(1.8rem, 2vw, 2rem);
    font-weight: 400;
    line-height: 1.6;
    padding: 0 0 1rem;
    margin: 0 0 1rem;
}

.abreast {
    font-family: var(--font-family-ja);
    font-size: clamp(1.6rem, 2vw, 2rem);
    font-weight: 600;
    margin: 0;
}

h3 {
    font-family: var(--font-family-ja-min);
    font-size: clamp(1.8rem, 2vw, 2rem);
    font-weight: 400;
    line-height: 1.6;
    padding: 0 0 2rem;
    margin: 0;
}

h4 {
    font-size: clamp(1.4rem, 1.6vw, 1.6rem);
    line-height: 1.6;
    font-weight: 500;
    padding: 0 0 2rem;
    margin: 0;
}

section > h2 span:nth-child(2),
.container > h2 span:nth-child(2) {
    display: block;
    font-family: var(--font-family-ja);
    font-size: 1.8rem;
    margin: 0.5rem 0;
}

h1 span,
h2 span,
h3 span {
    display: block;
    line-height: 1;
    letter-spacing: .05rem;
    font-family: var(--font-family-en);
    font-weight: 600;
}

h2 span,
h3 span {
    text-transform: uppercase;
}

h2 span {
    font-size: 2.6rem;
}

h3 span {
    font-size: 2.2rem;
}

@media (min-width: 821px) {

    h2 {
        font-size: 2.4rem;
    }

    h2 span {
        margin-right: 1rem;
    }

    h3 span {
        font-size: 1.6rem;
    }

    .abreast {
        font-size: 1.5rem;
    }

    .abreast span {
        display: inline-block;
    }

}

p {
    line-height: 2;
    margin: 0 0 2rem;
}

p span {
    margin: 0 .5rem;
}

p .icon.tel::before {
    filter: brightness(0);
    padding: .8rem;
    margin: 0 0 0 .5rem;
}

p.introtext {
    max-width: 1000px;
    margin: 0 auto 4rem;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border-style: none;
    -webkit-backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast;
}

.responsive {
    display: block;
    margin: auto;
}

article {
    position: relative;
}

section > .inter,
section > h1,
section > h2,
.container > .inter,
.container > h1,
.container > h2 {
    text-align: center;
}

.center {
    display: block;
    text-align: center!important;
}

@media (min-width: 821px) {

    section > h1 + p,
    section > h2 + p,
    .container > h1 + p,
    .container > h2 + p {
        text-align: center;
    }

    .justify {
        display: block;
        text-align: center!important;
    }

}

.right {
    display: block;
    text-align: right!important;
}

.lead {
    font-family: var(--font-family-ja-min);
    font-size: 2.4rem;
    line-height: 1.3;
    font-weight: 500;
}

.underline {
    text-decoration: underline;
    text-underline-offset: .4rem;
}

.notice {
    color: var(--color-notice);
    font-weight: 600;
}

.annotation li {
    line-height: 1.6;
    display: flex;
    align-items: baseline;
}

.annotation li:before {
    content: "※";
    margin-right: 0.5em;
}

.box {
    border: 2px solid var(--color-basic);
    background: var(--color-light-blue);
    max-width: 800px;
    padding: 2rem;
    margin: 4rem auto;
}

.box h3 {
    color: var(--color-attention);
}

.bg0 {
    background: url(../../content/images/service/bg_embalming.jpg) center center /cover no-repeat fixed;
    padding: 5rem 0;
    margin: 0;
}

.bg1 {
    background: linear-gradient(0deg, rgba(232, 241, 246, 0) 0%, rgba(232, 241, 246, .4) 50%, rgba(245, 245, 245, 1)) 100%;
}

.date {
    font-family: var(--font-family-en);
    font-weight: 600;
    margin: .5rem 0;
}

.inter {
    font-family: var(--font-family-en);
    font-weight: 600;
    text-transform: uppercase;
}

.inter span {
    display: block;
    font-size: 2.8rem;
}

.dr {
    font-family: var(--font-family-en-dr);
    font-size: 1.8rem;
    font-weight: 400;
    margin: 0 0 1rem;
}

.sm {
    font-size: 1.6rem;
    line-height: 1;
}

.md {
    font-size: 2.4rem;
    line-height: 1;
}

.lg {
    font-size: 3.6rem;
    line-height: 1;
    letter-spacing: .2rem;
}

.lg span {
    font-size: 2rem;
    line-height: 1;
}

.xlg {
    font-size: 6rem;
    line-height: 1;
}

.button.sm,
.button.md,
.button.lg {
    padding: .3rem 3rem;
    font-size: 1.4rem;
}

@media (min-width: 821px) {

    .sm {
        font-size: 2rem;
    }

    .md {
        font-size: 6rem;
    }

    .lg {
        font-size: 6rem;
    }

    .lg span {
        font-size: 3.6rem;
    }

    .xlg {
        font-size: 15rem;
    }

    .button.sm {
        padding: .3rem 2rem;
        font-size: 1.2rem;
    }

    .button.md {
        padding: .6rem 4rem;
        font-size: 1.4rem;
    }

    .button.lg {
        padding: .9rem 5rem;
        font-size: 1.6rem;
    }

}

.sp {
    display: block!important;
}

.pc {
    display: none!important;
}

@media (min-width: 839px) {

    .sp {
        display: none!important;
    }

    .pc {
        display: block!important;
    }

}

.sp2 {
    display: block!important;
}

.pc2 {
    display: none!important;
}

@media (min-width: 980px) {

    .sp2 {
        display: none!important;
    }

    .pc2 {
        display: block!important;
    }

}

/*//////////////////// 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-dark);
    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);
    }

}

/*//////////////////// SCL ////////////////////////*/

.scl {
    display: none;
    position: fixed;
    right: 10px;
    bottom: 10px;
    width: 48px;
    height: 48px;
    cursor: pointer;
    z-index: 3;
}

/*//////////////////// LAYOUT ////////////////////////*/

.container {
    width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem
}

@media (min-width: 821px) {

    .container {
        max-width: 1240px;
    }

    .offset {
        max-width: 1000px;
        margin: auto;
    }

    p.offset {
        max-width: 1000px;
        margin: 0 auto 2rem;
    }

}

/*//////////////////// LAYOUT col2 ////////////////////////*/
.side {
    padding: 0 0 4rem;
}
@media (min-width: 821px) {

    .main {
        flex: 3.5;
    }

    .side {
        flex: 1;
        margin-left: 5%;
    }

}

/*//////////////////// LAYOUT side ////////////////////////*/

.side .abreast {
    position: relative;
    text-align: center;
    padding: 2rem;
    margin: 5rem 0 0;
}

.side .abreast span {
    font-size: 2.4rem;
    line-height: 1;
    margin: 0 1rem 0 0;
    text-transform: none;
}

.side h3 {
    font-family: var(--font-family-en);
    line-height: 1.6;
    font-size: 1.6rem;
    font-weight: 600;
    text-transform: uppercase;
    border-bottom: 2px solid var(--color-light);
    padding: 0;
    margin: 0;
}

.side h3:not(:first-child) {
    margin: 4rem 0 0;
}

.side ul {
    list-style: none;
    padding: 0;
}

.side .category li {
    font-family: var(--font-family-ja-min);
    border-bottom: 1px solid var(--color-light);
    padding: 1rem;
}

.side .banner a {
    display: block;
    margin: 0;
}

.side .banner p {
    font-size: 1.2rem;
    line-height: 1.4;
    text-align: center;
    margin: 1rem 0 2rem;
}

@media (min-width: 821px) {
    .side .abreast {
        margin: 0;
    }
}

.rel6 .side .banner {
    text-align: center;
}

/*//////////////////// GRID ////////////////////////*/

.grid-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.grid-wrap.col12,
.grid-wrap.col123,
.grid-wrap.col124 {
    grid-template-columns: repeat(1, 1fr);
}

.grid-wrap.col23,
.grid-wrap.col24,
.grid-wrap.col234,
.grid-wrap.col235 {
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 821px) {

    .grid-wrap {
        column-gap: 3%;
    }

    .grid-wrap .contents-box,
    .grid-wrap .contents-img,
    .grid-wrap .contents-text {
        flex: 1;
    }

    .grid-wrap.col12,
    .grid-wrap.col123,
    .grid-wrap.col124 {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 3%;
    }

    .grid-wrap.col23,
    .grid-wrap.col234,
    .grid-wrap.col235 {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid-wrap.col24 {
        grid-template-columns: repeat(4, 1fr);
    }

    .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;
    }

}

@media (min-width: 980px) {

    .grid-wrap.col123 {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid-wrap.col124 {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid-wrap.col234 {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid-wrap.col235 {
        grid-template-columns: repeat(5, 1fr);
    }

}

.grid-wrap .content-img {
    box-shadow: rgb(0 0 0 / 10%) 0 20px 25px -5px, rgb(0 0 0 / 4%) 0 10px 10px -5px;
}

/*//////////////////// FLEX ////////////////////////*/

.contents-box,
.contents-img,
.contents-text {
    position: relative;
    padding: 1rem 0;
}

.contents-inner {
    padding: 1rem;
}

@media (min-width: 821px) {

    .contents-wrap {
        display: flex;
    }

    .contents-wrap.col2 {
        display: flex;
        justify-content: center;
        align-items: flex-start;
    }

    .contents-wrap > .contents-box,
    .contents-wrap > .contents-img,
    .contents-wrap > .contents-text {
        flex: 1;
    }

    .contents-wrap > .contents-text {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
    }

    .odd .contents-wrap:nth-child(odd),
    .even .contents-wrap:nth-child(even) {
        flex-direction: row-reverse;
    }

    .contents-inner {
        max-width: 640px;
        padding: 5%;
    }

}

/*//////////////////// GUTTER ////////////////////////*/

.mt {
    margin: 3rem 0 0;
}

.mb {
    margin: 0 0 3rem;
}

.mtb {
    margin: 3rem 0;
}

@media (min-width: 821px) {

    .mt {
        margin: 6rem 0 0;
    }

    .mb {
        margin: 0 0 6rem;
    }

    .mtb {
        margin: 6rem 0;
    }

}

section {
    margin-top: 6rem;
}

@media (min-width: 821px) {

    section {
        margin-top: 12rem;
    }

}

/*//////////////////// FIGURE ////////////////////////*/

figure {
    width: 100%;
    margin: 0 0 1.5rem;
}

figcaption {
    text-align: center;
}

@media (min-width: 821px) {

    figure.left {
        float: left;
        width: 50%;
        margin: 0 1.5rem 1.5rem 0;
    }

    figure.right {
        float: right;
        width: 50%;
        margin: 0 0 1.5rem 1.5rem;
    }

    figure img {
        max-width: 100%;
    }

    .clear {
        clear: both;
    }

}

/*//////////////////// CATEGORY ////////////////////////*/

.category h2 {
    text-align: center;
    padding: 0;
    margin: 2rem 0 0;
}

.category h2 span {
    margin: .5rem 0 1rem;
}

.category a {
    width: 100%;
    text-align: left;
}

.category .cormorant {
    font-size: 1.6rem!important;
}

.article .main .category {
    margin: 1rem 0;
}

.category.line {
    border-top: 1px solid var(--color-light);
    border-bottom: 1px solid var(--color-light);
    padding: .5rem;
}

.rel8 .p0 .category {
    font-family: var(--font-family-ja-min);
    text-align: center;
}

.rel8 .p0 .category span {
    display: block;
    line-height: 1.4;
}

.p10 .category .cormorant {
    font-size: 1.4rem;
}

@media (min-width: 980px) {

    .p10 .category .cormorant {
        font-size: 1.6rem;
    }

}

/*//////////////////// TAG ////////////////////////*/

.tag ul {
    list-style: none;
    padding: 0;
}

.tag li {
    display: inline-block;
    padding: 0 .5rem 1rem 0;
}

.tag a {
    display: inline-block;
    border-radius: 2px;
    background: var(--color-pale);
    border: 1px solid var(--color-light);
    line-height: 1.4;
    padding: .5rem;
}

/*//////////////////// PAGINATION news ////////////////////////*/

.pagination {
    position: relative;
    display: flex;
    justify-content: center;
    border-top: 1px solid var(--color-light);
    border-bottom: 1px solid var(--color-light);
    font-family: var(--font-family-en);
    margin: 4rem 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,
.pagination a {
    font-size: 1.6rem;
    font-weight: 600;
    padding: 1rem;
    margin: 0px .5rem;
    width: 45px;
    text-align: center;
}

.pagination a.button {
    display: flex;
    align-items: center;
    font-family: var(--font-family-en);
    background: none;
    color: var(--color-basic);
    border: none;
    font-size: 1.4rem;
    font-weight: 600;
    width: auto;
    margin: 0;
}

.rel141 .pagination {
    margin: 0;
}

/*//////////////////// GRID AREA ////////////////////////*/

.area-wrap {
    display: grid;
    grid-template-rows: 1fr 1.1fr 1.1fr 1fr 1fr 1fr 1fr;
}

.area {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18rem;
    background: var(--color-pale);
    border: 1px solid var(--color-light);
    color: var(--color-light);
}

.area.item1 {
    height: 25vh;
}

@media (min-width: 821px) {

    .area-wrap {
        display: grid;
        grid-template-columns: 1fr 1fr 2fr 1fr 1fr 1fr 1fr;
        gap: 1rem;
        grid-auto-flow: row;
        color: var(--color-non);
    }

    .area.item1 {
        grid-area: 1 / 1 / 3 / 4;
    }

    .area.item2 {
        grid-area: 1 / 4 / 4 / 6;
    }

    .area.item3 {
        grid-area: 3 / 6 / 1 / 8;
    }

    .area.item4 {
        grid-area: 3 / 1 / 5 / 3;
    }

    .area.item5 {
        grid-area: 3 / 3 / 6 / 4;
    }

    .area.item6 {
        grid-area: 4 / 4 / 6 / 6;
    }

    .area.item7 {
        grid-area: 3 / 6 / 8 / 8;
    }

    .area.item8 {
        grid-area: 5 / 1 / 8 / 3;
    }

    .area.item9 {
        grid-area: 6 / 3 / 8 / 6;
    }

}

/*//////////////////// GRID CONTAINER ////////////////////////*/

.grid-container {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 1rem;
}

.grid-item {
    border: 1px solid var(--color-primary);
}

.grid-item-inner {
    padding: 2rem;
}

@media (min-width: 821px) {

    .grid-container {
        grid-template-columns: 2fr 1fr 1fr 2fr;
        grid-template-rows: auto auto auto auto;
    }

    .gc1-gr2-4 {
        grid-column: 1;
        grid-row: 2 / 4;
        background: var(--color-light);
    }

    .gc3-5-gr1-3 {
        grid-column: 3 / 5;
        grid-row: 1 / 3;
        background: var(--color-light);
    }

    .gc3-5 {
        grid-column: 3 / 5;
        background: var(--color-light);
    }

    .gc2-4-gr3-5 {
        grid-column: 2 / 4;
        grid-row: 3 / 5;
        background: var(--color-light);
    }

    .gc1-5 {
        grid-column: 1 / 5;
        background: var(--color-light);
    }

}

/*//////////////////// MAIN BLOCK ////////////////////////*/

.main-block dl dd ul,
.main-block dl dd ol {
    padding: 0 2rem;
}

@media (min-width: 821px) {

    .main-block {
        margin: 0 0 10rem;
    }

    .main-block .post-item {
        padding: 0 2rem;
    }

}

.rel6 .main-block {
    background: var(--color-pale-blue);
}

.rel16 .main-block {
    margin: 0;
}

/*//////////////////// HEADING ////////////////////////*/

.heading .logo img {
    filter: brightness(0);
    width: 300px;
    margin: 0 0 1rem;
}

.heading h1 {
    font-family: var(--font-family-ja);
    line-height: 1.6;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 2rem 0 3rem;
}

.heading h1 span {
    font-family: var(--font-family-ja-min);
    line-height: 1.4;
    font-size: 2.4rem;
    font-weight: 400;
}

@media (min-width: 821px) {

    .heading .contents-wrap {
        align-items: center;
    }

    .rel13 .heading .contents-wrap > .contents-text {
        flex: 2.5;
    }

    .rel13 .heading .contents-wrap > .contents-text .contents-inner {
        max-width: initial;
    }

}

/*//////////////////// TITLE BLOCK ////////////////////////*/

.title-block {
    border-top: 1px solid var(--color-light);
    border-bottom: 1px solid var(--color-light);
}

.title-block h1 {
    font-family: var(--font-family-ja);
    font-size: 1.8rem;
    line-height: 1.8;
    margin: 2rem 0;
}

.title-block .introtext {
    line-height: 1.6;
    padding: 1rem 0 0;
    margin: 0;
}

.title-block .contents-img {
    border-radius: 5px;
    box-shadow: rgb(0 0 0 / 10%) 0 20px 25px -5px, rgb(0 0 0 / 4%) 0 10px 10px -5px;
}

.title-block .contents-text {
    padding: 2rem 0;
}

.title-block p span:first-child {
    margin: 0;
}

.title-block p span:not(:first-child) {
    margin: 0 0 0 .5rem;
}

@media (min-width: 821px) {

    .title-block .container {
        display: flex;
        justify-content: space-between;
        align-items: end;
    }

    .title-block .contents-img {
        width: 20%;
    }

    .title-block .contents-text {
        width: 80%;
        display: flex;
        flex-direction: column;
        padding: 0 0 0 3rem;
    }

}

/*//////////////////// HEAD BLOCK ////////////////////////*/

@media (min-width: 821px) {

    .head-block .contents-wrap {
        justify-content: center;
        align-items: center;
        border-bottom: 1px solid var(--color-light);
    }

    .head-block .contents-wrap > .contents-text .contents-inner {
        max-width: 70%!important;
        margin: auto;
    }

}

.head-block .contents-wrap .contents-img {
    height: 200px;
}

@media (min-width: 821px) {

    .head-block .contents-wrap .contents-img {
        height: 600px;
    }

}

/*//////////////////// INETERNAL-BLOCK ////////////////////////*/

.ineternal-block {
    margin: 10rem 0;
}

/*//////////////////// CONTACT BLOCK ////////////////////////*/

.contact-block {
    background: var(--color-primary);
    color: var(--color-non);
    text-align: center;
    padding: 0 0 4rem;
    margin: 6rem 0 0;
}

.contact-block h2 {
    padding: 6rem 0 0!important;
}

.contact-block .contents-wrap {
    justify-content: center;
    align-items: center;
}

.contact-block a {
    font-size: 1.6rem;
}

.contact-block a.icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.contact-block a.icon:before {
    font-size: 3rem;
    margin: 0 1rem 0 0;
}

.contact-block a.contact {
    color: var(--color-non);
}

.contact-block a.contact .contents-inner {
    padding: 0;
}

.contact-block a.tel {
    background: none;
    border: none;
    padding: 0 0 1rem;
}

.contact-block a.tel .contents-inner span {
    font-family: var(--font-family-ja);
    font-weight: 400;
}

.contact-block .button.contact {
    width: 90%;
}

.contact-block .button.white {
    background: var(--color-non);
    color: var(--color-primary);
    padding: 1rem;
    font-weight: 600;
}

.contact-block p {
    margin: 1rem 1rem;
    line-height: 1.4;
}

@media (min-width: 821px) {

    .contact-block a {
        margin: 1%;
    }
    .contact-block .button.contact {
        width: 360px;
    }

}

.rel16 .contact-block {
    margin: 0;
}

/*//////////////////// POST ITEM ////////////////////////*/

.date span {
    margin-left: 0.5rem;
}

/*//////////////////// LIST COL2 ////////////////////////*/

ul.col2 {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.col2 > li {
    width: 100%;
}

ul.col2 > li:nth-child(2n) {
    padding: 4rem 1rem 1rem;
    border-bottom: 1px solid var(--color-light);
}

ul.col2 > li:nth-child(2n+1) {
    padding: 4rem 1rem 1rem;
    border-bottom: 2px solid var(--color-light);
}

ul.col2 li ul {
    list-style: none;
    padding: 0;
}

ul.col2 li ul li,
ul.col2 li ol li {
    line-height: 2;
}

.history ul.col2 > li:nth-child(2n+1) {
    font-weight: 600;
}

@media (min-width: 821px) {

    ul.col2 {
        display: flex;
        flex-wrap: wrap;
    }

    ul.col2 > li:nth-child(2n) {
        width: 80%;
    }

    ul.col2 > li:nth-child(2n+1) {
        width: 20%;
    }

    ul.col2.flat > li:nth-child(2n+1) {
        border-bottom: 1px solid var(--color-light);
    }

    .profile ul.col2 > li:nth-child(2n) {
        width: 70%;
    }

    .profile ul.col2 > li:nth-child(2n+1) {
        width: 30%;
    }

    .history ul.col2 > li:nth-child(2n) {
        width: 90%;
        border-bottom: 1px solid var(--color-light);
    }

    .history ul.col2 > li:nth-child(2n+1) {
        width: 10%;
        border-bottom: 2px 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%;
        margin: 0 0 3rem;
    }
}

/*//////////////////// DL DT DD ////////////////////////*/

dt {
    font-weight: 500;
    padding: 1rem;
    margin: 0;
    background:  var(--color-pale);
    color: var(--color-dark);
    text-align: center;
}

dd {
    padding: 1rem;
    margin: 0 0 1rem;
}

@media (min-width: 821px) {

    dl {
        display: flex;
        flex-wrap: wrap;
        line-height: 1.8;
    }

    dt {
        width: 30%;
        margin: 0 0 1rem;
        text-align: left;
        border-bottom: 1px solid var(--color-light);
    }

    dd {
        width: 70%;
        border-bottom: 1px solid var(--color-light);
    }

}

/*//////////////////// TAB ////////////////////////*/

dl.acTabs {
    position: relative;
}

dl.acTabs > dt {
    cursor: pointer;
    width: 100%;
    height: 50px;
    line-height: 3rem;
    background: var(--color-pale);
    -webkit-background-size: 100%;
    text-align: center;
    color: var(--color-dark);
}

dl.acTabs > dt.active {
    background: var(--color-primary);
    color: var(--color-non);
    border: 1px solid var(--color-primary);
}

dl.acTabs > dd {
    background: var(--color-non);
}

dl.acTabs > dd h3 {
    text-align: center;
}

dl.acTabs > .close {
    width: 100%;
    height: 50px;
    background: red;
    cursor: pointer;
}

dl.acTabs dd .link-item {
    display: block;
    text-align: center;
    padding: 4rem 0;
}

@media (min-width: 821px) {

    dl.acTabs > dl {
        position: relative;
    }

    dl.acTabs.col2 > dt {
        position: absolute;
        width: 50%;
    }

    dl.acTabs.col2 > dt.tab02 {
        left: 50%;
    }

    dl.acTabs.col3 > dt {
        position: absolute;
        width: 34%;
    }

    dl.acTabs.col3 > dt.tab02 {
        left: 34%;
    }

    dl.acTabs.col3 > dt.tab03 {
        left: 66%;
    }

    dl.acTabs.col4 > dt {
        position: absolute;
        width: 25%;
        border-bottom: 1px solid var(--color-primary);
    }

    dl.acTabs.col4 > dt.tab02 {
        left: 25%;
    }

    dl.acTabs.col4 > dt.tab03 {
        left: 50%;
    }

    dl.acTabs.col4 > dt.tab04 {
        left: 75%;
    }

    dl.acTabs.col5 > dt {
        position: absolute;
        width: 20%;
    }

    dl.acTabs.col5 > dt.tab02 {
        left: 20%;
    }

    dl.acTabs.col5 > dt.tab03 {
        left: 40%;
    }

    dl.acTabs.col5 > dt.tab04 {
        left: 60%;
    }

    dl.acTabs.col5 > dt.tab05 {
        right: 0;
    }

    dl.acTabs > dd {
        width: 100%;
        margin-top: 5rem;
        border-top: 5px solid var(--dark-color);
    }

    dl.acTabs > dd h3 span {
        display: inline-block;
        font-size: 2.4rem;
        margin-right: 0.7rem;
        vertical-align: -0.05em;
    }

    dl.acTabs > .close {
        display: none;
    }

}

/*//////////////////// BUTTON ////////////////////////*/

.button {
    display: inline-block;
    vertical-align: middle;
    text-decoration: none;
    font-size: 1.4rem;
    line-height: 1.4;
    text-transform: uppercase;
    text-align: center;
    background: var(--color-primary);
    border: 1px solid var(--color-primary);
    color: var(--color-non);
    padding: .7rem 4rem .7rem;
    margin: 0.5rem 0;
}

.button span {
    display: block;
    font-family: var(--font-family-en);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 1.1rem;
    letter-spacing: .1rem;
}

.button .contents-inner {
    text-align: left;
}

.button.white {
    background: var(--color-non);
    color: var(--color-dark);
}

.button.white.mark.arrowR::after,
.button.white.mark.arrowL::after,
.button.white.mark.arrowU::after,
.button.white.mark.arrowD::after {
    filter: brightness(0);
}

/*//////////////////// BUTTON mark////////////////////////*/

.button.mark {
    position: relative;
    letter-spacing: .1rem;
}

.button.mark.arrowT,
.button.mark.arrowR,
.button.mark.arrowD {
    padding: 0.7rem 4.8rem 0.7rem 3.6rem;
    min-width: 120px;
}

.button.mark.arrowL {
    padding: 0.7rem 3.6rem 0.7rem 4.8rem;
    min-width: 120px;
}

.button.mark.contact {
    padding: .5rem 4.4rem 0.5rem 2rem;
}

.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.mark.contact::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    right: 22px;
    transform: translateY(-50%) rotate(0);
    transition: .2s;
    background: url(../../content/images/icon_mail.svg) no-repeat center center / contain;
}

.button.white.mark {
    background: var(--color-non);
    color: var(--color-dark);
}

.button.white.mark.arrowR::after,
.button.white.mark.arrowL::before,
.button.white.mark.arrowU::after,
.button.white.mark.arrowD::after {
    filter: brightness(0);
}

.information-block .button.mark.arrowD::after {
    background: none;
    font-family: 'Material Symbols Outlined';
    content: '\f090';
    font-size: 2rem;
    font-weight: 500;
    height: auto;
}

/*//////////////////// ICON ////////////////////////*/

.icon {
    font-size: 1.6rem;
}

.icon:before {
    font-size: 2.8rem;
    margin: 0 .5rem 0 0;
    vertical-align: middle;
}

.icon.tel {
    font-weight: 500;
}

.icon.tel::before {
    content: "";
    padding: 1.6rem;
    margin: 0 0 0 .5rem;
    background: url(../../content/images/icon_tel.svg) no-repeat center/contain;
}

.icon.tel .contents-inner {
    font-family: var(--font-family-en);
    font-size: 3rem;
    line-height: 1.2;
    padding: 0;
}

footer .icon.tel .contents-inner {
    font-size: 2.6rem;
}

@media (min-width: 821px) {
    .icon.tel .contents-inner {
        font-size: 3.6rem;
    }
}

/*//////////////////// 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';
}

.button.letter.crosstalk:before {
    content: 'Cross talk';
}

@media (min-width: 821px) {

    .call {
        font-family: var(--font-family-en-serif);
        font-weight: 500;
        font-size: 2.4rem;
    }

}

/*//////////////////// TOPICPATH ////////////////////////*/

ul.topicpath {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.2rem;
    padding: 1rem 2rem;
}

ul.topicpath li:not(:first-of-type) {
    margin: 0 0 0 0.2rem;
}

.head-block ul.topicpath:not(.split ul.topicpath) {
    padding: 0 1.5rem;
}

/*//////////////////// 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-dark);
    background: var(--color-dark);
    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-dark);
    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;
}

/*//////////////////// SWIPER ////////////////////////*/

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    font-size: 2rem;
    background: rgba(0,0,0,.8);
    color: var(--color-non);
    padding: 1.5rem 2rem;
}

.swiper-pagination-bullet-active {
    background: var(--color-dark);
}

/*//////////////////// SWIPER basic ////////////////////////*/

.basic {
    width: 100%;
    margin: 0 auto;
}

.basic .swiper-slide {
    opacity: 0.4;
    overflow: hidden;
    transition: .7s;
}

.basic .swiper-slide-active {
    opacity: 1;
    z-index: 1;
    transform: scale(1);
}

.basic .slide-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    height: 100vh;
    margin: auto;
    background: linear-gradient(0deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,0) 60%, rgba(0,0,0,.6)) 100%;
}

@media (min-width: 821px) {

    .basic .swiper-slide-active {
        transform: scale(1.2);
    }

}

/*//////////////////// SWIPER loop ////////////////////////*/

[class*=swiper]:focus {
    outline: none;
}

.loop {
    overflow: hidden;
}

.loop .swiper {
    overflow: visible;
    padding: 0 3.2rem;
}

@media (min-width: 1024px) {

    .loop .swiper {
        padding: initial;
    }

}

.loop .loop-inner {
    position: relative;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    margin: 0 auto;
}

.loop .contents-text .contents-inner {
    padding: 1.5rem;
}

@media (min-width: 821px) {

    .loop .contents-text {
        padding: 5rem;
    }

}

.loop h3{
    font-size: 2.4rem;
}

.loop h3 span {
    font-size: 1.3rem;
}

.loop h3 span:nth-child(2){
    display: block;
    font-size: 2.2rem;
    line-height: 1.2;
    border-bottom: 1px solid var(--color-dark);
    padding: .5rem 0;
    margin: 0 0 1rem;
}

.loop .intro-text {
    line-height: 1.6;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    height: 3.2em;
    margin-top: 1.6rem;
}

.loop .swiper-slide:not(.swiper-slide-visible) .slide-wrap {
    pointer-events: none;
    opacity: 0.3;
}

.loop .slide-wrap {
    overflow: hidden;
    border-radius: 4px;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    -webkit-transition: var(--transition), opacity 1s;
    transition: var(--transition), opacity 1s;
}

.loop .contents-img {
    position: relative;
    overflow: hidden;
    padding-top: 300px;
}

.loop .contents-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    height: calc(100% + 16px);
    -webkit-transform: translateY(-16px);
    transform: translateY(-16px);
}

@media (min-width: 1025px) {

    .loop .slide-wrap img {
        -webkit-transition: var(--transition);
        transition: var(--transition);
    }

    .loop .slide-wrap:hover {
        -webkit-transform: translateY(-16px);
        transform: translateY(-16px);
        -webkit-box-shadow: var(--box-shadow-hover);
        box-shadow: var(--box-shadow-hover);
    }

    .loop .slide-wrap:hover img {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    .loop .contents-img {
        padding-top: 600px;
    }

}

@media (min-width: 600px) and (max-width: 980px) {

}

/*//////////////////// SWIPER img ////////////////////////*/

.slide_00 {
    background: url(../../content/images/slider/00s.jpg) no-repeat center/cover;
}

.slide_01 {
    background: url(../../content/images/slider/01s.jpg) no-repeat center/cover;
}

.slide_02 {
    background: url(../../content/images/slider/02s.jpg) no-repeat center/cover;
}

.slide_03 {
    background: url(../../content/images/slider/03s.jpg) no-repeat center/cover;
}

.slide_04 {
    background: url(../../content/images/slider/04s.jpg) no-repeat center/cover;
}

.slide_05 {
    background: url(../../content/images/slider/05s.jpg) no-repeat center/cover;
}

.slide_06 {
    background: url(../../content/images/slider/06s.jpg) no-repeat center/cover;
}

.slide_07 {
    background: url(../../content/images/slider/07s.jpg) no-repeat center/cover;
}

.slide_08 {
    background: url(../../content/images/slider/08s.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .slide_00 {
        background: url(../../content/images/slider/00.jpg) no-repeat center/cover;
    }

    .slide_01 {
        background: url(../../content/images/slider/01.jpg) no-repeat center/cover;
    }

    .slide_02 {
        background: url(../../content/images/slider/02.jpg) no-repeat center/cover;
    }

    .slide_03 {
        background: url(../../content/images/slider/03.jpg) no-repeat center/cover;
    }

    .slide_04 {
        background: url(../../content/images/slider/04.jpg) no-repeat center/cover;
    }

    .slide_05 {
        background: url(../../content/images/slider/05.jpg) no-repeat center/cover;
    }

    .slide_06 {
        background: url(../../content/images/slider/06.jpg) no-repeat center/cover;
    }

    .slide_07 {
        background: url(../../content/images/slider/07.jpg) no-repeat center/cover;
    }

    .slide_08 {
        background: url(../../content/images/slider/08.jpg) no-repeat center/cover;
    }

}

/*//////////////////// FAQ ////////////////////////*/

.faq dl{
    position:relative;
}

.faq dt{
    padding:1rem;
    margin:0;
}

.faq dd{
    padding:1rem;
    margin:0 0 1rem;
}

@media (min-width:600px){

    .faq dt{
        width:25%;
        padding:0;
        margin:0 0 1rem;
        background:0 0;
        color:var(--non-color-dark);
        text-align:left;
        font-weight:600;
    }

    .faq dd{
        width:75%;
        padding:0;
    }

}

.faq dl.acMenu dt{
    position: relative;
    line-height: 1.6;
    cursor: pointer;
    font-weight: 400;
    width: 100%;
    text-align: left;
    background: #fff;
    color: var(--non-color-dark);
    border-bottom: 1px solid #f2f2f2;
}

.faq 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);
}

.faq dl.acMenu dt.active {
    background:var(--color-bg);
}

.faq dl.acMenu dt.active:after {
    transform:translateY(-50%) rotate(90deg);
    transition:.2s;
}

.faq dl.acMenu dd{
    line-height:1.6;
    display:none;
    padding:2rem;
    width:100%;
}

.faq dl.acMenu.qa dd ul{
    display:flex;
    flex-wrap:wrap;
    list-style:none;
}

.faq dl.acMenu.qa dt:before{
    content:"Q";
    font-family: var(--font-family-en);
    font-size:3.6rem;
    font-weight:600;
    color: var(--color-primary);
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    left:1rem;
    line-height:1;
}

.faq dl.acMenu.qa dd:before{
    content:"A";
    font-family: var(--font-family-en);
    font-size:3.6rem;
    font-weight:600;
    color:var(--color-form);
    position:absolute;
    left:1rem;
    line-height:1;
}

.faq dl.acMenu.qa dd,dl.acMenu.qa dt{
    padding:2rem 3rem 2rem 5rem;
    margin:0;
}

.faq dl.acMenu.qa dd .contents-inner,dl.acMenu.qa dt .contents-inner{
    border-left:2px solid #c7cbcc;
    height:auto;
    max-width: none;
}

.faq dl.acMenu.qa dd {
    background: #fbfdfd;
    margin: 0 0 3rem;
}

.faq dl.acMenu.qa dd .lead {
    font-size: 1.6rem;
    color: #8f5b83;
}

.faq dl.acMenu.qa dt .contents-inner{
    font-size:1.6rem;
    line-height:1.6;
    font-weight:600;
    padding:.5rem 2rem .5rem 1rem;
}

.faq p.lead{
    margin:0 0 1rem;
    color:#8f5b83;
}

.faq dl.acMenu.qa dd .contents-inner{
    font-size:1.4rem;
    line-height:1.4;
    padding:.5rem 2rem .5rem 2rem;
}

.faq dl.acMenu.qa dd ul.col2 li:nth-child(2n){
    width:100%;
    padding:2rem 1rem 1rem;
    border-bottom:3px solid #eee;
}

.faq dl.acMenu.qa dd ul.col2 li:nth-child(2n+1){
    width:100%;
    padding:2rem 1rem 1rem;
    border-bottom:1px solid #eee;
    font-weight:600
}

.faq dl.acMenu.price-ac-list{
    margin:0 0 6rem;
}

.faq h2 {
    font-size: 2rem;
    margin: 6rem 0 0;
}

.faq h3 {
    font-size: 1.8rem;
    margin: 3rem 0 0;
}

.faq .grid-wrap {
    column-gap: 1%;
}

@media (min-width:600px){

    .faq dl.acMenu.qa dd ul.col2 li:nth-child(2n+1){
        width:70%;
    }

    .faq dl.acMenu.qa dd ul.col2 li:nth-child(2n){
        width:30%;
    }

    .faq dl.acMenu.price-ac-list{
        margin:0 0 10rem;
    }

}

/*//////////////////// SPRIT STICKY ////////////////////////*/

.split .contents-img.sticky  {
    display: none;
}

.split .contents-wrap .contents-img.sticky {
    background: var(--color-pale);
    margin: 0;
}

@media (min-width: 821px) {

    .split .sticky {
        position: sticky;
        top: 0px;
    }

    .split .odd > .contents-wrap {
        border-bottom: 1px solid var(--color-light);
    }

    .split .contents-img.sticky {
        display: flex;
        justify-content: center;
        align-items: flex-end;
        margin: 0;
    }

    .split .contents-img.sticky {
        flex: 1;
        height: 100vh;
    }

    .split .contents-wrap .contents-text {
        flex: 5;
    }

    .split .anchor .contents-text {
        padding: 0 2rem;
    }

    .split .even > .contents-wrap .contents-text .contents-inner,
    .split .odd > .contents-wrap .contents-text .contents-inner {
        max-width: 720px;
        padding: 8rem 0;
        margin: auto;
    }

    .split .contents-wrap .contents-img.sticky {
        display: flex;
        justify-content: start;
        align-items: end;
    }

    .split .contents-wrap .contents-img.sticky:before {
        position: absolute;
        font-family: var(--font-family-en-serif);
        font-size: 10rem;
        color: var(--color-non);
        line-height: .5;
        writing-mode: vertical-rl;
    }

    .split .contents-wrap:nth-child(even) .contents-img.sticky:before {
        writing-mode: vertical-lr;
    }

    .split .contents-wrap .contents-img.sticky:before {
        content: 'EMR / Health check';
    }

}

/*//////////////////// STICKY counter ////////////////////////*/

.split .contents-inner {
    counter-reset: num 0;
}

/*//////////////////// COUNTER ////////////////////////*/

ol.counter {
    position: relative;
    list-style-type: none;
    padding-left: 2rem;

    counter-reset: item;
}

ol.counter li {
    line-height: 1.5;
    margin: 1rem 1rem 2rem;
    font-size: 1.6rem;
}

ol.counter>li:before {
    position: absolute;
    left: 0;
    font-weight: 500;
    font-family: var(--font-family-en-serif);
    font-size: 2.4rem;
    line-height: 1;
    color: var(--color-primary);

    counter-increment: item;
    content: counter(item)'.';
}

/*//////////////////// STACK ////////////////////////*/

.rel2 .service .contents-wrap .contents-img {
    height: 200px;
}

.rel2 .service .contents-wrap:nth-child(1) .contents-img {
    background: url(../../content/images/service/01.jpg) no-repeat center/cover;
}

.rel2 .service .contents-wrap:nth-child(2) .contents-img {
    background: url(../../content/images/service/02.jpg) no-repeat center/cover;
}

.rel2 .service .contents-wrap:nth-child(3) .contents-img {
    background: url(../../content/images/service/03.jpg) no-repeat center/cover;
}

.rel2 .service .contents-wrap:nth-child(4) .contents-img {
    background: url(../../content/images/service/04.jpg) no-repeat center/cover;
}


@media (min-width: 821px) {

    .rel2 .service .contents-wrap.stack {
        margin: 0 0 20rem;
    }

    .rel2 .service .contents-wrap .contents-img {
        flex: 1.5;
        height: 400px;
    }

    .rel2 .service .contents-wrap .contents-text .contents-inner {
        position: absolute;
        background: #FFF;
        box-shadow: 0 1.2rem 2.2rem -1rem hsl(0deg 0% 20% / 20%);
        padding: 4rem;
    }

    .rel2 .service .even .contents-wrap.stack:nth-child(odd) .contents-text .contents-inner,
    .rel2 .service .odd .contents-wrap.stack:nth-child(even) .contents-text .contents-inner {
        bottom: -10rem;
        left: -10rem;
    }

    .rel2 .service .even .contents-wrap.stack:nth-child(even) .contents-text .contents-inner,
    .rel2 .service .odd .contents-wrap.stack:nth-child(odd) .contents-text .contents-inner {
        bottom: -10rem;
        right: -10rem;
    }

}

/*//////////////////// BG ////////////////////////*/

.bg {
    padding: 30rem 0;
}

.bg.img_01 {
    background: url(../../content/images/top/bg_01s.jpg) no-repeat center center/cover;
    height: 200px;
}

.bg.img_02 {
    background: url(../../content/images/top/bg_02s.jpg) no-repeat center center/cover;
    height: 200px;
}

.bg.img_03 {
    background: url(../../content/images/top/bg_02s.jpg) no-repeat center center /cover fixed;
    height: 200px;
}

@media (min-width: 821px) {

    .bg.img_01 {
        background: url(../../content/images/top/bg_01.jpg) no-repeat center center/cover;
        height: 400px;
    }

    .bg.img_02 {
        background: url(../../content/images/top/bg_02.jpg) no-repeat center center/cover;
        height: 500px;
    }

    .bg.img_03 {
        background: url(../../content/images/top/bg_02.jpg) no-repeat center center /cover fixed;
        height: 500px;
    }

}

/*//////////////////// BG WRAP ////////////////////////*/

.bg-wrap {
    background: var(--color-light);
    padding: 2rem;
    margin: 2rem 0 4rem;
}

.bg-wrap-inner {
    background: var(--color-non);
    color: var(--color-basic);
    padding: 2rem;
}

.bg-wrap-inner p {
    margin: 0 0 .5rem;
}

/*//////////////////// BG BOX ////////////////////////*/

.bg-box {
    background: var(--color-pale);
    border: 3px solid var(--color-light);
    padding: 2rem;
    margin: 2rem 0 4rem;
}

.bg-box ul,
.bg-box ol {
    padding-left: 1rem;
}

.bg-box.black {
    background: var(--color-dark);
    color: var(--color-non);
}

.bg-box-inner {
    background: var(--color-non);
    color: var(--color-basic);
    padding: 2rem;
}

.bg-box-inner p {
    margin: 0 0 .5rem;
}

/*//////////////////// INFORMATION BLOCK ////////////////////////*/

.information-block .acTabs > dd {
    border: none;
}

/*//////////////////// SOLUTION BLOCK ////////////////////////*/

.solution-block h2 {
    color: var(--color-non);
}

.solution-block p {
    color: var(--color-non);
}

.solution-block .button.mark {
    border: 1px solid var(--color-non);
    margin: .5rem;
}

@media (min-width: 821px) {

    .solution-block .contents-wrap > .contents-text .contents-inner {
        max-width: 60%!important;
        margin: auto;
    }

}

/*//////////////////// PROFILE ////////////////////////*/

@media (min-width: 821px) {

    .profile ul.col2 {
        margin: 0 0 2rem;
    }

}

/*//////////////////// FLOW WRAP ////////////////////////*/

.flow-wrap {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 2rem 1fr;
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    justify-items: stretch;
    align-items: stretch;
}

.flow-wrap .contents-img:nth-child(even) {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flow-wrap .contents-img:nth-child(even):before {
    font-family: 'Material Symbols Outlined';
    content: '\e5cf';
    font-size: 7.2rem;
}

@media (min-width: 821px) {

    .flow-wrap {
        display: grid;
        grid-template-columns: 1fr 20px 1fr;
        grid-template-rows: 1fr;
    }

    .flow-wrap .contents-img:nth-child(even):before {
        content: '\e5cc';
    }

}

/*//////////////////// DIALOGUE ////////////////////////*/

.dialogue h2 span:nth-child(2) {
    font-size: 2.4rem;
    display: block;
    line-height: 2;
}

.dialogue h3 {
    position: relative;
    padding-left: 3rem;
}

.dialogue h3:before {
    content: "Q";
    font-family: var(--font-family-en-serif);
    font-size: 3rem;
    font-weight: 400;
    color: var(--color-primary);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    line-height: 1;
}

.dialogue .bg-box ul.col2 li .download-list li.pdf {
    margin: 0;
}

@media (min-width: 821px) {

    .dialogue dl dt {
        width: 100px;
        font-weight: 600;
        background: none;
        color: var(--color-primary);
    }

    .dialogue dl dd {
        width: calc( 100% - 100px );
    }

    .rel103 .dialogue .contents-wrap > .contents-img {
        width: 40%;
    }

    .rel103 .dialogue .contents-wrap > .contents-text {
        width: 60%;
    }

    .rel103 .dialogue .odd > .contents-wrap > .contents-text {
        padding: 0 2rem 0 0;
    }

    .rel103 .dialogue .even > .contents-wrap > .contents-text {
        padding: 0 0 0 2rem;
    }

    .rel103 .dialogue dl dt {
        border: none;
    }

    .rel103 .dialogue dl dd {
        border: none;
    }

}

/*//////////////////// PROFILE ////////////////////////*/

.profile .contents-box {
    width: 100%;
    border: 1px solid #EFEFEF;
    padding: 2rem;
    margin: 2rem auto;
    border-radius: 5px;
    box-shadow: rgb(0 0 0 / 10%) 0 20px 25px -5px, rgb(0 0 0 / 4%) 0 10px 10px -5px;
}

@media (min-width: 821px) {

    .profile .contents-box {
        margin: 2%;
    }

    .profile .contents-img {
        flex: 1;
    }

    .profile .contents-text {
        flex: 4;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 0 0 0 3rem;
    }

}

/*//////////////////// ACCESS ////////////////////////*/

.access h3 {
    text-align: center;
    margin: auto;
}

.access h3:not(:first-of-type) {
    margin-top: 8rem;
}

.access h3 span {
    display: inline-block;
    font-family: var(--font-family-en-serif);
    font-size: 2.6rem;
    letter-spacing: .05rem;
    margin-right: 0.7rem;
}

/*//////////////////// MOTION ////////////////////////*/

.grid-wrap > * {
    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);
    }

}

/*//////////////////// PARALLAX ////////////////////////*/

.prlx {
    position: relative;
    overflow: hidden;
    background: url(../../content/images/top/csr.jpg) no-repeat center/cover;
     height: 600px;
}

.prlx-wrap {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: var(--color-non);
    padding: 4rem;
    opacity: .7!important;
}

.prlx-wrap h2 {
    font-size: 2rem;
    margin: 4rem 0 0;
 
}

@media (min-width: 821px) {

    .prlx-wrap {
        display: flex;
        align-items: center;
        left: 20%;
        width: 500px;
    }

}

/*//////////////////// VIDEO ////////////////////////*/

.video {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: -1;
    background: url(../../content/media/alternative.jpg) no-repeat center/cover;
}

.video::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(16, 57, 75, .3);
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}

.video video {
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

@media (min-width: 821px) {

    .video {
        min-width: 960px;
    }

}

/*//////////////////// MODAL ////////////////////////*/

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
    pointer-events: none;
    opacity: 0;
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.7);
}

.modal.is-active {
    opacity: 1;
    pointer-events: auto;
}

.modal-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.modal-contents {
    position: relative;
    background-color: #fff;
    width: 100%;
    max-width: 900px;
    padding: 20px;
    overflow-y: auto;
}

.modal-close {
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
    height: 40px;
    background: #fff;
    border: none;
    cursor: pointer;
    z-index: 10;
}

.modal-item {
    cursor: pointer;
}

@media (max-width: 768px) {

    .modal .swiper-button-next,
    .modal .swiper-button-prev {
        display: none;
    }

}

/*//////////////////// MODAL SLIDE ////////////////////////*/

.slide {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
    pointer-events: none;
    opacity: 0;
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.7);
}

.slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

.slide-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.slide-close {
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
    height: 40px;
    background: #fff;
    border: none;
    cursor: pointer;
    z-index: 10;
}

.slide-contents {
    display: block;
    position: fixed;
    bottom: -600px;
    height: 600px;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    transition: all 0.5s;
    z-index: 3;
}

.is-active .slide-contents {
    bottom: 0;
    background: var(--color-pale);
}

/*//////////////////// GRID-SECTION ////////////////////////*/

.grid-section {
    position: relative;
    top: -150px;
    width: 100%;
    overflow: hidden;
    z-index: 2;
}

.grid-layout {
    display: flex;
    display: grid;
    height: 100%;
    width: 100%;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 0.5rem;
    transform-origin: center top;
}

.column {
    height: 100%;
    overflow: hidden;
}

.panel {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.column-content {
    display: grid;
    grid-template-rows: 40vh 40vh 40vh;
    grid-gap: 1rem;
    height: 100%;
}

.grid-image {
    width: 100%;
}

.grid-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

@media screen and (min-width: 821px) {

    .grid-layout {
        grid-gap: 2rem;
    }

    .column-content {
        grid-template-rows: 60vh 60vh 60vh;
        grid-gap: 3rem;
        height: 100%;
    }

}

/*//////////////////// IMG-BLOCK ////////////////////////*/

.img-block {
    position: relative;
}

.img-block .contents-text {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    background: rgba(0, 0, 0, .5);
    color: var(--color-non);
    text-align: right;
    padding: 4rem;
}

.img-block h1 {
    margin: 0 0 2rem;
}

.img-block .dr {
    font-size: 2rem;
    padding: 2rem 0 0;
}

.img-block .lead {
    font-weight: 400;
    margin: 1rem 0 0;
}

@media (min-width: 821px) {

    .img-block .contents-inner {
        max-width: 1240px;
        margin: auto;
    }

}

.list .img-block .contents-img,
.page .img-block .contents-img {
    height: 300px;
    margin: 0;
}

.rel2 .img-block .contents-img {
    background: url(../../content/images/service/main.jpg) no-repeat center/cover;
}

.rel7 .img-block .contents-img {
    background: url(../../content/images/customers-voice/main.jpg) no-repeat center/cover;
}

.rel8 .img-block .contents-img {
    background: url(../../content/images/about-embalming/main.jpg) no-repeat center/cover;
}

.rel9 .img-block .contents-img {
    background: url(../../content/images/faq/main.jpg) no-repeat center/cover;
}

.rel10 .img-block .contents-img {
    background: url(../../content/images/embassy/main.jpg) no-repeat center/cover;
}

.rel12 .img-block .contents-img {
    background: url(../../content/images/center/main.jpg) no-repeat center/cover;
}

.rel13 .img-block .contents-img {
    background: url(../../content/images/company/main.jpg) no-repeat center/cover;
}

.rel16 .img-block .contents-img {
    background: url(../../content/images/csr/main.jpg) no-repeat center/cover;
}

.rel20 .img-block .contents-img {
    background: url(../../content/images/service/embalming/main.jpg) no-repeat center/cover;
}

.rel21 .img-block .contents-img {
    background: url(../../content/images/service/overseas/main.jpg) no-repeat center/cover;
}

.rel160 .img-block .contents-img {
    background: url(../../content/images/service/support/main.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .list .img-block .contents-img,
    .page .img-block .contents-img {
        height: 400px;
    }

}

/*//////////////////// INETERNAL-BLOCK ////////////////////////*/

.ineternal-block .grid-wrap {
    gap: 1rem;
    margin: 2rem 0 4rem;
}

@media screen and (min-width: 821px) {

    .ineternal-block .grid-wrap {
        gap: 3%;
    }

}

/*//////////////////// rel1 ////////////////////////*/

.rel1 .img-block .dr {
    font-size: 3rem;
    margin: 6rem 0 0;
}

.img-block .main-copy {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    font-family: var(--font-family-ja-min);
    font-size: 3rem;
    color: var(--color-non);
    text-align: center;
    padding: 2rem 2rem 4rem;
}

.img-block .main-copy img {
    filter: brightness(100);
}

.img-block .main-copy span.dr {
    display: block;
}

.rel1 .img-block .bg {
    background: url(../../content/images/top/bg_01.jpg) no-repeat center/cover;
    height: 400px;
}

.rel1 .heading {
    margin: 0;
}

.rel1 .img-block .lead span {
    display: block;
    font-family: var(--font-family-ja);
    font-size: 1.3rem;
    padding: 1rem 0 2rem;
    line-height: 1.6;
}

@media screen and (min-width: 821px) {

    .rel1 .img-block .dr {
        font-size: 3rem;
    }

    .rel1 .img-block .lead {
        font-size: 3.2rem;
    }    

    .rel1 .img-block .bg {
        height: 70vh;
    }

    .img-block .main-copy {
        font-size: 3.6rem;
    }

}

/*//////////////////// rel2 ////////////////////////*/

.rel2 .stack .inter {
    border-bottom: 1px solid var(--color-basic);
    font-size: 1.2rem;
    letter-spacing: 0.1rem;
}

.rel2 .stack .inter span {
    display: block;
    font-size: 2.4rem;
}

.rel2 .stack h2 {
    padding: 2rem 0 0;
}

/*//////////////////// rel8 ////////////////////////*/

.rel8 section.grief-care {
    margin-top: 3rem;
}

.rel8 .anchor article,
.rel8 .service article {
    position: relative;
}

.rel8 .grief-care {
    position: relative;
    padding: 10rem 0 0;
}

.rel8 .grief-care .justify > p::before {
    content: "";
    position: absolute;
    width: 80px;
    height: 80px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url(../../content/images/icon_plus.svg) no-repeat center center/contain;
}

.rel8 .grief-care .contents-inner {
    padding: 2rem;
    text-align: center;
}

.rel8 .grief-care-as-emberming .contents-inner {
    padding: 1rem;
}

.rel8 .grief-care-as-emberming .justify {
    margin: 0 auto 10rem;
}

section.grief-care-as-emberming {
    margin-top: 5rem;
}

.rel8 .grief-care .contents-wrap .contents-text .contents-inner h3 {
    font-size: 2.6rem;
    line-height: 1.4;
    margin: 3rem 0 0;
    padding: 0;
}

.rel8 .grief-care .contents-wrap .contents-text .contents-inner p {
    line-height: 1.4;
}

.rel8 .grief-care .c4 {
    margin: 8rem 0 0;
}

@media (min-width: 821px) {

    .rel8 .grief-care-as-emberming .contents-inner {
        padding: 5%;
    }
    .rel8 .grief-care .contents-wrap .contents-text .contents-inner h3 {
        font-size: 3rem;
    }

}

/*//////////////////// ANCHOR ////////////////////////*/

.rel8 .anchor article {
    position: relative;
}

.rel8 .anchor article .contents-text {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -80%);
    width: 100%;
    font-family: var(--font-family-ja-min);
    font-size: 1.8rem;
    color: var(--color-non);
    text-align: center;
    z-index: 2;
}

.rel8 .anchor article .contents-text::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    margin: 1rem .5rem;
    background: url(../../content/images/icon_anchor.svg) no-repeat center center/contain;
}

.rel8 .anchor article .contents-text span {
    display: block;
    font-family: var(--font-family-en);
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: .1rem;
    text-transform: uppercase;
}

.rel8 .anchor .contents-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,.6)) 100%;
    width: 100%;
    height: 100%;
    border-radius: 5px;
}

.rel8 section.c3 .even .contents-wrap .contents-img {
    background: no-repeat center/cover;
    height: 300px;
}

.rel8 .p4 .grid-wrap {
    gap: 5rem;
    margin: 6rem 0 0;
}

@media (min-width: 821px) {

    .rel8 section.c3 .even .contents-wrap .contents-img {
        height: 500px;
    }

    .rel8 .anchor article .contents-text {
        font-size: 2.2rem;
    }

}

.rel8 .anchor .grid-wrap a .contents-img {
    position: relative;
    height: 160px;
    border-radius: 5px;
    margin: 0;
}

.rel8 .anchor .grid-wrap a:nth-child(1) .contents-img {
    background: url(../../content/images/about-embalming/04.jpg) no-repeat center/cover;
}

.rel8 .anchor .grid-wrap a:nth-child(2) .contents-img {
    background: url(../../content/images/about-embalming/05.jpg) no-repeat center/cover;
}

.rel8 .anchor .grid-wrap a:nth-child(3) .contents-img {
    background: url(../../content/images/about-embalming/06.jpg) no-repeat center/cover;
}

.rel8 .anchor .grid-wrap a:nth-child(4) .contents-img {
    background: url(../../content/images/about-embalming/07.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel8 .anchor .grid-wrap a .contents-img {
        height: 260px;
    }

}

/*//////////////////// INETERNAL-BLOCK ////////////////////////*/

.ineternal-block .contents-text {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -80%);
    width: 100%;
    font-family: var(--font-family-ja-min);
    font-size: 1.6rem;
    color: var(--color-non);
    text-align: center;
    z-index: 2;
}

.ineternal-block .anchor article .contents-text::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    background: url(../../content/images/icon_arrowD.svg) no-repeat center center/contain;
}

.ineternal-block .contents-text span {
    display: block;
    font-family: var(--font-family-en);
    font-size: 1.2rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05rem;
}

.ineternal-block .contents-img {
    position: relative;
    height: 160px;
    border-radius: 5px;
}

.ineternal-block .contents-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,.6)) 100%;
    width: 100%;
    height: 100%;
    border-radius: 5px;
}

@media (min-width: 980px) {

    .ineternal-block .contents-img {
        height: 260px;
    }

    .ineternal-block .contents-text {
        font-size: 1.8rem;
    }

}

/*//////////////////// EMBASSY ////////////////////////*/

.embassy .message-block {
    position: relative;
    border-top: 5px solid var(--color-basic);
    border-left: 5px solid var(--color-basic);
    border-right: 5px solid var(--color-basic);
    text-align: center;
    padding: 3rem 1.5rem 3rem;
}

.embassy .message-block h2 {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--color-non);
    padding: 0 2rem;
    white-space: nowrap;
}

.embassy .contact-block.middle {
    background: var(--color-light-blue);
    color: var(--color-basic);
    border: 5px solid var(--color-basic);
    padding: 0 0 4rem;
    margin: 0;
}

.embassy .contact-block.middle .button.icon.tel {
    font-family: var(--font-family-en);
    font-size: 3.2rem;
    line-height: 1.2;
    background: none;
    border: none;
    color: var(--color-basic);
    padding: 0;
    margin: 0;
}

.embassy .contact-block.middle .icon.tel::before {
    filter: brightness(0);
    padding: 1.4rem;
    margin: 0 1rem 0 0;
}

@media (min-width: 821px) {

    .embassy .message-block {
        padding: 4rem;
    }

}

/*//////////////////// FLOW ////////////////////////*/

.flow .contents-img .contents-inner {
    display: flex;
    justify-content: center;
}

@media (min-width: 821px) {

    .rel20 .flow .contents-inner {
        padding: 4rem;
    }

}

/*//////////////////// GRIFF CARE ////////////////////////*/

.forest {
    background: url("../../content/images/top/griff-care.png") no-repeat center/cover;
}

.cloud02 {
    text-align: right;
}

@media (min-width: 821px) {

    .forest {
        background: url("../../content/images/top/griff-care.png") no-repeat center/contain;
    }

}

/*//////////////////// LOTTIE ////////////////////////*/

.gray {
    background: var(--color-pale);
    margin: 0 0 12rem;
    padding: 6rem 0;
}

#lot_01,
#lot_02,
#lot_03,
#lot_04,
#lot_05 {
    max-width: 340px;
    display: block;
    overflow: hidden;
    transform: translate3d(0, 0, 0);
    text-align: center;
    opacity: 1;
}

/*//////////////////// BANNER BLOCK ////////////////////////*/

.banner-block {
    padding: 8rem 0;
    margin: 0;
}

.banner-block .contents-wrap {
    box-shadow: var(--box-shadow);
}

@media (min-width: 821px) {

    .banner-block .contents-wrap .contents-text .contents-inner {
        padding: 2rem 4rem!important;
    }

}

/*//////////////////// FLOW ////////////////////////*/

.flow .odd {
    background: var(--color-pale);
}

.flow > div {
    counter-increment: num;
}

.flow > div .inter::before {
    content: '0'counter(num);
    display: block;
    font-family: var(--font-family-en);
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 1rem;
}

/*//////////////////// HEADING ////////////////////////*/

@media (min-width: 821px) {

    .heading .contents-wrap > .contents-text {
        flex: 1.5;
    }

}

/*//////////////////// C2 ////////////////////////*/

.c2 {
    margin: 0;
}

/*//////////////////// C3 ////////////////////////*/

.c3 {
    counter-reset: num 0;
}

.c3 h3 {
    counter-increment: num;
    font-size: 2.4rem;
}

.c3 h3::before {
    content: '0'counter(num);
    font-family: var(--font-family-en);
    font-size: 4rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.1rem;
}

.c3 h3 span {
    font-size: 1.4rem;
    padding: 0 0 2rem;
}

.c3 .grid-wrap .contents-text {
    height: calc(100% - 400px);
    padding: 4rem;
}

.c3 .contents-inner {
    padding: 5%;
    margin: auto;
}

.c3 .grid-wrap {
    gap: 0;
    border-top: 1px solid var(--color-light);
    border-bottom: 1px solid var(--color-light);
}

.c3 a article {
    border-left: 1px solid var(--color-light);
    width: 100%;
}

.c3 a:last-child article {
    border-right: 1px solid var(--color-light);
}

@media (min-width: 980px) {

    .c3 a {
        display: flex;
        margin-top: auto;
        height: 100%;
    }

}

.rel1 .c3 .grid-wrap a .contents-img {
    height: 300px;
    margin: 0;
}

.rel1 .c3 .grid-wrap a:nth-child(1) .contents-img {
    background: url(../../content/images/about-embalming/04.jpg) no-repeat center/cover;
}

.rel1 .c3 .grid-wrap a:nth-child(2) .contents-img {
    background: url(../../content/images/about-embalming/05.jpg) no-repeat center/cover;
}

.rel1 .c3 .grid-wrap a:nth-child(3) .contents-img {
    background: url(../../content/images/about-embalming/06.jpg) no-repeat center/cover;
}

.rel1 .c3 .grid-wrap a:nth-child(4) .contents-img {
    background: url(../../content/images/about-embalming/07.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel1 .c3 .grid-wrap a .contents-img {
        height: 400px;
    }

}

/*//////////////////// C4 ////////////////////////*/

.c4 {
    overflow: hidden;
}

.c4 p span {
    display: block;
    font-family: var(--font-family-ja-min);
    font-size: clamp(1.6rem, 2vw, 2rem);
    font-weight: 600;
    line-height: 1.6;
    margin: 4rem 0 1rem;
}

/*//////////////////// P0 ////////////////////////*/

.p0 .contents-box {
    flex: 2;
}

.p0 article {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--color-light);
    margin: 0 0 4rem;
}

.p0 article::after {
    content: "CLICK";
    display: flex;
    align-items: center;
    font-family: var(--font-family-en);
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1;
    background: var(--color-dark-blue);
    color: var(--color-non);
    padding: 2rem;
    letter-spacing: .1rem;
}

.p0 ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.p0 ul li .date {
    display: inline-block;
    font-family: var(--font-family-en);
    font-size: 1.1rem;
    font-weight: 500;
    background: var(--color-primary);
    color: var(--color-non);
    padding: .5rem 1rem;
}

.rel1 .p0 ul.col2 > li:nth-child(2n+1) {
    border-bottom: none;
    padding: 2rem 1rem 0;
}

.rel1 .p0 ul.col2 > li:nth-child(2n) {
    padding: 2rem 1rem 0;
}

.p0 ul li h3 {
    padding: 0;
    margin: 1rem 0 1.5rem;
    font-size: 1.6rem;
}

@media (min-width: 821px) {

    .p0 .contents-wrap {
        margin: 0 0 6rem;
    }

    .p0 .contents-wrap.notice {
        padding: 0 4rem;
        margin: 4rem 0;
    }

    .p0 .grid-wrap {
        margin:0 0 6rem;
    }

    .p0 .notice .contents-text {
        flex: 3;
    }

    .p0 .contents-wrap > .contents-inner {
        padding: 4rem;
    }

    .rel1 .p0 ul.col2 > li:nth-child(2n+1) {
        border-bottom: 1px solid var(--color-light);
    }

    .rel16 .p0 .contents-img {
        height: 200px;
    }

}

.rel1 .p0 ul li h3 {
    font-size: 1.6rem;
    margin: 0 0 .8rem;
}

.list .p0 .content-text {
    padding: 0 2rem 0 0;
}

@media (min-width: 821px) {

    .list .p0 .content-text {
        padding: 0 4rem 0 0;
    }

}

/*//////////////////// P1 ////////////////////////*/

.p1 .contents-box {
    background: var(--color-non);
    padding: 4rem 2rem 2rem;
}

.p1 .contents-box .dr {
    font-size: 2rem;
    text-align: center;
}

.p1 .contents-img {
    height: 180px;
}

.p1 .contents-text {
    display: flex;
    flex-direction: column;
}

.p1 .contents-text h3 {
    font-size: 1.4rem;
    margin: .5rem 0 0;
}

.p1 .contents-text .button {
    margin-top: auto;
}

@media (min-width: 821px) {

    .p1 .contents-box {
        flex: 2;
        display: flex;
        flex-direction: column;
        background: var(--color-non);
        padding: 4rem 2rem 2rem;
    }

    .rel1 .p1 .grid-wrap {
        column-gap: 0;
    }

    .rel1 .p1 .contents-img {
        height: 200px;
    }

}

/*//////////////////// P2 service ////////////////////////*/

.p2 h3 {
    margin: 0;
    font-size: clamp(1.8rem, 2vw, 2rem);
}

.p2 ul {
    list-style: none;
    padding: 0;
}

.p2 ul li {
    display: flex;
    margin: 0 0 4rem;
}

.p2 ul li p {
    margin: 0;
}

.p2 ul li p span {
    margin: 0;
}

.p2 ul li p span {
    display: block;
    font-family: var(--font-family-ja-min);
    font-size: clamp(1.7rem, 1.6vw, 1.8rem);
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 1rem;
}

.p2 ul.line li::before {
    content: "";
    border-left: 3px solid var(--color-basic);
    padding: 1rem;
}

.p2 ul.counter li {
    counter-increment: num;
}

.p2 ul.counter li p span {
    border-bottom: 2px solid var(--color-basic);
    margin: 0 0 1rem;
}

.p2 ul.counter li::before {
    content: '0'counter(num);
    font-family: var(--font-family-en);
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1;
    margin-right: 1.5rem;
}

.page .p2 .contents-wrap:not(:last-child) {
    margin-bottom: 10rem;
}

.page .p2 .contents-wrap .contents-img {
    height: 300px;
}

.rel10 .p2 .contents-wrap:first-child .contents-img {
    background: url(../../content/images/embassy/01.jpg) no-repeat center/cover;
}

.rel10 .p2 .contents-wrap:last-child .contents-img {
    background: url(../../content/images/embassy/02.jpg) no-repeat center/cover;
}

.rel20 .p2 .contents-wrap:nth-of-type(2) .contents-text ul.counter:nth-of-type(1) {
    counter-reset: num 3;
}

.rel20 .p2 .contents-wrap:nth-of-type(2) .contents-text ul.counter:nth-of-type(2) {
    counter-reset: num 5;
}

.rel20 .p2 .contents-wrap:first-child .contents-img {
    background: url(../../content/images/service/embalming/01.jpg) no-repeat center/cover;
}

.rel20 .p2 .contents-wrap:last-child .contents-img {
    background: url(../../content/images/service/embalming/02.jpg) no-repeat center/cover;
}

.rel21 .p2 .contents-wrap:first-child .contents-img {
    background: url(../../content/images/service/overseas/01.jpg) no-repeat center/cover;
}

.rel21 .p2 .contents-wrap:last-child .contents-img {
    background: url(../../content/images/service/overseas/02.jpg) no-repeat center/cover;
}

.rel22 .p2 .contents-wrap:first-child .contents-img {
    background: url(../../content/images/service/accident/01.jpg) no-repeat center/cover;
}

.rel22 .p2 .contents-wrap:last-child .contents-img {
    background: url(../../content/images/service/accident/02.jpg) no-repeat center/cover;
}

.rel160 .p2 .contents-wrap:first-child .contents-img {
    background: url(../../content/images/service/support/01.jpg) no-repeat center/cover;
}

.rel160 .p2 .contents-wrap:last-child .contents-img {
    background: url(../../content/images/service/support/02.jpg) no-repeat center/cover;
}

.rel20 .contents-img.anokoro {
    background: url(../../content/images/service/embalming/03.jpg) no-repeat center/cover;
    height: 300px;
}

@media (min-width: 821px) {

    .page .p2 .contents-wrap > .contents-text {
        flex: 2;
    }

    .rel10 .p2 .contents-wrap:first-child .contents-img {
        height: 600px;
    }

    .rel10 .p2 .contents-wrap:last-child .contents-img {
        height: 600px;
    }

    .rel20 .p2 .contents-wrap:first-child .contents-img {
        height: 600px;
    }

    .rel20 .p2 .contents-wrap:last-child .contents-img {
        height: 600px;
    }

    .rel21 .p2 .contents-wrap:first-child .contents-img {
        height: 600px;
    }

    .rel21 .p2 .contents-wrap:last-child .contents-img {
        height: 700px;
    }

    .rel22 .p2 .contents-wrap:first-child .contents-img {
        height: 600px;
    }

    .rel22 .p2 .contents-wrap:last-child .contents-img {
        height: 700px;
    }

    .rel160 .p2 .contents-wrap:first-child .contents-img {
        height: 600px;
    }

    .rel160 .p2 .contents-wrap:last-child .contents-img {
        height: 700px;
    }

    .rel20 .contents-img.anokoro {
        height: 400px;
    }

}

/*//////////////////// P3 customers-voice ////////////////////////*/

.p3 .grid-wrap {
    row-gap: 6rem;
    margin: 4rem 0;
}

.p3 article {
    border: 1px solid var(--color-light);
    padding: 2rem;
}

.p3 .contents-wrap {
    position: relative;
    border: 1px solid var(--color-basic);
    padding: 4rem 4% 0;
    margin: 8rem 0;
}

.p3 .contents-text {
    position: initial;
    flex-direction: column;
    align-items: flex-start;
    padding: 2rem 1rem 1rem;
}

.p3 .contents-img {
    padding: 1rem;
}

.p3 .dr {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--color-non);
    font-size: 2.6rem;
    padding: 0 1rem;
    white-space: nowrap;
}

.rel1 .p3 .dr {
    font-size: 2.4rem;
}

.rel7 .p3 h3 {
    font-family: var(--font-family-ja);
    border-top: 1px solid var(--color-basic);
    border-bottom: 1px solid var(--color-basic);
    width: 100%;
    padding: 1rem 0;
    margin: 0 0 1rem;
    font-size: 1.5rem;
}
.rel7 .p3 p.lead {
    font-family: var(--font-family-ja-min);
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 400;
}

.rel1 .p3 .contents-text {
    padding: 5%;
}

.rel1 .p3 .contents-img {
    padding: 1rem;
}

.rel1 .p3 span.introtext {
    line-height: 1.6;
}

.rel1 .p3 h3 {
    line-height: 1.6;
    padding: 0 0 1rem;
}

@media (min-width: 821px) {
    .rel7 .p3 p.lead {
        font-size: 1.8rem;
    }
    .p3 .contents-text {
        padding: 4rem 0 1rem 5%;
    }
    .p3 .contents-img {
        padding: 1rem 0 4rem;
    }
}

/*//////////////////// P4 ////////////////////////*/

.p4 .contents-box {
    background: var(--color-primary);
    padding: 4rem 2rem 2rem;
}

.p4 .contents-box article {
    color: var(--color-non);
}

.p4 .contents-text {
    padding: .5rem 0 0;
}

.p4 h3 {
    font-family: var(--font-family-ja-min);
    font-size: 1.7rem;
    text-align: center;
    padding: 2rem 0 1rem;
}

.p4 .contents-box {
    counter-increment: num;
}

.p4 .contents-box .dr {
    text-align: center;
    font-size: 2.4rem;
}

.p4 .contents-box .dr::after {
    content: '0'counter(num);
    font-family: var(--font-family-en);
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1;
    margin-left: .5rem;
}

.rel8 .p4 .grid-wrap .contents-box .contents-img {
    height: 180px;
    margin: 0;
}

.rel8 .p4 .grid-wrap .contents-box:nth-child(1) .contents-img {
    background: url(../../content/images/about-embalming/01.jpg) no-repeat center/cover;
}

.rel8 .p4 .grid-wrap .contents-box:nth-child(2) .contents-img {
    background: url(../../content/images/about-embalming/02.jpg) no-repeat center/cover;
}

.rel8 .p4 .grid-wrap .contents-box:nth-child(3) .contents-img {
    background: url(../../content/images/about-embalming/03.jpg) no-repeat center/cover;
}

/*//////////////////// P5 ////////////////////////*/

.p5 ol {
    padding: 0 0 0 1.5rem;
}

.p5 .icon.tel::before {
    filter: brightness(0);
    padding: .8rem;
    margin: 0 1rem 0 0;
}

@media (min-width: 821px) {

    .p5 .contents-wrap > .contents-text {
        flex: 1.5;
    }

    .p5 .contents-wrap > .contents-text .contents-inner {
        max-width: 700px;
        margin: auto;
    }

}

.rel13 .p5 .contents-img {
    background: url(../../content/images/company/01.jpg) no-repeat center/cover;
    height: 400px;
}

.rel13 .p5 .contents-text .contents-inner {
    padding: 2rem;
}

.rel13 .p5 ul.col2 > li:nth-child(2n+1) {
    font-family: var(--font-family-ja-min);
    font-size: 1.6rem;
    border-bottom:none;
    padding: 3rem 1rem 0;
}

.rel13 .p5 ul.col2 > li:nth-child(2n) {
    padding: 1rem;
}

@media (min-width: 821px) {

    .rel13 .p5 .contents-img {
        height: 1000px;
    }

    .rel13 .p5 ul.col2 > li:nth-child(2n+1) {
        padding: 4rem 1rem 1rem;
        border-bottom: 2px solid var(--color-light);
    }

    .rel13 .p5 ul.col2 > li:nth-child(2n) {
        padding: 4rem 1rem 1rem;
    }

}

.rel16 .p5 .contents-wrap {
    border-top: 1px solid var(--color-light);
}

.rel16 .p5 .contents-text > .inter {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 3.6rem;
    line-height: 1;
    color: var(--color-light);
    padding: 2rem;
}

@media (min-width: 821px) {

    .rel16 .p5 .contents-text > .inter {
        font-size: 6rem;
    }

}

.rel16 .p5 .contents-wrap .contents-img {
    height: 300px;
}

.rel16 .p5 .contents-wrap > .contents-text {
    padding: 1rem;
}

.rel16 .p5 .contents-wrap:nth-child(1) .contents-img {
    background: url(../../content/images/csr/02.jpg) no-repeat center/cover;
}

.rel16 .p5 .contents-wrap:nth-child(2) .contents-img {
    background: url(../../content/images/csr/04.jpg) no-repeat center/cover;
}

.rel16 .p5 .contents-wrap:nth-child(3) .contents-img {
    background: url(../../content/images/csr/06.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .rel16 .p5 .contents-wrap > .contents-text {
        flex: 2;
        padding: 0;
    }

    .rel16 .p5 .contents-wrap:nth-child(1) .contents-img {
        height: 1000px;
    }

    .rel16 .p5 .contents-wrap:nth-child(2) .contents-img {
        height: 1000px;
    }

    .rel16 .p5 .contents-wrap:nth-child(3) .contents-img {
        height: 1000px;
    }

}
/*//////////////////// P6 ////////////////////////*/

.p6 {
    padding: 4rem 0;
}

.p6 .contents-box {
    background: var(--color-primary);
    text-align: center;
    padding: 1rem;
    margin: 2rem 0 0;
}

.p6 .contents-box .dr {
    font-size: 1.8rem;
    color: var(--color-non);
    line-height: 1.2;
}

.p6 h3 {
    color: var(--color-non);
    padding: 0;
    font-size: 1.7rem;
    line-height: 1.4;
}

.list .p6 .contents-img,
.page .p6 .contents-img {
    height: 100px;
    margin: 0;
}

.rel2 .p6 .contents-box:nth-child(1) .contents-img {
    background: url(../../content/images/banner/p6_embassy.jpg) no-repeat center/cover;
}

.rel2 .p6 .contents-box:nth-child(2) .contents-img {
    background: url(../../content/images/banner/p6_center.jpg) no-repeat center/cover;
}

.rel7 .p6 .contents-box:nth-child(1) .contents-img {
    background: url(../../content/images/banner/p6_whats.jpg) no-repeat center/cover;
}

.rel7 .p6 .contents-box:nth-child(2) .contents-img {
    background: url(../../content/images/banner/p6_blog.jpg) no-repeat center/cover;
}

.rel8 .p6 .contents-box:nth-child(1) .contents-img {
    background: url(../../content/images/banner/p6_embassy.jpg) no-repeat center/cover;
}

.rel8 .p6 .contents-box:nth-child(2) .contents-img {
    background: url(../../content/images/banner/p6_service_emb.jpg) no-repeat center/cover;
}

.rel9 .p6 .contents-box:nth-child(1) .contents-img {
    background: url(../../content/images/banner/p6_embassy.jpg) no-repeat center/cover;
}

.rel9 .p6 .contents-box:nth-child(2) .contents-img {
    background: url(../../content/images/banner/p6_whats.jpg) no-repeat center/cover;
}

.rel12 .p6 .contents-box:nth-child(1) .contents-img {
    background: url(../../content/images/banner/p6_embassy.jpg) no-repeat center/cover;
}

.rel12 .p6 .contents-box:nth-child(2) .contents-img {
    background: url(../../content/images/banner/p6_contact.jpg) no-repeat center/cover;
}

.rel13 .p6 .contents-box:nth-child(1) .contents-img {
    background: url(../../content/images/banner/p6_embassy.jpg) no-repeat center/cover;
}

.rel13 .p6 .contents-box:nth-child(2) .contents-img {
    background: url(../../content/images/banner/p6_voice.jpg) no-repeat center/cover;
}

.rel16 .p6 .contents-box:nth-child(1) .contents-img {
    background: url(../../content/images/banner/p6_csr_support.jpg) no-repeat center/cover;
}

.rel16 .p6 .contents-box:nth-child(2) .contents-img {
    background: url(../../content/images/banner/p6_embassy.jpg) no-repeat center/cover;
}

@media (min-width: 821px) {

    .p6 .grid-wrap.col12 {
        column-gap: 5%;
    }
    .p6 .contents-box {
        margin: 0;
    }

}

/*//////////////////// P7 ////////////////////////*/

.p7 .grid-wrap {
    grid-template-columns: repeat(1, 1fr);
}

.p7 .grid-wrap .contents-box {
    margin: 4rem 0;
}

.p7 .grid-wrap .contents-box img:nth-child(2) {
    margin: 4rem 0 0;
}

.p7 .grid-wrap .contents-box:nth-child(2) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    padding: 4rem;
    margin: 0;
}

.p7 .grid-wrap .contents-box:nth-child(2) .contents-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

@media (min-width: 821px) {

    .p7 .grid-wrap {
        grid-template-columns: auto 500px auto;
    }

}

/*//////////////////// P8 ////////////////////////*/

.p8 .prefecture {
    display: inline-block;
    font-family: var(--font-family-ja);
    font-size: 1.2rem;
    font-weight: 400;
    background: var(--color-basic);
    color: var(--color-non);
    padding: .5rem 1rem;
    margin-right: .5rem;
}

.p8 ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.p8 article {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    padding: 2rem;
    margin: 0 0 4rem;
}

.p8 article .contents-01,
.p8 article .contents-02 {
    position: relative;
}

.p8 article .contents-01 {
    width: calc(100% - 100px);
    height: 80px;
    background: url(../../content/images/center/01.png) no-repeat center / cover;
}

.p8 article .contents-02 {
    content: "";
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-family-en);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1;
    background: var(--color-dark-blue);
    color: var(--color-non);
    width: 80px;
    height: 80px;
    margin: auto;
    background: var(--color-dark-blue) url(../../content/images/icon_map.svg) no-repeat center center / contain;
    border: 10px solid var(--color-dark-blue);
    border-radius: 3px;
}

.contents-02 a {
    width: 100%;
    height: 100%;
}

.p8 article .contents-03 {
    padding: 1rem 0 2rem;
}

.p8 article .contents-03 .icon.tel::before {
    filter: brightness(0);
    padding: 1rem;
    margin: 0 .5rem 0 0;
}

.p8 article .contents-03 .date {
    display: inline-block;
    font-family: var(--font-family-en);
    font-size: 1.2rem;
    font-weight: 600;
    background: var(--color-primary);
    color: var(--color-non);
    padding: .5rem 1rem;
}

.p8 article .contents-03 h3 {
    padding: 0;
    margin: 0;
}

.p8 article .contents-03 p {
    margin: 0;
}

.p8 article .contents-03 a span {
    margin-left: 1rem;
}

@media (min-width: 821px) {

    .p8 article {
        padding: 3rem;
    }

    .p8 article .contents-01 {
        width: 200px;
        height: 100px;
        background: url(../../content/images/center/01.png) no-repeat center / cover;
    }

    .p8 article .contents-02 {
        order: 2;
    }

    .p8 article .contents-03 {
        width: calc(100% - 280px);
        padding: 0 0 0 2rem;
    }

}

/*//////////////////// CATEGORY ////////////////////////*/

.category {
    font-size: 1.3rem;
}

.category h2 {
    text-align: center;
    padding: 0;
    margin: 10rem 0 0;
}

.category h2 span {
    margin: 2rem 0 1rem;
}

.category a {
    width: 100%;
    text-align: left;
}

.category .cormorant {
    font-size: 1.6rem!important;
}

.article .main .category {
    margin: 1rem 0;
}

.category.line {
    border-top: 1px solid var(--color-light);
    border-bottom: 1px solid var(--color-light);
    padding: .5rem;
}

/*//////////////////// TAG ////////////////////////*/

.tag ul {
    list-style: none;
    padding: 0;
}

.tag li {
    display: inline-block;
    padding: 0 .5rem .5rem 0;
}

.side .tag li {
    padding: 0 .5rem .5rem 0;
}

.tag a {
    display: inline-block;
    border-radius: 2px;
    background: var(--color-blue);
    border: 1px solid var(--color-blue);
    line-height: 1.4;
    padding: .5rem;
    font-size: 1.3rem;
}

.side .tag ul {
    padding: 0 0 4rem;
    margin: 1rem 0 0;
}

/*//////////////////// LIST ////////////////////////*/

.list .p0,
.list .p1 {
    margin-top: 8rem;
}

/*//////////////////// ARTICLE main-contents ////////////////////////*/

.article .main-contents .contents-text .category span.dr{
    font-size: 2rem;
}

.article.rel5 .main-contents .contents-text {
    position: relative;
    border: 1px solid var(--color-basic);
    padding: 2rem 2rem 4rem;
    margin: 2rem 0;
}

.article.rel5 .main-contents .contents-text .category {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    padding: .5rem 2rem;
}

.article.rel5 .main-contents .contents-text .date {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 300px;
    text-align: center;
    background: var(--color-basic);
    color: var(--color-non);
    padding: .5rem 2rem;
}

.article.rel6 .main-contents {
    background: var(--color-non);
    padding: 1rem;
}
.article.rel6 .main-contents .contents-text .contents-wrap {
    justify-content: space-between;
    align-items: center;
}

.article.rel6 .main-contents .center .dr {
    font-size: 2rem;
    line-height: 2;
}

.rel6 .p1 .grid-wrap.col12 {
    row-gap: 5rem;
}

@media (min-width: 600px) {

    .rel6 .p1 .grid-wrap.col12 {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 3%;
    }

}

@media (min-width: 821px) {

    .article.rel6 .main-contents {
        padding: 4rem;
    }

}

/*//////////////////// ARTICLE contents ////////////////////////*/

.article .p0 .contents-img {
    height: auto;
}

.article .topicpath {
    margin: 0 0 4rem 0;
}

.article .main h1 {
    font-family: var(--font-family-ja-min);
    font-size: 1.8rem;
}

.article .contents {
    margin: 4rem 0;
}

.article .contents h2 {
    font-size: 1.8rem;
    line-height: 1.4;
    background: var(--color-blue);
    padding: 1rem;
    margin: 6rem 0 2rem;
}

.article .contents h3 {
    border-bottom: 3px solid var(--color-blue);
    padding: 1rem 0;
    margin: 4rem 0 2rem;
}

.article .main .contents-text .button {
    font-family: var(--font-family-ja-min);
    font-size: 1.6rem;
    padding: .5rem 0;
}

.article .contents .contents-box {
    margin: 4rem 0 0;
}

.article .p1 {
    margin: 0 0 4rem;
}

@media (min-width: 821px) {

    .article .contents .contents-wrap {
        column-gap: 35px;
    }

    .article .p1 {
        margin: 0 0 8rem;
    }

}

/*//////////////////// DOCUMENT ////////////////////////*/

.document .container h2 {
    margin: 4rem 0 0;
}

.document .container h3 {
    font-size: 1.6rem;
    padding: 0;
    margin: .5rem 0;
}

.document .container p,
.document .container ol li {
    line-height: 1.6;
}

.document .container>ol>li>span {
    font-family: var(--font-family-ja-min);
    font-size: 1.8rem;
    font-weight: 300;
}

.document .container ol {
    padding: 0 0 0 1em;
    margin: 0 0 2rem;
}

.document .container dl.purpose {
    counter-reset: num 0;
}

.document .container dl.purpose dt:not(:first-child)::before {
    counter-increment: num 1;
    content: '('counter(num)')';
    margin: 0 0.5rem 0 0;
}

.document .container dl.purpose dt:nth-child(4n+1),
.document .container dl.purpose dd:nth-child(4n+2) {
    margin: 0;
    border-bottom: 1px solid var(--color-light);
    padding: 1.6rem;
}

.document .container dl.purpose dt:nth-child(4n+3),
.document .container dl.purpose dd:nth-child(4n+4) {
    margin: 0;
    border-bottom: 1px solid var(--color-light);
    padding: 1.6rem;
}

.document .container dl.purpose dt:first-of-type {
    background: #b4bbbf;
    color: var(--color-non);
    margin: 0;
}

.document .container dl.purpose dt:not(:first-of-type):nth-child(4n+1),
.document .container dl.purpose dt:nth-child(4n+3) {
    background: #f7fafb;
    margin: 0;
}

.document .container ol {
    counter-reset: num 0;
}

.document .container ol>li {
    position: relative;
    counter-increment: num 1;
    list-style:none;
    padding-left: .5rem;
    margin: 0 0 1rem;
}

.document .container>ol>li::before {
    content: counter(num)'.';
    font-family: var(--font-family-ja-min);
}

.document .container ol li::before {
    position: absolute;
    left: -2rem;
}

.document .container ol.document-list li::before {
    position: absolute;
    left: -1.5rem;
}

.document .container>ol>li>ol>li::before {
    content: counter(num)')';
}

.document .container>ol>li>ol>li>ol>li::before {
    content: '('counter(num)')';
}

.document .container>ol>li>ol>li>ol>li>ol>li::before {
    content: '['counter(num)']';
}

ul.lower-alpha {
    counter-reset: alphabet;
}

ul.lower-alpha>li {
    list-style-type: none;
    counter-increment: alphabet;
}

ul.lower-alpha>li::before {
    content: counter(alphabet, lower-alpha) ')';
}

ol.nocount {
    margin: 0;
    padding: 0;
}

.document .container ol.nocount>li::before {
    content: '';
}

.document .container>ol:not(.document-list)>li::before {
    font-size: 1.8rem;
}

@media (min-width: 821px) {

    .document .container dl.purpose dt,
    .document .container dl.purpose dd {
        width: 50%;
        border: none;
    }

    .document .container p,
    .document .container ol li {
        line-height: 2;
    }

    .document .container h2 {
        margin: 8rem 0 0;
    }

    .document .container dl.purpose dt:first-of-type,
    .document .container dl.purpose dd:first-of-type {
        background: #61676a;
        color: var(--color-non);
        margin: 0;
    }

    .document .container>ol>li>span {
        font-size: 2rem;
    }

    .document .container>ol>li>ol>li>span {
        font-size: 1.8rem;
        font-weight: 600;
    }

    .document .container>ol:not(.document-list)>li::before {
        font-size: 2rem;
    }

    .document .container>ol>li>ol>li::before {
        font-size: 1.8rem;
    }

    .document .container dl.purpose dt:nth-child(4n+3),
    .document .container dl.purpose dd:nth-child(4n+4) {
        margin: 0;
        border-bottom: 1px solid var(--color-light);
    }

}

/*//////////////////// TERM ////////////////////////*/

.rel17 .document .container>ol>li::before {
    content: none;
}

.rel17 .document .container>ol>li>span {
    position: relative;
    left: -2rem;
    bottom: 0.5rem;
}

.rel17 .document .container>ol>li>ol>li::before {
    font-size: 1.8rem;
    line-height: 1.6;
}

.rel17 .document .container>ol>li>ol>li::before {
    content: counter(num)'.';
}

.rel17 .document .container ol>li {
    padding-left: 1rem;
}

.rel17 .document .container ol {
    padding: 0;
    margin: 0 0 2rem;
}

.document .container .doucument-handling>li {
    margin-bottom: 4rem;
}

@media (min-width: 821px) {

    .rel17 .document .container ol {
        padding: 0 0 0 1rem;
    }

}

.rel1 .main-block section.img-block .lead .sp {
    display: block !important;
}

@media (min-width: 540px) {
    .rel1 .main-block section.img-block .lead .sp {
        display: none !important;
    }
}

/*//////////////////// 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: '';
}

.privacy-policy ol.nocount>li::before {
    display: none;
}

.privacy-policy ol.nocount>li>ol.nocount>li::before {
    display: none;
}

/*//////////////////// TIMELINE  ////////////////////////*/

.timeline {
    box-sizing: border-box;
}

.timeline::before {
    box-sizing: border-box;
}

.timeline * {
    box-sizing: border-box;
}

.timeline *::before {
    box-sizing: border-box;
}

.timeline {
    position: relative;
    font-size: 1em;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    overflow-y: hidden;
    margin-top: 0; }
    .timeline .timeline-block {
    margin: 40px 0;
}

.timeline-content h3 {
    font-weight: 400;
    line-height: 1.4;
    color: var(--color-basic);
    padding: 0;
    margin: 0;
}

.timeline-content h3 span {
    font-size: 1.4rem;
    line-height: 1.6;
}

@media (min-width: 821px) {

    .timeline-content h3 {
        font-size: 1.6rem;
    }

    .timeline-content h3 span {
        font-size: 1.3rem;
    }

}

.timeline-content h3 span.small {
    font-size: 70%;
    letter-spacing: .1rem;
}

.timeline .timeline-icon {
    position: absolute;
    width: 20px;
    height: 20px;
    left: 50%;
    margin-left: -10px;
    margin-top: 5px;
    border: 2px solid var(--color-primary);
    border-radius: 100%;
    background: var(--color-primary);
    text-align: center;
}

.timeline .timeline-icon.timeline-icon-hide-border {
    border: 0;
}

.timeline .timeline-icon.timeline-icon-hide-border i.fa,
.timeline .timeline-icon.timeline-icon-hide-border img {
    margin-left: 0;
    margin-top: 0;
}

.timeline .timeline-icon i.fa, .timeline .timeline-icon img {
    display: inline-block;
    width: 32px;
    height: 32px;
    margin-left: -4px;
    margin-top: -4px;
    vertical-align: bottom;
    line-height: 32px;
    text-align: center;
    font-size: 30px;
}

.timeline .timeline-icon img {
  border-radius: 100%; }

.timeline .timeline-content {
    position: relative;
    width: 45%;
    line-height: 20px;
    min-height: 64px;
    color: #444;
}

.timeline .timeline-date {
    position: absolute;
    width: auto;
    top: 0;
    left: 118%;
    font-size: 1.2em;
    color: #40568e;
}

.timeline::before {
    position: absolute;
    width: 2px;
    height: 100%;
    top: 0;
    left: 50%;
    margin-left: -1px;
    background-color: #CFCFCF;
    content: "";
}

@media (min-width: 821px) {

    .timeline.timeline-alternating:not(.timeline-left) .timeline-block:nth-of-type(2n) .timeline-content {
        left: 55%;
    }

    .timeline.timeline-alternating:not(.timeline-left) .timeline-block:nth-of-type(2n) .timeline-date {
        left: auto;
        right: 118%;
        margin-left: -400px;
    }

}

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

    .timeline.timeline-collapsing::before {
        left: auto;
        margin-left: 9px;
    }

    .timeline.timeline-collapsing .timeline-block {
        margin-left: 30px;
        margin-right: 10px;
    }

    .timeline.timeline-collapsing .timeline-icon {
        left: auto;
        margin-left: -30px;
    }

    .timeline.timeline-collapsing .timeline-content {
        width: auto;
    }

    .timeline.timeline-collapsing .timeline-date {
        width: auto;
        left: 0;
        margin-left: -80px;
        text-align: right;
    }

}

.timeline.timeline-left::before {
    left: auto;
    margin-left: 140px;
}

.timeline.timeline-left .timeline-block {
    margin-left: 174px;
    margin-right: 10px;
}

.timeline.timeline-left .timeline-icon {
    left: auto;
    margin-left: -49px;
}

.timeline.timeline-left .timeline-content {
    width: auto;
}

.timeline.timeline-left .timeline-date {
    width: auto;
    left: 0;
    margin-left: -130px;
    text-align: right;
}

.timeline.gray-red::before {
    background-color: #CFCFC4;
}

.timeline.gray-red .timeline-icon {
    border-color: #C23B22;
}

.timeline.gray-red .timeline-icon.timeline-icon-text span {
    border-color: #e5e5e5;
}

.timeline.gray-red .timeline-content {
    border-color: #e5e5e5;
}

.timeline.gray-red.timeline-with-arrows .timeline-content::before {
    border-left-color: #e5e5e5;
}

.timeline.gray-red.timeline-with-arrows.timeline-left .timeline-content::before {
    border-right-color: #e5e5e5;
}

.timeline.gray-red.timeline-with-arrows.timeline-alternating .timeline-content::before {
    border-left-color: #e5e5e5;
}

.timeline.gray-red.timeline-with-arrows.timeline-alternating .timeline-block:nth-of-type(2n) .timeline-content::before {
    border-right-color: #e5e5e5;
}

@media (max-width: 821px) {

    .timeline.gray-red.timeline-with-arrows.timeline-collapsing .timeline-content::before {
        border-right-color: #e5e5e5;
    }

}

.timeline.gray-blue::before {
    background-color: #CFCFC4;
}

.timeline.gray-blue .timeline-icon {
    border-color: #779ECB;
}

.timeline.gray-blue .timeline-icon.timeline-icon-text span {
    border-color: #e5e5e5;
}

.timeline.gray-blue .timeline-content {
    border-color: #e5e5e5;
}

.timeline.gray-blue.timeline-with-arrows .timeline-content::before {
    border-left-color: #e5e5e5;
}

.timeline.gray-blue.timeline-with-arrows.timeline-left .timeline-content::before {
    border-right-color: #e5e5e5;
}

.timeline.gray-blue.timeline-with-arrows.timeline-alternating .timeline-content::before {
    border-left-color: #e5e5e5;
}

.timeline.gray-blue.timeline-with-arrows.timeline-alternating .timeline-block:nth-of-type(2n) .timeline-content::before {
    border-right-color: #e5e5e5;
}

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

    .timeline.gray-blue.timeline-with-arrows.timeline-collapsing .timeline-content::before {
        border-right-color: #e5e5e5;
    }

}

.timeline.blue-yellow-yellow::before {
    background-color: #AEC6CF;
}

.timeline.blue-yellow-yellow .timeline-icon {
  border-color: #FFB347;
}

  .timeline.blue-yellow-yellow .timeline-icon.timeline-icon-text span {
    border-color: #AEC6CF;
}

.timeline.blue-yellow-yellow .timeline-content {
  border-color: #AEC6CF;
}

.timeline.blue-yellow-yellow.timeline-with-arrows .timeline-content::before {
  border-left-color: #AEC6CF;
}

.timeline.blue-yellow-yellow.timeline-with-arrows.timeline-left .timeline-content::before {
  border-right-color: #AEC6CF;
}

.timeline.blue-yellow-yellow.timeline-with-arrows.timeline-alternating .timeline-content::before {
  border-left-color: #AEC6CF;
}

.timeline.blue-yellow-yellow.timeline-with-arrows.timeline-alternating .timeline-block:nth-of-type(2n) .timeline-content::before {
  border-right-color: #AEC6CF;
}

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

    .timeline.blue-yellow-yellow.timeline-with-arrows.timeline-collapsing .timeline-content::before {
        border-right-color: #AEC6CF;
    }

}

.timeline.blue-red-red::before {
  background-color: #779ECB;
}

.timeline.blue-red-red .timeline-icon {
  border-color: #C23B22;
}

  .timeline.blue-red-red .timeline-icon.timeline-icon-text span {
    border-color: #C23B22;
}

.timeline.blue-red-red .timeline-content {
  border-color: #C23B22;
}

.timeline.blue-red-red.timeline-with-arrows .timeline-content::before {
  border-left-color: #C23B22;
}

.timeline.blue-red-red.timeline-with-arrows.timeline-left .timeline-content::before {
  border-right-color: #C23B22;
}

.timeline.blue-red-red.timeline-with-arrows.timeline-alternating .timeline-content::before {
  border-left-color: #C23B22;
}

.timeline.blue-red-red.timeline-with-arrows.timeline-alternating .timeline-block:nth-of-type(2n) .timeline-content::before {
  border-right-color: #C23B22;
}

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

    .timeline.blue-red-red.timeline-with-arrows.timeline-collapsing .timeline-content::before {
        border-right-color: #C23B22;
    }

}

.timeline.purple-flirt .timeline-icon.timeline-icon-text span {
    border-color: #e5e5e5;
}

.timeline.purple-flirt .timeline-content {
  border-color: #e5e5e5;
}

.timeline.purple-flirt.timeline-with-arrows .timeline-content::before {
  border-left-color: #e5e5e5;
}

.timeline.purple-flirt.timeline-with-arrows.timeline-left .timeline-content::before {
  border-right-color: #e5e5e5;
}

.timeline.purple-flirt.timeline-with-arrows.timeline-alternating .timeline-content::before {
  border-left-color: #e5e5e5;
}

.timeline.purple-flirt.timeline-with-arrows.timeline-alternating .timeline-block:nth-of-type(2n) .timeline-content::before {
  border-right-color: #e5e5e5;
}

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

    .timeline.purple-flirt.timeline-with-arrows.timeline-collapsing .timeline-content::before {
        border-right-color: #e5e5e5;
    }

}

.timeline.blue-blue-blue::before {
  background-color: #AEC6CF;
}

.timeline.blue-blue-blue .timeline-icon {
  border-color: #AEC6CF;
}

  .timeline.blue-blue-blue .timeline-icon.timeline-icon-text span {
    border-color: #AEC6CF;
}

.timeline.blue-blue-blue .timeline-content {
  border-color: #AEC6CF;
}

.timeline.blue-blue-blue.timeline-with-arrows .timeline-content::before {
  border-left-color: #AEC6CF;
}

.timeline.blue-blue-blue.timeline-with-arrows.timeline-left .timeline-content::before {
  border-right-color: #AEC6CF;
}

.timeline.blue-blue-blue.timeline-with-arrows.timeline-alternating .timeline-content::before {
  border-left-color: #AEC6CF;
}

.timeline.blue-blue-blue.timeline-with-arrows.timeline-alternating .timeline-block:nth-of-type(2n) .timeline-content::before {
  border-right-color: #AEC6CF;
}

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

    .timeline.blue-blue-blue.timeline-with-arrows.timeline-collapsing .timeline-content::before {
        border-right-color: #AEC6CF;
    }

}

.timeline.timeline-with-arrows .timeline-content::after, .timeline.timeline-with-arrows .timeline-content::before {
    left: 100%;
    top: 0;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: transparent;
}

.timeline.timeline-with-arrows .timeline-content::after {
    border-left-color: #EEE;
    border-width: 14px;
    margin-left: 0;
    margin-top: 0;
}

.timeline.timeline-with-arrows .timeline-content::before {
    border-left-color: #e5e5e5;
    border-width: 15px;
    margin-left: 1px;
    margin-top: -1px;
}

.timeline.timeline-with-arrows.timeline-left .timeline-content::after, .timeline.timeline-with-arrows.timeline-left .timeline-content::before {
    left: 0;
    right: 100%;
    border-left-color: transparent !important;
}

.timeline.timeline-with-arrows.timeline-left .timeline-content::after {
    border-right-color: #EEE;
    margin-left: -28px;
}

.timeline.timeline-with-arrows.timeline-left .timeline-content::before {
    border-right-color: #e5e5e5;
    margin-top: -1px;
    margin-left: -31px;
}

.timeline.timeline-with-arrows.timeline-alternating .timeline-block:nth-of-type(2n) .timeline-content::after, .timeline.timeline-with-arrows.timeline-alternating .timeline-block:nth-of-type(2n) .timeline-content::before {
    left: 0;
    right: 100%;
    border-left-color: transparent !important;
}

.timeline.timeline-with-arrows.timeline-alternating .timeline-block:nth-of-type(2n) .timeline-content::after {
    border-right-color: #EEE;
    margin-left: -28px;
}

.timeline.timeline-with-arrows.timeline-alternating .timeline-block:nth-of-type(2n) .timeline-content::before {
    border-right-color: #e5e5e5;
    margin-top: -1px;
    margin-left: -31px;
}

@media (max-width: 821px) {

    .timeline.timeline-with-arrows .timeline-content::after, .timeline.timeline-with-arrows .timeline-content::before {
        left: 0;
        right: 100%;
        border-left-color: transparent !important;
    }

    .timeline.timeline-with-arrows .timeline-content::after {
        border-right-color: #EEE;
        margin-left: -28px;
    }

    .timeline.timeline-with-arrows .timeline-content::before {
        border-right-color: #e5e5e5;
        margin-top: -1px;
        margin-left: -31px;
    }

}

.timeline-icon.timeline-icon-text {
    left: 0;
    width: 100%;
    margin: 0;
    text-align: center;
    height: 40px;
    line-height: 40px;
    border-radius: 0;
    background-color: transparent;
}

.timeline-icon.timeline-icon-text span {
    display: inline-block;
    width: auto;
    background-color: #EEE;
    border: 1px solid #e5e5e5;
    padding: 0 10px;
}

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

    .timeline-icon.timeline-icon-text {
      left: auto;
      width: auto;
      margin-left: 0 !important;
    }

}

.timeline.timeline-left .timeline-icon.timeline-icon-text {
    left: auto;
    width: auto;
    margin-left: 0 !important;
}

.timeline-block.timeline-block-icon-only .timeline-content {
    visibility: hidden;
}

.timeline-content .head {
    position: relative;
    display: flex;
    align-items: center;
    font-weight: 400;
    padding: 1rem 1rem 1rem 0;
}

.timeline-content .body {
    padding: 1em;
}

.timeline-content .head .number-box {
    display: inline;
    float: left;
    margin: 1.5rem 0;
    padding: 1rem;
}

.timeline-block:nth-child(odd) .timeline-content::after,
.timeline-block:nth-child(even) .timeline-content::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    top: 0;
}

.timeline-block:nth-child(odd) .timeline-content::after {
    border-left-width: 15px;
    border-left-style: solid;
    left: 100%;
    color: var(--color-light-blue);
}

.timeline-block:nth-child(even) .timeline-content::after {
    border-right-width: 15px;
    border-right-style: solid;
    right: 100%;
    color: var(--color-light-blue);
}

.timeline-block:nth-child(odd) .head {
    background: var(--color-light-blue);
}

.timeline-block:nth-child(even) .head {
    background: var(--color-light-blue);
}

.timeline-content .number-box span {
    font-size: 2rem;
    font-family: var(--font-family-en);
    font-weight: 600;
    color: #222;
}

@media (max-width: 821px) {

    .timeline-block:nth-child(odd) .timeline-content::after,
    .timeline-block:nth-child(even) .timeline-content::after {
        display: none;
    }

}

@media (min-width: 821px) {

    .timeline .timeline-block {
        position: relative;
    }

    .timeline .timeline-block.wImg {
        height: 300px;
    }

    .timeline .timeline-block .timeline-imgL {
        position: absolute;
        top: 0;
        left: 0;
        width: 45%;
    }

    .timeline .timeline-block .timeline-imgR {
        position: absolute;
        top: 0;
        right: 0;
        width: 45%;
    }

    .timeline .timeline-block .timeline-imgL.shift,
    .timeline .timeline-block .timeline-imgR.shift {
        top: 30px;
    }

    .timeline-content .head .number-box {
        margin: 1rem 1rem;
    }

    .timeline-content .number-box span {
        font-size: 3.2rem;
    }

}

/*//////////////////// HEADER ////////////////////////*/

header {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 3;
    width: 100%;
    border-bottom: 1px solid var(--color-light);
}

header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 4;
}

.header-wrap,
.inner-menu > nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-wrap {
    padding: .8rem 1.4rem;
    background: #fff;
    align-items: center;
}

.inner-menu nav ul {
    font-size: 1.4rem;
    font-weight: 400;
    color: #222;
    letter-spacing: 0.1rem;
}

.inner-menu nav ul li {
    margin: 0 1rem;
}

.inner-menu > nav ul li:not(.toggle_btn) {
    display: none;
}

header .header-wrap {
    background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

header .header-wrap a {
    color: var(--color-non);
}

header .header-wrap .toggle_btn span {
    background-color: var(--color-non);
}

header.fixed .header-wrap {
    background: var(--color-non);
    box-shadow: 0px 8px 20px -2px rgba(0, 0, 0, 0.2);
}

header.fixed .header-wrap a {
    color: var(--color-dark);
}

header.fixed .header-wrap .toggle_btn span {
    background: var(--color-basic);
}

header.fixed .header-logo img {
    filter: invert();
}

header.fixed {
    background: var(--color-non);
    box-shadow: 0px 8px 20px -2px rgb(0 0 0 / 20%);
}

header .logo {
    padding: 1.5rem;
}

@media (min-width: 839px) {

    header {
        justify-content: space-between;
    }

    header .logo {
        padding: 1rem 0 1rem 2rem ;
    }

}

/*//////////////////// HEADER level1 ////////////////////////*/

.level1 ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.level1>ul>li {
    display: block;
    border-bottom: 1px solid var(--color-light);
}

.level1>ul>li:first-child {
    border-top: 1px solid var(--color-light);
}

.level1>ul>li>a {
    position: relative;
    display: block;
    font-size: 1.6rem;
    padding: 2rem 1rem;
}

.level1>ul>li.parent.selected>a,
.level1>ul>li.parent.selected>a:hover {
    color: var(--color-dark);
    background: var(--color-light);
}

.level1 li.parent.selected .level2 {
    display: block;
    padding: 1rem;
}

.level1 li.parent.selected .level2 a {
    position: relative;
    display: block;
    padding: 1rem 0;
    color: var(--color-non);
}

.level1 li.parent.selected .level2 .banner a:nth-child(2) {
    padding: 1rem 0 0;
}

.level1 li.parent>a: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;
}

@media (min-width: 839px) {

    .level1>ul>li:first-child {
        border-top: none;
    }

    .level1>ul>li.parent.selected>a,
    .level1>ul>li.parent.selected>a:hover {
        color: var(--color-non)!important;
        background: rgba(0,0,0,.8);
    }

    .level1 ul li .button.icon.tel::before {
        filter: brightness(0);
        padding: 1rem;
        margin: 0 1rem 0 0;
    }

    .level1 li.parent>a:after {
        right: auto;
        margin-left: .5rem;
    }

}

/*//////////////////// HEADER level2 ////////////////////////*/

.level2 {
    display: none;
    background: rgba(0,0,0,.8);
    opacity: 0;
    animation: slideIn .2s ease-out forwards;
    box-shadow: rgb(0 0 0 / 10%) 0 20px 25px -5px, rgb(0 0 0 / 4%) 0 10px 10px -5px;
}

@keyframes slideIn {
    0% {
        transform: translateY(-1%);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.level2-inner {
    width: 100%;
}

.level2-inner:before,
.level2-inner:after {
    content: " ";
    display: table;
}

.level2-inner:after {
    clear: both;
}

.level2 .cat {
    letter-spacing: .1rem;
    color: var(--color-light);
    margin: 0;
    font-size: 1.3rem;
    font-weight: 400;
    padding-top: 0.6em;
}

li.parent.selected>a:after {
    transform: translateY(-50%) rotate(90deg);
}

@media (min-width: 839px) {

    li.parent.selected>a:after {
        filter: brightness(100);
    }

}

/*//////////////////// HEADER nav ////////////////////////*/

nav {
    display: block;
    position: fixed;
    top: 0;
    left: -280px;
    bottom: 0;
    width: 280px;
    -webkit-overflow-scrolling: touch;
    transition: all 0.5s;
    z-index: 3;
}

.active nav {
    top: 0;
    left: 0;
    background: var(--color-non);
    overflow-y: auto;
}

nav .logo {
    padding: 2rem 1rem;
}

/*//////////////////// HEADER toggle_btn ////////////////////////*/

.toggle_btn {
    display: block;
    position: absolute;
    top: 12.5px;
    right: 12.5px;
    width: 30px;
    height: 30px;
    transition: all 0.5s;
    cursor: pointer;
    z-index: 3;
}

header .toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 30px;
    height: 2px;
    background: var(--color-dark);
    border-radius: 4px;
    transition: all 0.5s;
}

header.fixed .toggle_btn span {
    background: var(--color-dark);
}

.toggle_btn span:nth-child(1) {
    top: 4px;
}

.toggle_btn span:nth-child(2) {
    top: 14px;
}

.toggle_btn span:nth-child(3) {
    bottom: 4px;
}

.active .toggle_btn span {
    background-color: var(--color-non);
}

.active .toggle_btn span:nth-child(1) {
    -webkit-transform: translateY(10px) rotate(-315deg);
    transform: translateY(10px) rotate(-315deg);
}

.active .toggle_btn span:nth-child(2) {
    opacity: 0;
}

.active .toggle_btn span:nth-child(3) {
    -webkit-transform: translateY(-10px) rotate(315deg);
    transform: translateY(-10px) rotate(315deg);
}

/*//////////////////// HEADER mask ////////////////////////*/

.mask {
    display: none;
    transition: all 0.5s;
}

.active .mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-dark);
    opacity: 0.8;
    z-index: 2;
    cursor: pointer;
}

.level2 .cat {
    border-bottom: 1px dotted var(--color-dark);
    padding: 1.5rem 0 .5rem;
    margin: 0 0 .5rem;
    color: #aaa;
}

@media (min-width: 839px) {

    .level1 > ul {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding: 2rem 0 0;
    }

    .level2-inner {
        display: flex;
        flex-direction: column;
    }

    .level2-inner > div {
        width: 200px;
        float: left;
        padding: 1rem;
    }

    .level2-inner > .banner {
        margin: .5rem 0 0;
    }

    .level1>ul>li.parent>a {
        display: inline-block;
        padding: .5rem 3rem .5rem 1.5rem
    }

    .level1>ul>li>a {
        padding: .5rem .5rem;
    }

    header.fixed .level1>ul {
        padding: 2rem 0;
    }

    header.fixed .level1>ul>li>a {
        color: var(--color-dark);
    }

    .level1>ul>li {
        display: inline-block;
        border: none;
    }

    .level1 .level2 {
        position: absolute;
    }

    nav {
        position: inherit;
        left: auto;
        width: auto;
    }

    .toggle_btn,
    .mask {
        display: none;
    }

}

@media (min-width: 861px) {

    .level1>ul>li>a {
        padding: .5rem .7rem;
    }

}

@media (min-width: 1081px) {

    .level1>ul>li>a {
        padding: .5rem 2rem;
    }

}

/*//////////////////// CONTACT ////////////////////////*/

header .navArea .icon-contact {
    position: absolute;
    top: 0;
    left: 0;
    margin: 1.5rem;
}

@media (min-width: 839px) {

    header .navArea .icon-contact {
        display: none;
    }

}

/*//////////////////// TOP BLOCK ////////////////////////*/

.top-block {
    display: none;
}

@media (min-width: 839px) {

    header .top-block {
        display: flex;
        justify-content: end;
        padding: 0 0 0 .5rem;
    }

    header.fixed .top-block {
        display: none;
    }

    .top-block .item1 > ul {
        display: flex;
        width: 100%;
        list-style: none;
        margin: 0;
    }

    .top-block ul.left-item {
        justify-content: flex-start;
    }

    .top-block ul.right-item {
        justify-content: flex-end;
    }

    .top-block ul.right-item:not(.rel1 .top-block ul.right-item) {
        padding-right: 1rem;
    }

    .top-block ul li .button {
        font-size: 1.4rem;
        font-weight: 500;
        padding: .5rem 1rem .5rem;
        margin: 0 .5rem 0 0;
        letter-spacing: 0;
    }

    .top-block ul li .button.icon.tel {
        padding: 0 1rem 0 0;
    }

    .top-block ul li:last-child .button {
        font-family: var(--font-family-en);
        margin: 0;
    }

    .top-block ul li .button.icon.tel span {
        font-family: var(--font-family-ja);
        margin: 0 0 0 .5rem;
        letter-spacing: 0;
    }

    .top-block ul li .button.icon.tel {
        font-family: var(--font-family-en);
        font-size: clamp(1.9rem, 2.3vw, 2.4rem);
        background: var(--color-non);
        color: var(--color-dark);
        border: none;
    }

    .top-block ul li .button.icon.tel::before {
        filter: brightness(0);
        padding: 1rem;
        margin: 0 1rem 0 0;
    }

    .top-block i.fa {
        padding: 1.4rem;
    }

}

/*//////////////////// rel1 ////////////////////////*/

.rel1 header {
    border-bottom: 1px solid var(--color-light);
}

.rel1 header.fixed {
    position: fixed;
}

.rel1 header.fixed .level1 li.parent>a:after {
    filter: brightness(0); 
}

.rel1 header.fixed .level1 li.parent.selected>a:after {
    filter: brightness(100); 
}

header .level1 a.button {
    background: var(--color-non);
    color: var(--color-dark);
    border: none;
}

header a.button.icon.tel {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (min-width: 600px) {

    header a.button.icon.tel .contents-inner {
        padding: 0;
    }

}

/*//////////////////// WPML ////////////////////////*/

.sp .translation {
    margin: 0 0 2rem;
}

.wpml-ls > ul {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0 1rem;
}

.wpml-ls-item a .wpml-ls-native {
    border-left: 1px solid var(--color-basic);
    padding: 0 .5rem;
}

.wpml-ls-item:last-child a .wpml-ls-native {
    border-right: 1px solid var(--color-basic);
}

@media (min-width: 839px) {

    .wpml-ls > ul {
        list-style: none;
        margin: 0;
    }

    .wpml-ls-item a .wpml-ls-native {
        border: none;
        padding: 0;
    }

    .wpml-ls-item:last-child a .wpml-ls-native {
        border: none;
    }

    .wpml-ls-slot-global-language {
        width: 120px;
        background: var(--color-basic);
        position: relative;
        transition: all .3s;
    }

    .wpml-ls-slot-global-language:hover {
        background: var(--color-light);
    }

    .wpml-ls-slot-global-language:not(:first-child)::before {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        width: 1px;
        height: 100%;
        background-color: var(--color-non);
        transition: all .3s;
    }

    .wpml-ls-slot-global-language:hover::before {
        background: var(--color-light);
    }

    .wpml-ls-slot-global-language a {
        display: inline-block;
        width: 100%;
        height: 100%;
        letter-spacing: 0.05em;
        vertical-align: middle;
        text-decoration: none;
        font-size: 1.4rem;
        background: var(--color-primary);
        color: var(--color-non);
        text-align: center;
        border: 1px solid var(--color-primary);
        padding: .5rem 1rem .5rem;
        margin: 0 .5rem 0 0;
        transition: all .3s;
    }

    .wpml-ls-slot-global-language:hover a {
        color: var(--color-non);
    }

    .wpml-ls-sub-menu {
        position: absolute;
        left: 0;
        display: none;
        width: 100%;
    }

    .wpml-ls-slot-global-language:hover .wpml-ls-sub-menu {
        display: block;
    }
    
    .wpml-ls-item {
        position: relative;
        background: var(--color-dark);
        transition: all .3s;
    }

    .wpml-ls-item a {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        color: var(--color-non);
        text-decoration: none;
    }

}

.wpml-ls-legacy-dropdown .wpml-ls-current-language:hover>a,
.wpml-ls-legacy-dropdown a:focus,
.wpml-ls-legacy-dropdown a:hover {
    color: #FFF;
    background: #333;
}

.wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
    border-top: none;
}

/*//////////////////// FOOTER ////////////////////////*/

footer {
    padding: 0;
    text-align: left;
}

footer .logo {
    text-align: center;
    margin:0 0 2rem;
}

footer .container {
    padding: 0;
}

footer ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

footer .internal-link {
    width: 100%;
}

footer .internal-link dl {
    margin: 0;
}

footer dt {
    position: relative;
    font-family: var(--font-family-ja);
    font-size: 1.6rem;
    background: none;
    border-bottom: 1px solid var(--color-pale);
    text-align: left;
    padding: 2rem 1rem;
}

footer dd {
    display: none;
    background: var(--color-non);
}

footer dd li {
    background: none!important;
    padding: 1rem 0;
}

footer dd li {
    border-bottom: 1px solid var(--color-pale);
    box-sizing: border-box;
}

footer .profile {
    width: 100%;
    padding: 2rem 1.5rem 10rem;
    text-align: center;
}

footer dl dt::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 17px;
    transform: translateY(-50%) rotate(0);
    transition: .2s;
    width: 12px;
    height: 12px;
    background: url(../../content/images/icon_toggle.svg) no-repeat center center/contain;
    margin-right: .5rem;
    filter: brightness(40%);
}

footer dl.active dt::after {
    transform: translateY(-50%) rotate(90deg);
}

.copyright {
    font-family: var(--font-family-en);
    width: 100%;
    text-align: center;
    border-top: 1px solid var(--color-light);
    padding: 1rem 0;
}

@media (min-width: 600px) {

    footer {
        padding: 4rem 0 0;
    }

    footer .profile {
        flex: 1;
        padding: 0 0 0 3rem;
    }

    footer .internal-link {
        flex: 2.5;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        column-gap: 30px;
    }

    footer .contents-wrap {
        max-width: 1240px;
        margin: auto;
    }

    footer dl {
        display: block;
        margin: 0;
        border: none;
    }

    footer dt {
        font-weight: 400;
        letter-spacing: .05rem;
        line-height: 1.4;
        white-space: nowrap;
        pointer-events: none;
        width: 100%;
        padding: 0;
        margin: 0 0 .5rem;
        border-bottom: 1px solid var(--color-basic);
    }

    footer dt:after {
        display: none;
    }

    footer dd {
        display: block!important;
        background: none;
        width: auto;
        border: none;
    }

    footer dd li {
        line-height: 1.2;
        background: none!important;
        border: none;
        padding: .8rem 0;
    }

    footer dd a {
        pointer-events: auto;
    }

}

@media (min-width: 600px) and (max-width: 1280px) {

    footer {
        padding: 4rem 1.5rem 0;
    }

}

.profile .logo {
    text-align: center;
    padding: 0;
    margin: 0 0 2rem;
}

.profile p {
    text-align: center;
}

.profile p span {
    display: block;
    font-family: var(--font-family-ja-min);
    font-size: 1.6rem;
    line-height: 1;
}

.profile .button {
    display: block;
    min-width: auto;
    width: auto;
    margin: 1rem;
}

.profile .button.icon.tel {
    display: flex;
    justify-content: center;
    font-family: var(--font-family-en);
    font-size: 3.2rem;
    line-height: 1.2;
    background: none;
    border: none;
    color: var(--color-basic);
    padding: 0;
    margin: 0;
}

.profile .icon.tel::before {
    filter: brightness(0);
    padding: 1.4rem;
    margin: 0 1rem 0 0;
}

nav .profile {
    padding: 2rem 2rem 6rem 2rem;
}

nav .icon.tel .contents-inner {
    font-size: 2.8rem;
}

.signature {
    display: block;
    font-family: var(--font-family-ja-min);
    text-align: right !important;
}

.signature span {
    font-size: 2rem;
    margin: 0;
}

/*//////////////////// COOKIE ////////////////////////*/
.cky-preference-center .cky-preference-body-wrapper p {
    font-size: 1.3rem;
    line-height: 1.4;
}

.cky-consent-bar .cky-notice p.cky-title {
    font-size: 1.6rem;
    line-height: 1.2;
    margin: 0 0 .5rem 0;
}

.cky-notice-des p {
    font-size: 1.3rem;
    line-height: 1.6;
}