@charset "UTF-8";

/*
Theme Name: 東栄建設株式会社 不動産 2025
Text Domain: fudousan-2025
Description: 不動産サイト専用ワードプレステーマ Design by <a href="https://on-ze.com">ONZE</a>.
Tags: blog, featured-images, footer-widgets
Author: ONZE
Author URI: https://on-ze.com
Theme URI: 
Version: 0.9
*/

:root {
    --color-background: #ffffff;
    --color-black: #333333;
    --color-gray: #999999;
    --color-pink: #E12DA5;
    --color-blue: #2D4BE1;
    --color-green: #1DC454;
    --color-orange: #FF6600;
    --color-sky: #2DA5E1;
    --color-light-sky: #F7FBFC;

    --font-medium: 500;
    --font-bold: 700;

    --letter-spacing: 0.1em;
    --line-height-large: 2.1;
    --line-height: 1.5;
    --line-height-mini: 1.3;
    --transition: 0.3s;
}

/******************/
/******************/
/* ONZE RESET CSS */

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

* {
    border: 0;
    margin: 0;
    outline: 0;
    padding: 0;
    font: inherit;
    font-family: inherit;
    font-size: 100%;
    font-style: inherit;
    font-weight: inherit;
    text-decoration: none;
    vertical-align: baseline;
    /*	all:unset;
	display:revert;*/
}


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

img,
picture,
audio,
canvas,
video,
svg {
    display: block;
    max-width: 100%;
    height: auto;
}

br,
hr {
    display: block;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: none;
}

input,
select {
    vertical-align: middle;
}

body {
    line-height: 1;
    line-break: strict;
    overflow-wrap: anywhere;
    word-break: normal;
    font-feature-settings: "palt";
    font-kerning: normal;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
}

a {
    -webkit-tap-highlight-color: transparent;
}

/******************/
/******************/
/* html format ****/

html {
    font-size: 62.5%;
    /* font-size:calc(100vw / 144); */
}

/* @media screen and (max-width: 1000px) {
	html {font-size:clamp(5px, calc(100vw / 1600 * 4 + 5px), 11px);}
} */

html.is-fixrem {
    font-size: 62.5%;
}

body {
    background-color: #ffffff;
    background-color: var(--color-background);
    color: #333333;
    color: var(--color-black);
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: var(--font-medium);
    position: relative;
    text-align: left;
    width: 100%;
    line-height: 1.4;
}

@media screen and (max-width: 900px) {
    body {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

a,
a:link,
a:visited,
a:hover,
a:active {
    color: inherit;
    -webkit-tap-highlight-color: transparent rgba(0, 0, 0, 0);
    text-decoration: none;
    -webkit-text-decoration-skip: objects;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    display: block;
    line-height: 1.3;
}

h2 {
    font-size: 50px;
    font-size: 5rem;
    font-weight: var(--font-bold);
}

.footer-h2 {
    font-size: 42px;
    font-size: 4.2rem;
}


b {
    font-weight: var(--font-bold);
}

i {
    font-style: normal;
}

u {
    text-decoration: underline;
}

em {
    font-weight: bold;
}

strong {
    font-weight: bold;
}

mark {
    background: transparent;
}

q {}

q:before,
q:after {
    content: '"';
}

s {
    text-decoration: underline;
}

del {
    text-decoration: line-through;
}

ins {}

iframe {}

ruby {}

rt {
    font-size: 0.5em;
}

sup {
    vertical-align: super;
    font-size: smaller;
}

sub {
    vertical-align: sub;
    font-size: smaller;
}

details {
    margin: 0 0 40px 0;
}

hr {
    margin: 2em 0;
    border: 0;
    border-top: 1px solid #cccccc;
    border-color: var(--color-border);
    height: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    empty-cells: show;
    border: 0;
    width: 100%;
    margin: 0 0 3rem 0;
    border-top: 1px solid #cccccc;
    border-color: var(--color-border);
}

table th,
table td {
    padding: 1.5em 1em;
    vertical-align: top;
    border-bottom: 1px solid #cccccc;
    border-color: var(--color-border);
}

table th {
    vertical-align: middle;
    text-align: center;
}

table td span {
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
}

table caption {
    text-align: left;
    padding: 8px;
}





::-moz-selection {
    background-color: var(--color-blue);
    color: #ffffff;
}

::selection {
    background-color: var(--color-blue);
    color: #ffffff;
}

/******************/
/******************/
/* shortcodes *****/

.alignright,
.align-right,
.textright,
.text-right {
    text-align: right;
}

.alignleft,
.align-left,
.textleft,
.text-left {
    text-align: left;
}

.center,
.aligncenter,
.align-center,
.textcenter,
.text-center,
.-center {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.clear {
    clear: both;
}

.clearfix:after {
    content: "";
    clear: both;
    display: block;
    height: 0;
    visibility: hidden;
}

.empty {
    visibility: hidden;
}

.hide,
.none {
    display: none;
}

.hidden {
    overflow: hidden;
}

.left,
.floatleft,
.float-left {
    float: left;
}

.right,
.float-right,
.float-right {
    float: right;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.nowrap {
    white-space: nowrap;
}

.small,
.text-small {
    font-size: 0.8em;
}

img.left,
img.alignleft,
img.align-left {
    margin: 0 20px 20px 0;
    float: left;
}

img.right,
img.alignright,
img.align-right {
    margin: 0 0 20px 20px;
    float: right;
}

img.full {
    max-width: 100%;
    width: 100%;
    height: auto;
}

table.table-border,
table.table-border th,
table.table-border td {
    border: 1px solid #cccccc;
    border-color: var(--color-border);
}

table.table-hover tbody tr:hover,
table.table-hover tbody tr:nth-child(odd):hover,
table.table-hover tbody tr:nth-child(even):hover {
    background-color: var(--color-blue);
    color: #ffffff;
    cursor: text;
}

table.table-stripe tbody tr:nth-child(odd) {
    background-color: #cccccc;
    background-color: var(--color-border);
}

table thead th {
    vertical-align: bottom;
}


.inner {
    clear: both;
    display: block;
    margin: 0 auto;
    position: relative;
    max-width: calc(1100px + 96px + 96px);
    width: 100%;
    padding: 0 96px;
}

.inner[data-width="max"] {
    max-width: 2400px;
}

.inner[data-width="mid"] {
    max-width: 1600px;
}

[data-width="min"] {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width:900px) {
    .inner {
        padding: 0 10px;
    }

    [data-width="min"] {
        max-width: 520px;
    }
}

.thumbnail {
    display: block;
    height: fit-content;
    line-height: 1;
}

.thumbnail img {
    display: block;
    width: 100%;
    height: auto;
    line-height: 1;
}

.color-pink {
    color: var(--color-pink);
}

.color-green {
    color: var(--color-green);
}

.color-orange {
    color: var(--color-orange);
}

.color-blue {
    color: var(--color-blue);
}

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




/******************/
/* button *********/
/* .article button */

.button {
    margin: 4rem 0 0 0;
    width: fit-content;
}

.button a {
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 56px;
    background-color: var(--color-blue);
    color: var(--color-background);
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.4;
    font-weight: var(--font-bold);
    border-radius: 16px;
    column-gap: 16px;
    border: 3px solid var(--color-blue);
    transition: var(--transition);
}

.button a:hover {
    background-color: var(--color-background);
    color: var(--color-blue);
}

.button a::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-image: url("images/arrow-white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.button a:hover::after {
    background-image: url("images/arrow-blue.svg");
}




.buttons {
    display: flex;
    justify-content: flex-start;
    column-gap: 32px;
    column-gap: 32px;
}

.buttons .button {
    margin-top: 0;
}

.button.-right {
    margin-right: 0;
    margin-left: auto;
}

.button.-center {
    margin-right: auto;
    margin-left: auto;
}

.button.button-small a {
    padding: 4px 12px;
    min-width: 30px;
    font-size: 0.8em;
}

.button.button-large a {
    padding: 8px 36px;
    min-width: 180px;
    font-size: 1.2em;
}

.button.button-success a {
    border-color: #987241;
    border-color: var(--color-gold);
    color: blue;
}

.button.button-success a:hover {
    background-color: #987241;
    background-color: var(--color-gold);
    color: #ffffff;
}

.button.button-error a {
    border-color: red;
    color: red;
}

.button.button-error a:hover {
    background-color: red;
    color: #ffffff;
}

.button.button-warning a {
    border-color: yellow;
    color: yellow;
}

.button.button-warning a:hover {
    background-color: yellow;
    color: #ffffff;
}

@media screen and (max-width: 900px) {
    .button {
        width: 100%;
    }

    .button a {
        width: 100%;
        padding: 10px 8px;
        column-gap: 8px;
        font-size: 20px;
        font-size: 2rem;
    }

    .button a::after {
        width: 20px;
        height: 20px;
    }
}

@media screen and (max-width: 600px) {
    .button a {
        padding: 6px 8px;
        font-size: 18px;
        font-size: 1.8rem;
    }

    .button a::after {
        width: 16px;
        height: 16px;
    }
}




.floating-widget {
    position: fixed;
    bottom: 32px;
    right: 32px;
    width: fit-content;
    height: fit-content;
    z-index: 9;
}

.floating-widget .box {
    border-radius: 50%;
}

.floating-widget .box+.box {
    margin-top: 24px;
}

.floating-widget .box a {
    width: fit-content;
}

.floating-widget .box a {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-width: 176px;
    width: fit-content;
    aspect-ratio: 1 / 1;
    transition: var(--transition);
}

.floating-widget .box.guide a {
    background-color: var(--color-pink);
    border: 3px solid var(--color-pink);
}

.floating-widget .box.contact a {
    background-color: var(--color-green);
    border: 3px solid var(--color-green);
}

.floating-widget .box.guide a:hover {
    background-color: var(--color-background);
}

.floating-widget .box.contact a:hover {
    background-color: var(--color-background);
}

.floating-widget .box a .text {
    color: var(--color-background);
    font-size: 24px;
    font-weight: var(--font-bold);
    margin-bottom: 8px;
    line-height: 1.3;
    text-align: center;
    transition: var(--transition);
}

.floating-widget .box.guide a:hover .text {
    color: var(--color-pink);
}

.floating-widget .box.contact a:hover .text {
    color: var(--color-green);
}

.floating-widget .box a .arrow {
    background-image: url("images/arrow-circle-white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 24px;
    height: 24px;
    content: "";
    display: block;
}

.floating-widget .box.guide a:hover .arrow {
    background-image: url("images/arrow-circle-pink.svg");
}

.floating-widget .box.contact a:hover .arrow {
    background-image: url("images/arrow-circle-green.svg");
}

.floating-widget-sp {
    display: none;
}

@media screen and (max-width: 1280px) {
    .floating-widget {
        zoom: 70%;
    }
}

@media screen and (max-width: 700px) {
    .floating-widget {
        display: none;
    }
}

@media screen and (max-width: 700px) {
    .floating-widget-sp {
        display: flex;
        bottom: 0;
        left: 0;
        zoom: 100%;
        width: 100%;
    }

    .floating-widget-sp .box {
        border-radius: 0;
        width: 50%;
    }

    .floating-widget .box+.box {
        margin-top: 0;
    }

    .floating-widget-sp .box a {
        border-radius: 0;
        column-gap: 1rem;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        aspect-ratio: auto;
        width: 100%;
        padding: 0.5rem 0;
    }

    .floating-widget .box a .text {
        font-size: 16px;
        margin-bottom: 0;
    }

    .floating-widget .box a .arrow {
        width: 16px;
        height: 16px;
    }
}

/******************/
/* section ********/

.section {
    position: relative;
    display: block;
    padding: 0 0 96px 0;
    margin: 0;
}

@media screen and (max-width: 900px) {
    .section {
        position: relative;
        display: block;
        padding: 0 0 80px 0;
        margin: 0;
    }
}

.page-content h2 {
    margin-top: 2em;
    /* margin-bottom: 1em; */
    padding: 16px 24px;
    font-size: 40px;
    font-size: 4rem;
    background-color: var(--color-light-sky);
    border-top: 1px solid var(--color-blue);
    border-bottom: 1px solid var(--color-blue);
}

.page-content h2:first-child {
    margin-top: 0;
}

.page-content h3 {
    margin-top: 2em;
    font-weight: var(--font-bold);
    font-size: 30px;
    font-size: 3rem;
    color: #111f62;
    /* margin-bottom: 1em; */
}

.page-content h4 {
    padding: 8px 24px;
    background-color: var(--color-light-sky);
    font-weight: var(--font-bold);
    font-size: 24px;
    font-size: 2.4rem;
    margin-top: 2em;
    /* margin-bottom: 1em; */
}

.page-content h5 {
    font-weight: var(--font-bold);
    font-size: 19px;
    font-size: 1.9rem;
    margin-top: 2em;
    /* margin-bottom: 1em; */
}

.page-content h5.color-blue {
    color: var(--color-blue);
}

.page-content p {
    margin-top: 1em;
    margin-bottom: 1em;
}

.page-content p.centering-text {
    width: fit-content;
    margin: 1.2em auto 0 auto;
    font-size: 24px;
    font-size: 2.4rem;
}

.page-content p:first-child {
    margin-top: 0;
}

.page-content .marker {
    background: linear-gradient(transparent 60%, #F5E4A8 30%);
    padding-left: 0.1em;
    padding-right: 0.1em;
}

.page-content table {
    border: none;
    margin: 40px 0 40px 0;
}

.page-content table thead th {
    border: 1px solid var(--color-blue);
    padding: 16px 32px;
    vertical-align: middle;
    background-color: var(--color-blue);
    color: var(--color-background);
    font-weight: var(--font-bold);
}

.page-content table thead th:empty {
    border: none;
    background-color: transparent;
}

.page-content table tbody th,
.page-content table tbody td {
    border: 1px solid var(--color-blue);
    padding: 16px 32px;
    vertical-align: middle;
    font-size: 20px;
    font-size: 2rem;
}

.page-content table tbody th {
    background-color: var(--color-light-sky);
    text-align: center;
    padding: 16px 32px;
    width: fit-content;
    white-space: nowrap;
    font-weight: bold;
}

/* 売却案内ページ、査定フォーム、お知らせ・コラム、問い合わせ完了、問い合わせ、 */
body.page:not(.page-id-137):not(.page-id-34):not(.page-id-7):not(.page-id-192):not(.page-id-222) .entry-content {
    max-width: 988px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 96px;
}

.entry-content p a {
    color: var(--color-blue);
    border-bottom: 1px solid var(--color-blue);
}

/* ブロックエディタ */
.wp-block-list {
    list-style: disc;
    list-style-position: inside;
    margin-top: 1.2em;
    /* margin-bottom: 40px; */
}

.wp-block-button .wp-block-button__link {
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.2em;
    padding: 6px 56px;
    font-size: 1em;
    font-weight: var(--font-bold);
    line-height: 1.4;
    border-radius: 16px;
    column-gap: 16px;
    border: 3px solid var(--color-blue);
    transition: var(--transition);
}

.wp-block-button .wp-block-button__link:hover {
    background-color: var(--color-blue);
    color: var(--color-background);
}

.wp-block-button .wp-block-button__link::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-image: url(images/arrow-black.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.wp-block-button .wp-block-button__link:hover::after {
    background-image: url(images/arrow-white.svg);
}

.wp-block-image img {
    margin-top: 1.5em;
}


@media screen and (max-width: 900px) {
    .page-content h2 {
        margin-top: 48px;
        margin-bottom: 24px;
        font-size: 36px;
        font-size: 3.6rem;
    }

    .page-content h3 {
        font-size: 30px;
        font-size: 3rem;
        margin-top: 32px;
    }

    .page-content p {
        margin-top: 24px;
    }

    .page-content p.centering-text {
        margin: 20px 0 0 0;
        font-size: 18px;
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 700px) {
    .page-content h2 {
        font-size: 24px;
        font-size: 2.4rem;
    }

    .page-content h3 {
        padding: 16px 0.5em;
        font-size: 20px;
        font-size: 2rem;
    }

    .page-content .responsive-table {
        overflow-x: auto;
        overflow-y: hidden;
        position: relative;
    }

    .page-content .responsive-table::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: block;
        width: 37%;
        aspect-ratio: 1 / 1;
        background-image: url(images/icon-scrollable.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
    }

    .page-content .responsive-table:hover::after {
        animation: touch-out 1s linear 1 normal forwards;
    }

    .page-content .responsive-table table {
        min-width: 800px;
    }

    .page-content p.centering-text {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

@keyframes touch-out {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}



.template-estate {
    text-align: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 56px;
    position: relative;
}

.template-estate.guide {
    background-image: url("images/template-estate-guide-background.webp");
}

.template-estate.support {
    background-image: url("images/template-estate-support-background.webp");
}

.template-estate::before {
    content: "";
    position: absolute;
    top: 5%;
    left: 40%;
    display: block;
    width: 185px;
    aspect-ratio: 185 / 180;
    background-image: url("images/template-estate-guide-decoration.webp");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 1;
}

.template-estate.guide::before {
    background-image: url("images/template-estate-guide-decoration.webp");
}

.template-estate.support::before {
    background-image: url("images/template-estate-support-decoration.webp");
}

.template-estate .title {
    font-size: 3.2px;
    font-size: 3.2rem;
    line-height: 1.3;
    text-align: left;
    font-weight: var(--font-bold);
    z-index: 2;
    position: relative;
}

.template-estate .info {
    width: 500px;
    z-index: 2;
    position: relative;
}

.template-estate .info .text {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.3;
    font-weight: var(--font-bold);
}

.template-estate .info .text br.sp {
    display: none;
}

.template-estate .info .button {
    width: 100%;
}

.template-estate .info .button+.button {
    margin-top: 8px;
}

.template-estate .info .button a {
    width: 100%;
    justify-content: center;
}

@media screen and (max-width: 900px) {
    .template-estate {
        padding: 16px 20px;
        flex-wrap: wrap;
    }

    .template-estate .title {
        font-size: 24px;
        font-size: 2.4rem;
    }

    .template-estate .info {
        display: contents;
    }

    .template-estate .info .button {
        margin-top: 2rem;
    }

    .template-estate .info .text {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .template-estate .info .text br.sp {
        display: block;
    }

    .template-estate.guide {
        background-image: url("images/template-estate-guide-background-sp.webp");
    }

    .template-estate.support {
        background-image: url("images/template-estate-support-background-sp.webp");
    }

    .template-estate.guide::before {
        width: 120px;
        left: auto;
        right: 19rem;
    }

    .template-estate.support::before {
        width: 120px;
        left: auto;
        right: 19rem;
    }
}

@media screen and (max-width: 600px) {
    .template-estate {
        display: block;
    }

    .template-estate .title {
        font-size: 20px;
        font-size: 2rem;
        margin: 0 auto;
        width: fit-content;
    }

    .template-estate .info .text {
        margin: 2rem 0 2rem auto;
        width: fit-content;
        z-index: 2;
        position: relative;
    }

    .template-estate .info .button {
        margin-top: 0;
    }

    .template-estate.guide::before {
        width: 90px;
        top: 10rem;
        left: 2rem;
        right: auto;
        z-index: 1;
    }

    .template-estate.support::before {
        width: 120px;
        top: 10rem;
        left: 2rem;
        right: auto;
        z-index: 1;
    }
}

.template-feature {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 32px;
    margin-top: 32px;
}

.template-feature .list {
    flex-basis: 50%;
}

.template-feature .list li {
    position: relative;
    padding: 8px 16px 8px 72px;
    border: 1px solid var(--color-black);
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: var(--font-bold);
    background-color: var(--color-light-sky);
}

.template-feature .list li::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 32px;
    display: block;
    width: 24px;
    height: 24px;
    background-image: url("images/icon-good-black.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.template-feature .list li+li {
    margin-top: 8px;
}

.template-feature .assessment {
    flex-basis: 45%;
}

.template-feature .lead {
    flex-basis: 100%;
    max-width: 685px;
    margin: 32px auto 0 auto;

}

@media screen and (max-width: 900px) {
    .template-feature {
        flex-direction: column;
        row-gap: 16px;
        max-width: 550px;
        margin-left: auto;
        margin-right: auto;
    }

    .template-feature .list {
        flex-basis: 100%;
        width: 100%;
    }

    .template-feature .list li {
        padding: 8px 16px 8px 56px;
        font-size: 20px;
        font-size: 2rem;
    }

    .template-feature .list li::before {
        top: 12px;
        left: 16px;
        width: 24px;
        height: 24px;
    }

    .template-feature .lead {
        margin-top: 0;
    }

    .template-feature .assessment {
        max-width: 270px;
    }

    .template-feature .lead {
        max-width: 350px;
    }
}

@media screen and (max-width: 600px) {
    .template-feature .list li {
        font-size: 18px;
        font-size: 1.8rem;
    }
}


.template-portfolio {
    display: flex;
    justify-content: space-between;
    margin-top: 56px;
    row-gap: 40px;
}

.template-portfolio .result {
    width: calc(50% - 48px);
}

.template-portfolio .caption {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: var(--font-bold);
    text-align: center;
    display: block;
}

.template-portfolio ul {
    margin-top: 24px;
}

.template-portfolio ul li+li {
    margin-top: 8px;
}

.template-portfolio ul li a {
    border: 1px solid var(--color-sky);
    border-radius: 8px;
    overflow: hidden;
    font-size: 16px;
    font-size: 1.6rem;
    display: flex;
    align-items: stretch;
}

.template-portfolio ul li a .date {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-sky);
    color: var(--color-background);
    width: 115px;
}

.template-portfolio ul li a .title {
    padding: 12px 48px 12px 16px;
    background-color: var(--color-background);
    width: calc(100% - 115px);
    line-height: 1.3;
    position: relative;
    display: flex;
    align-items: center;
}

.template-portfolio ul li a .title .title-inner {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 44px;
    height: 44px;
}

.template-portfolio ul li a .title::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    display: block;
    width: 24px;
    height: 24px;
    background-image: url("images/arrow-portfolio-sky.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: var(--transition);
}

.template-portfolio ul li a:hover .title::after {
    right: 8px;
}

@media screen and (max-width: 1000px) {
    .template-portfolio {
        flex-direction: column;
    }

    .template-portfolio .caption {
        font-size: 36px;
        font-size: 3.6rem;
    }

    .template-portfolio .result {
        width: 100%;
    }

    .template-portfolio ul li a {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .template-portfolio ul li a .date {
        width: 110px;
        min-width: 110px;
        padding: 0 1em;
    }

    .template-portfolio ul li a .title {
        width: calc(100% - 85px);
    }

    .template-portfolio ul li a .title .title-inner {
        max-height: 38px;
    }
}

@media screen and (max-width: 600px) {
    .template-portfolio .caption {
        font-size: 24px;
        font-size: 2.4rem;
    }
}

.template-widget {
    background-color: var(--color-light-sky);
    padding: 96px 0;
    overflow: hidden;
}

.template-widget+* {
    padding-top: 96px;
}

.template-widget .inner {
    max-width: calc(685px + 96px + 96px);
}

.template-widget .inner::before,
.template-widget .inner::after {
    content: "";
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.template-widget .inner::before {
    bottom: 0;
    left: -80px;
    background-image: url("images/decoration-02.webp");
    width: 137px;
    height: 356px;
}

.template-widget .inner::after {
    top: -24px;
    right: -270px;
    background-image: url("images/template-widget-decoration.webp");
    width: 350px;
    height: 465px;
}

.template-widget .content {
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    row-gap: 24px;
}

.template-widget .content .text .title {
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: var(--font-bold);
}

.template-widget .content .text .tb {
    display: block;
}

.template-widget .content .text .description {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: var(--font-bold);
}

.template-widget .contact {
    width: 380px;
}

.template-widget .contact .widget-button {
    margin-top: 10px;
}

.template-widget .contact .widget-button a {
    background-color: var(--color-orange);
    padding: 12px 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 16px;
    font-size: 24px;
    font-size: 2.4rem;
    color: var(--color-background);
    border-radius: 999px;
    font-weight: var(--font-bold);
    border: 3px solid var(--color-orange);
    transition: var(--transition);
}

.template-widget .contact .widget-button a:hover {
    background-color: var(--color-background);
    color: var(--color-orange);
}

.template-widget .contact .widget-button a::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.template-widget .contact .widget-button.mail a::before {
    background-image: url("images/icon-mail-white.svg");
}

.template-widget .contact .widget-button.tel a::before {
    background-image: url("images/icon-tel-white.svg");
}

.template-widget .contact .widget-button.mail a:hover::before {
    background-image: url("images/icon-mail-orange.svg");
}

.template-widget .contact .widget-button.tel a:hover::before {
    background-image: url("images/icon-tel-orange.svg");
}

@media screen and (max-width: 900px) {
    .template-widget {
        padding: 56px 0;
    }

    .template-widget+* {
        padding-top: 56px;
    }

    .template-widget .inner::before {
        bottom: 48%;
        transform: translateY(50%);
        left: 40px;
        width: 80px;
        height: 200px;
    }

    .template-widget .inner::after {
        top: 52%;
        transform: translateY(-50%);
        right: 10px;
        width: 110px;
        height: 150px;
    }

    .template-widget .point {
        max-width: 450px;
        margin: 0 auto;
    }

    .template-widget .content {
        flex-direction: column;
    }

    .template-widget .content .text .title {
        text-align: center;
    }

    .template-widget .content .text .tb {
        display: none;
    }

    .template-widget .content .text .description {
        text-align: center;
    }

    .template-widget .contact {
        width: 100%;
    }

    .template-widget .contact .thumbnail {
        max-width: 450px;
        margin: 0 auto;
    }

    .template-widget .contact .widget-button a {
        padding: 8px 0;
        font-size: 20px;
        font-size: 2rem;
        column-gap: 8px;
    }

    .template-widget .contact .widget-button a::before {
        width: 20px;
        height: 20px;
    }
}

@media screen and (max-width: 700px) {
    .template-widget .inner::before {
        width: 45px;
        height: 120px;
    }

    .template-widget .inner::after {
        width: 75px;
        height: 90px;
    }
}

@media screen and (max-width: 600px) {
    .template-widget+* {
        padding-top: 40px;
    }

    .template-widget {
        padding: 40px 0;
    }

    .template-widget .content .text .tb {
        display: block;
    }

    .template-widget .inner::before {
        bottom: 55%;
        width: 50px;
        height: 130px;
    }

    .template-widget .inner::after {
        top: 45%;
        width: 70px;
        height: 90px;
    }

    .template-widget .contact .widget-button a {
        padding: 8px 0;
        font-size: 18px;
        font-size: 1.8rem;
        column-gap: 8px;
    }

    .template-widget .content .text .title {
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 1.3;
    }

    .template-widget .content {
        row-gap: 16px;
    }
}


.template-area .lead {
    max-width: 547px;
    margin: 0 auto;
}

.template-area .description {
    font-size: 24px;
    font-size: 2.4rem;
    margin-top: 56px;
    margin: 56px auto 0 auto;
    max-width: 800px;
}

.template-area .area-map-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 56px;
    row-gap: 32px;
}

.template-area .area-map-wrapper .area-map {
    flex-basis: 60%;
}

.template-area .area-map-wrapper .area-list {
    width: fit-content;
}

.template-area .area-map-wrapper .area-list .other {
    margin-top: 40px;
}

.template-area .area-map-wrapper .area-list .list-wrapper {
    width: fit-content;
}

.template-area .area-map-wrapper .area-list .caption {
    text-align: center;
    display: block;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: var(--font-bold);
    margin-bottom: 24px;
    line-height: 1.2;
}

.template-area .area-map-wrapper .area-list ul {
    columns: 2;
    column-gap: 40px;
    width: fit-content;
}

.template-area .area-map-wrapper .area-list li {
    font-size: 24px;
    font-size: 2.4rem;
}

.template-area .area-map-wrapper .area-list .popular li {
    font-weight: var(--font-bold);
    color: var(--color-blue);
}

.template-area .area-map-wrapper .area-list li+li {
    margin-top: 16px;
}

@media screen and (max-width: 900px) {
    .template-area .description {
        margin-top: 32px;
        font-size: 18px;
        font-size: 1.8rem;
    }

    .template-area .area-map-wrapper {
        flex-direction: column;
        margin-top: 40px;
    }

    .template-area .area-map-wrapper .area-list .caption {
        font-size: 30px;
        font-size: 3rem;
    }

    .template-area .area-map-wrapper .area-list {
        width: 100%;
    }

    .template-area .area-map-wrapper .area-list .list-wrapper {
        width: 100%;
    }

    .template-area .area-map-wrapper .area-list ul {
        width: 100%;
        columns: 3;
        column-gap: 24px;
    }

    .template-area .area-map-wrapper .area-list li {
        font-size: 20px;
        font-size: 2rem;
    }

    .template-area .area-map-wrapper .area-list li+li {
        margin-top: 8px;
    }

    .template-area .area-map-wrapper .area-map {
        max-width: 530px;
        margin: 0 auto;
    }
}

@media screen and (max-width: 600px) {
    .template-area .area-map-wrapper .area-list .caption {
        font-size: 24px;
        font-size: 2.4rem;
    }

    .template-area .description {
        font-size: 16px;
        font-size: 1.6rem;
    }
}


.template-column {
    position: relative;
}

.template-column h2 {
    margin-bottom: 32px;
}

.template-column .column-description {
    max-width: 800px;
    margin-bottom: 56px;
    font-size: 18px;
    font-size: 1.8rem;
}

.template-column .decoration {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 160px;
    height: 140px;
}

.template-column ul li {
    background-color: var(--color-light-sky);
    padding: 24px;
    display: flex;
    justify-content: space-between;
    position: relative;
    row-gap: 8px;
}

.template-column ul li+li {
    margin-top: 24px;
}

.template-column ul li .thumbnail {
    flex-basis: 260px;
    aspect-ratio: 260 / 173;
}

.template-column ul li .thumbnail img {
    width: 100%;
    height: 100%;
    line-height: 0;
    object-fit: cover;
}

.template-column ul li .content {
    width: calc(100% - 260px - 32px);
    display: flex;
    flex-direction: column;
}

.template-column ul li .content .title {
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: var(--font-bold);
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.template-column ul li .content .summary {
    margin-bottom: 40px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    line-height: 1.5;
}

.template-column ul li .content .meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    row-gap: 8px;
    margin-top: auto;
}

.template-column ul li .content .meta .category {
    font-size: 16px;
    font-size: 1.6rem;
}

.template-column ul li .content .meta .category a {
    text-decoration: underline;
}

.template-column ul li .content .meta .archives-button {
    width: fit-content;
    margin: 0 0 0 auto;
}

.template-column ul li .content .meta .archives-button a {
    width: fit-content;
    background-color: var(--color-sky);
    padding: 8px 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 16px;
    font-size: 20px;
    font-size: 2rem;
    font-weight: var(--font-bold);
    color: var(--color-background);
    transition: var(--transition);
    border: 3px solid var(--color-sky);
}

.template-column ul li .content .meta .archives-button a:hover {
    background-color: var(--color-background);
    color: var(--color-sky);
}

.template-column ul li .content .meta .archives-button a::after {
    content: "";
    display: block;
    background-image: url("images/arrow-circle-white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 24px;
    height: 24px;
}

.template-column ul li .content .meta .archives-button a:hover::after {
    background-image: url("images/arrow-circle-sky.svg");
}

.template-column ul li .post-edit-link {
    position: absolute;
    top: 32px;
    left: 32px;
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px 16px;
    color: var(--color-gray);
    font-size: 14px;
    font-size: 1.4rem;
    box-shadow: 3px 3px 12px 0px rgba(0, 0, 0, 0.1);
}


@media screen and (max-width: 900px) {
    .template-column .decoration {
        position: absolute;
        top: -15px;
        width: 100px;
        height: 90px;
    }

    .template-column ul li .content .title {
        margin-bottom: 8px;
        font-size: 24px;
        font-size: 2.4rem;
    }

    .template-column ul li .content .meta .category {
        font-size: 18px;
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 750px) {
    .template-column .column-description {
        margin-bottom: 32px;
        font-size: 16px;
        font-size: 1.6rem;
    }

    .template-column ul li {
        flex-direction: column;
    }

    .template-column ul li .thumbnail {
        flex-basis: 100%;
    }

    .template-column ul li .content {
        width: 100%;
    }

    .template-column ul li .content .title {
        font-size: 1.8px;
        font-size: 1.8rem;
    }

    .template-column ul li .content .summary {
        margin-bottom: 16px;
        font-size: 1.4px;
        font-size: 1.4rem;
    }

    .template-column ul li .content .meta {
        flex-direction: column;
    }

    .template-column ul li .content .meta .archives-button {
        width: 100%;
    }

    .template-column ul li .content .meta .archives-button a {
        width: 100%;
        font-size: 16px;
        font-size: 1.6rem;
        padding: 6px 0;
    }

    .template-column ul li .content .meta .archives-button a::after {
        width: 20px;
        height: 20px;
    }
}

@media screen and (max-width: 620px) {
    .template-column .decoration {
        width: 60px;
        height: 52px;
    }
}

@media screen and (max-width: 500px) {
    .template-column .decoration {
        top: -5rem;
        right: 0;
    }
}


/******************/
/******************/
/* WordPress Tags */

img.size-full,
img.size-large,
.wp-post-image,
.post-thumbnail img {
    max-width: 100%;
    width: 100%;
    height: auto;
}

.wp-caption {}

.wp-caption-text {}

.sticky {}

.gallery-caption {}

.bypostauthor {}

#wpstats {
    display: none;
}

.wp-embedded-content {
    max-width: 100%;
    width: 100%;
}

.wp-video {
    margin: 0 0 1em 0;
    max-width: 100%;
    width: 100%;
}

.wp-video-shortcode {
    margin: 0 0 1em 0;
    max-width: 100%;
    width: 100%;
}

/******************/
/******************/

i {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.site {}

.site-header {}

.site-navi {}

.site-main {}

.site-footer {}

.site-background {}

/******************/
/******************/
/* header *********/


.site {
    width: 100%;
    height: auto;
    position: relative;
}

.site-header {
    width: 100%;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    background-color: var(--color-white);
    height: fit-content;
    z-index: 99;
    background-color: var(--color-light-sky);
    overflow: hidden;
}

.site-header .inner {
    max-width: calc(1100px + 96px + 96px);
}

.site-header .utility {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 40px;
    padding: 16px 0;
}

.site-header .header-logo {
    width: fit-content;
}

.site-header .header-logo a {
    display: flex;
    align-items: center;
    column-gap: 1rem;
}

.site-header .header-logo a .thumbnail {
    width: 93px;
    aspect-ratio: 1;
}

.site-header .header-logo a .text {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 28px;
    font-size: 2.8rem;
    text-align: right;
    white-space: nowrap;
}

.site-header .header-logo a .text small {
    font-size: 22px;
    font-size: 2.2rem;
    display: block;
}

.site-header .info {
    width: fit-content;
}

.site-header .info .date {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: var(--font-bold);
    text-align: center;
    margin-bottom: 8px;
    white-space: nowrap;
}

.site-header .info .contact {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    column-gap: 8px;
    row-gap: 8px;
    margin: 0 auto;
}

.site-header .info .contact .tel {
    width: 187px;
}

.site-header .info .contact .contact-button {
    width: fit-content;
    margin: 0;
}

.site-header .info .contact .contact-button a {
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    padding: 4px 26px 6px 22px;
    border-radius: 8px;
    background-color: var(--color-blue);
    color: var(--color-background);
    font-size: 20px;
    font-size: 2rem;
    font-weight: var(--font-bold);
    border: 2px solid var(--color-blue);
    white-space: nowrap;
}

.site-header .info .contact .contact-button a:hover {
    background-color: var(--color-background);
    color: var(--color-blue);
}

.site-header .info .contact .contact-button a::before {
    content: "";
    display: block;
    background-image: url("images/icon-mail-white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 28px;
    height: 28px;
}

.site-header .info .contact .contact-button a:hover::before {
    background-image: url("images/icon-mail-blue.svg");
}

.site-header .header-navi .menu {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    row-gap: 8px;
    flex-wrap: wrap;
    padding: 8px 0;
    background-color: var(--color-blue);
    position: relative;
}

.site-header .header-navi .menu::before,
.site-header .header-navi .menu::after {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    width: 100vw;
    height: 100%;
    background-color: var(--color-blue);
}

.site-header .header-navi .menu::before {
    left: 99.9%;
}

.site-header .header-navi .menu::after {
    right: 99.9%;
}

.site-header .header-navi li {
    width: fit-content;
}

.site-header .header-navi li a {
    width: fit-content;
    display: block;
    background-color: var(--color-background);
    border-radius: 8px;
    padding: 4px 16px 6px 16px;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: var(--font-bold);
    transition: var(--transition);
}

.site-header .header-navi li a:hover {
    transform: scale(0.97);
    color: var(--color-blue);
}

.site-header .header-navi li.current-menu-item a {
    background-color: #B4D1E0;
}

.site-header .header-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 12px 0;
    background-color: var(--color-blue);
    width: 100%;
    color: var(--color-background);
    font-weight: var(--font-bold);
    cursor: pointer;
}

.site-header .header-toggle::before {
    content: "";
    background: url(images/header-toggle.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 1.2em;
    height: 1.2em;
    margin-right: 0.5em;
    display: block;
}

.site-header .sp-menu {
    display: none;
}

.site-header .sp-menu .promotion .box a {
    position: relative;
    padding: 8px 16px;
    display: block;
}

.site-header .sp-menu .promotion .box.guide a {
    background-color: var(--color-pink);
}

.site-header .sp-menu .promotion .box.contact a {
    background-color: var(--color-green);
}

.site-header .sp-menu .promotion .box a .text {
    color: var(--color-background);
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: var(--font-bold);
    line-height: 1.3;
    text-align: left;
    transition: var(--transition);
}

.site-header .sp-menu .promotion .box a .arrow {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    background-image: url(images/arrow-circle-white.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 16px;
    height: 16px;
    content: "";
    display: block;
}

.site-header .sp-menu .close {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0.5em 1em;
    height: 100%;
    gap: 0.5em;
    align-items: center;
    font-weight: bold;
    background-color: #ffffff;
    border-radius: 1rem;
    margin-top: 2rem;
    color: inherit;
    cursor: pointer;
}

.site-header .sp-menu .close::before {
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 1.2em;
    height: 1.2em;
    background-image: url(images/navi-close.svg);
}

@media screen and (max-width: 1220px) {
    .site-header .inner {
        max-width: calc(1100px + 24px + 24px);
        padding: 0 24px;
    }
}

@media screen and (max-width: 1080px) {
    .site-header .utility {
        flex-direction: column;
    }
}

@media screen and (max-width: 900px) {
    .site-header .header-toggle {
        display: flex;
    }

    .site-header .sp-menu {
        display: block;
    }

    .site-header .header-navi {
        position: fixed;
        top: 0;
        left: 110vw;
        transition: left 0.5s;
        width: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        height: 100dvh;
        background-color: var(--color-blue);
    }

    .site-header .header-navi .navi-inner {
        height: 100%;
        min-height: fit-content;
        padding: 24px 5%;

    }

    .site-header.navi-active .header-navi {
        left: 0;
    }

    .site-header .header-navi .menu {
        flex-direction: column;
    }

    .site-header .header-navi .menu::before,
    .site-header .header-navi .menu::after {
        display: none;
    }

    .site-header .header-navi li {
        width: 100%;
    }

    .site-header .header-navi li a {
        width: 100%;
        text-align: center;
    }

    .site-header .info .contact {
        flex-direction: row;
    }

    .site-header .info .contact .tel {
        width: 140px;
    }

    .site-header .info .contact .contact-button a {
        padding: 2px 12px 4px 8px;
        font-size: 14px;
        font-size: 1.4rem;
    }

    .site-header .info .contact .contact-button a::before {
        width: 20px;
        height: 20px;
    }

    .site-header .info .date {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .site-header .header-toggle {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .site-header .header-logo a .thumbnail {
        width: 50px;
    }

    .site-header .header-logo a .text {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .site-header .header-logo a .text small {
        font-size: 14px;
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 375px) {
    .site-header .header-logo a .text {
        font-size: 15px;
        font-size: 1.5rem;
    }

    .site-header .header-logo a .text small {
        font-size: 14px;
        font-size: 1.4rem;
    }
}


/******************/
/******************/
/* footer *********/

.site-footer {
    padding: 72px 0;
    background-color: var(--color-sky);
    color: var(--color-background);
}

.site-footer .content {
    display: flex;
    column-gap: 96px;
}

.site-footer .content .footer-logo a .thumbnail {
    width: 90px;
    aspect-ratio: 1;
}

.site-footer .content .footer-logo a .text {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 32px;
    font-size: 3.2rem;
    white-space: nowrap;
}

.site-footer .content .footer-logo a .text small {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 20px;
    font-size: 2rem;
    display: block;
}

.site-footer .content .footer-description {
    overflow: hidden;
    height: 0;
}

.site-footer .content dd {
    line-height: 1.4;
    font-size: 20px;
    font-size: 2rem;
    margin-top: 10px;
}

.site-footer .footer-navi {
    margin-top: 90px;
    display: flex;
    column-gap: 4rem;
}

.site-footer .footer-navi ul li+li {
    margin-top: 16px;
}

.site-footer .footer-navi ul li a {
    padding-left: 16px;
    position: relative;
    font-size: 20px;
    font-size: 2rem;
    display: block;
    white-space: nowrap;
    text-decoration: underline;
}

.site-footer .footer-navi ul li a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-50%);
    display: block;
    width: 4px;
    height: 4px;
    background-color: var(--color-background);
    border-radius: 50%;
}

.site-footer .sns {
    display: flex;
    align-items: center;
    column-gap: 32px;
    width: fit-content;
    margin: 48px auto;
}

.site-footer .sns .caption {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: var(--font-bold);
}

.site-footer .sns .sns-button {
    width: fit-content;
}

.site-footer .sns .sns-button a {
    width: 56px;
    height: 56px;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: var(--transition);
}

.site-footer .sns .sns-button a:hover {
    transform: scale(0.95);
}

.site-footer .sns .sns-button.instagram a {
    background-image: url("images/icon-instagram.svg");
}

.site-footer .sns .sns-button.facebook a {
    background-image: url("images/icon-facebook.svg");
}

.site-footer .sns .sns-button span {
    display: none;
}

.site-footer .contact .title {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: var(--font-bold);
    text-align: center;
    margin-bottom: 24px;
}

.site-footer .contact .tel {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: var(--font-bold);
}

.site-footer .contact .tel {
    max-width: 440px;
    margin: 0 auto 16px auto;
}

.site-footer .contact .buttons {
    justify-content: center;
    margin-bottom: 72px;
    row-gap: 16px;
}

.site-footer .contact .footer-button {
    width: fit-content;
}

.site-footer .contact .footer-button a {
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 56px;
    background-color: var(--color-background);
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: var(--font-bold);
    border-radius: 16px;
    column-gap: 16px;
    color: var(--color-black);
}

.site-footer .contact .footer-button a::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-image: url(images/arrow-black.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.site-footer .contact .footer-button a[target="_blank"]::after {
    background-image: url(images/icon-external-black.svg);
}

.site-footer .site-info {
    font-size: 16px;
    font-size: 1.6rem;
    text-align: center;
    display: block;
}

@media screen and (max-width: 1200px) {
    .site-footer {
        padding: 32px 0;
    }

    .site-footer .footer-navi {
        margin-top: 85px;
        flex-direction: column;
    }

    .site-footer .contact .footer-button {
        width: 100%;
    }

    .site-footer .contact .footer-button a {
        padding: 12px;
        width: 100%;
        font-size: 20px;
        font-size: 2rem;
    }

    .site-footer .footer-navi ul+ul {
        margin-top: 12px;
    }
}

@media screen and (max-width: 900px) {
    .site-footer .contact .buttons {
        flex-direction: column;
        margin-bottom: 32px;
    }

    .site-footer .contact .title {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 10px;
    }

    .site-footer .content dd {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .site-footer .contact .footer-button a {
        font-size: 16px;
        font-size: 1.6rem;
        column-gap: 8px;
    }

    .site-footer .contact .footer-button a::after {
        width: 20px;
        height: 20px;
    }

    .site-footer .footer-navi {
        margin-top: 0;
    }

    .site-footer .footer-navi ul li a {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .site-footer .footer-navi ul li+li {
        margin-top: 8px;
    }

    .site-footer .sns {
        margin: 32px auto 12px auto;
    }

    .site-footer .sns .caption {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .site-footer .sns .sns-button a {
        width: 40px;
        height: 40px;
    }

    .site-footer .site-info {
        font-size: 12px;
        font-size: 1.2rem;
    }

    .site-footer .content {
        column-gap: 40px;
        justify-content: center;
    }

    .site-footer .content .footer-logo a {
        display: flex;
        column-gap: 12px;
        align-items: center;
    }

    .site-footer .content .footer-logo a .thumbnail {
        width: 72px;
        aspect-ratio: 1;
    }

    .site-footer .content .footer-logo a .text {
        font-size: 26px;
        font-size: 2.6rem;
    }

    .site-footer .content .footer-logo a .text small {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 700px) {
    .site-footer .content {
        flex-direction: column;
    }

    .site-footer .footer-navi {
        margin-top: 24px;
    }

    .site-footer .sns {
        margin: 10px auto;
    }

    .site-footer .footer-navi ul li a {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .site-footer .content .footer-logo a {
        justify-content: center;
    }
}

@media screen and (max-width: 600px) {
    .site-footer .sns {
        margin: 20px auto;
    }
}


/******************/
/******************/
/* main ***********/

.site-main {
    padding: 0 0 0.1em 0;
    line-height: 1.7;
    overflow: hidden;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

.site-main a {}

.main-header {
    margin: calc(172px + 24px) 0 24px 0;
    background-color: var(--color-light-sky);
    border-radius: 50px;
    padding: 32px 32px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.main-header h1 {
    font-size: 58px;
    font-size: 5.8rem;
    font-weight: var(--font-bold);
    line-height: 1.2;
    text-align: center;
}

.main-header h1 .subtitle {
    font-size: 32px;
    font-size: 3.2rem;
    display: block;
    margin-bottom: 8px;
}

@media screen and (max-width: 900px) {
    .main-header {
        margin: 20.7rem 0 24px 0;
    }

    .main-header h1 {
        font-size: 32px;
        font-size: 3.2rem;
    }

    .main-header h1 .subtitle {
        font-size: 16px;
        font-size: 1.6rem;
    }
}


/******************/
/******************/
/* sidebar.php ****/





.main-content.has-sidebar {
    float: left;
    width: 100%;
    width: -webkit-calc(100% - 320px);
    width: -moz-calc(100% - 320px);
    width: -ms-calc(100% - 320px);
    width: -o-calc(100% - 320px);
    width: calc(100% - 320px);
}

.main-sidebar {
    width: 280px;
    float: right;
    padding: 0;
    text-align: left;
}

.main-sidebar .module {
    margin-bottom: 20px;
    display: block;
    clear: both;
}

.main-sidebar a {}

.main-sidebar a:hover {}

.main-sidebar h4 {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 0 0 4px 0;
    display: block;
}

.main-sidebar p {
    margin: 0 0 12px 0;
    clear: both;
}

.main-sidebar ul {
    padding: 0;
    margin: 0;
    clear: both;
}

.main-sidebar ul li {
    padding: 0;
    margin: 0;
}

.main-sidebar label {
    display: block;
}

.main-sidebar select {
    margin: 0 0 1em 0;
    width: 99%;
    border: 1px solid #DAA520;
    border-color: var(--oz-color-gold);
}

.main-sidebar label.screen-reader-text {
    display: none;
}

.main-sidebar .search-submit {
    display: none;
}


/******************/
/******************/
/* post-type ******/



.page-title {
    line-height: 1.2;
    text-align: center;
    margin: 0 0 40px 0;
    min-height: 300px;
    display: flex;
    align-items: center;
}

.page-title h3 {
    font-size: 17px;
    font-size: 1.7rem;
}

.page-title h3 i {
    display: block;
    font-size: 31px;
    font-size: 3.1rem;
}

.page-thumbnail {
    max-height: 100vh;
    height: 30vh;
    overflow: hidden;
    margin: 0 0 60px 0;
}

.page-thumbnail img {
    width: 100%;
}

.page-content,
.post-content {
    text-align: left;
}

.post-date {
    line-height: 1.2;
}

.post-date i {
    display: block;
    white-space: nowrap;
}

.post-date i.month {
    font-size: 2.4em;
}

.post-date i.day {
    font-size: 3em;
}

.post-date i.year {
    font-size: 2.2em;
}

.post-title h3 {
    font-size: 21px;
    font-size: 2.1rem;
}


.section-title {}



/******************/
/******************/
/* article ********/

.article-content {
    margin: 0;
    padding: 0;
    vertical-align: top;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
    margin: 0 auto 1em auto;
    line-height: 1.6;
}

.article-content h1 {
    font-size: 50px;
    font-size: 5.8rem;
}

.article-content h2 {
    font-size: 50px;
    font-size: 5rem;
    font-weight: var(--font-bold);
}

.article-content h3 {
    font-size: 19px;
    font-size: 1.9rem;
    margin: 0 auto 2em;
}

.article-content h4 {
    font-size: 29px;
    font-size: 2.9rem;
}

.article-content h5 {
    font-size: 18px;
    font-size: 2.0rem;
}

.article-content h6 {
    font-size: 16px;
    font-size: 1.8rem;
}

.article-content h1 i,
.article-content h2 i,
.article-content h3 i,
.article-content h4 i,
.article-content h5 i,
.article-content h6 i {
    display: block;
}

.article-content p {
    margin: 0 0 2.0em 0;
}

.article-content ul,
.article-content ol {
    margin: 0 0 2em 0;
    padding: 0;
    list-style: outside;
}

.article-content ul ul,
.article-content ul ol,
.article-content ol ul,
.article-content ol ol {
    margin-bottom: 0;
}

.article-content ul {
    list-style: none;
}

.article-content ul ul {
    list-style: circle;
}

.article-content ol {
    list-style: none;
}

.article-content ol ol {
    list-style: upper-roman;
}

.article-content ul li {
    padding: 0 0 0 1.4em;
    padding-right: 1.4em;
    text-indent: -1.4em;
}

.article-content ul li:before {
    content: "";
    display: inline-block;
    background: url("images/arrow-r-dark.svg") center center no-repeat;
    width: 1em;
    height: 1em;
    background-size: 12px 12px;
    vertical-align: middle;
    margin: 0 0.4em 0 0;
}

.article-content ul li a {
    color: #1d2b6f;
    color: var(--oz-color-navy);
}

.article-content ul li a:hover {
    color: #1d2b6f;
    color: var(--oz-color-navy);
    text-decoration: underline;
}

.article-content ol li {
    padding: 0 0 0 1.6em;
    text-indent: -1.4em;
    text-indent: calc(-12px - 0.4em);
    list-style: none;
    counter-increment: number;
}

.article-content ol li:before {
    content: counter(number) ".";
    margin: 0 0.4em 0 0;
}

.article-content dl {
    margin: 0 0 2em 0;
    padding: 0;
}

.article-content dl dt {
    margin: 0;
    position: relative;
    font-size: 1.1em;
}

.article-content dl dd {
    margin: 0 0 1em 0;
    padding: 0;
}


.article img {
    max-width: 100%;
    height: auto;
    margin-top: 1.2em;
}

.article-content blockquote {
    padding: 1em;
    margin: 0 0 2em 1em;
    border-left: 2px solid #333333;
}

.article-content blockquote>*:last-child,
.article-content blockquote>*:last-child>*:last-child,
.article-content blockquote>*:last-child>*:last-child>*:last-child {
    margin: 0;
}

.article-content blockquote cite {
    font-size: 0.8em;
}

.article-content blockquote cite:before {
    content: "— ";
    margin: 0 0 0 1em;
}



/******************/
/******************/
/* front-page.php */
/* page.php *******/

.section-top-hero {
    background-image: url("images-page/top-hero-background.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 820px;
    margin-bottom: 96px;
}

.section-top-hero::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    display: block;
    width: 100%;
    height: 400px;
    background-image: url("images-page/top-hero-decoration.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: 0;
}

.section-top-hero h1,
.section-top-hero h2 {
    opacity: 0;
    pointer-events: none;
}

.section-top-hero .news {
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 2;
    max-width: 1440px;
    width: calc(100% - 96px - 96px);
    transform: translateX(-50%);
    padding-left: 120px;
}

.section-top-hero .news::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 90px;
    aspect-ratio: 9 / 12;
    background-image: url("images-page/top-hero-news-decoration.webp");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.section-top-hero .news-inner {
    width: 460px;
}

.section-top-hero .news .caption {
    font-size: 20px;
    font-size: 2rem;
    font-weight: var(--font-bold);
    display: block;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.section-top-hero .news p {
    margin-bottom: 0;
    overflow: hidden;
    display: block;
    font-size: 18px;
    line-height: 1.4;
}

.section-top-hero .news p .link {
    display: inline;
    white-space: nowrap;
    font-weight: 500;
    text-decoration: underline;
    color: var(--color-blue);
}

.section-top-hero .news .news-button {
    margin-top: 12px;
    width: fit-content;
}

.section-top-hero .news .news-button a {
    font-size: 14px;
    font-size: 1.4rem;
    margin: 0;
    column-gap: 8px;
    padding: 4px 12px;
    border-radius: 8px;
    background-color: var(--color-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-background);
}

.section-top-hero .news .news-button a::after {
    content: "";
    display: block;
    background-image: url("images/arrow-circle-white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 12px;
    height: 12px;
}

.section-top-hero .news .decoration {
    position: absolute;
    bottom: calc(100% + 24px);
    left: 70px;
    width: 315px;
}

@media screen and (max-width: 900px) {
    .section-top-hero {
        aspect-ratio: 2 / 1;
        height: auto;
        margin-top: 130px;
        margin-bottom: 210px;
    }

    .section-top-hero h1 {
        opacity: 0;
    }

    .section-top-hero::after {
        display: none;
    }

    .section-top-hero .news {
        bottom: auto;
        top: 100%;
        left: 0;
        width: 100%;
        transform: none;
        padding-left: 0;
    }

    .section-top-hero .news-inner {
        width: 100%;
        padding: 16px 5% 24px 5%;
        background-color: var(--color-light-sky);
    }

    .section-top-hero .news::before {
        display: none;
    }

    .section-top-hero .news .caption {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .section-top-hero .news p {
        font-size: 16px;
    }

    .section-top-hero .news .news-button {
        width: 100%;
    }

    .section-top-hero .news .news-button a {
        width: 100%;
        font-size: 18px;
        font-size: 1.8rem;
    }

    .section-top-hero .news .decoration {
        width: 110px;
        left: 25px;
    }
}

@media screen and (max-width: 600px) {
    .section-top-hero {
        margin-bottom: 230px;
    }
}

.section-top-portfolio .template-portfolio {
    margin-top: 0;
}


.section-top-estate h2 {
    text-align: center;
    margin-bottom: 56px;
}

.section-top-estate .template-estate {
    margin-top: 0;
}

.section-top-estate .template-estate+.template-estate {
    margin-top: 24px;
}

.section-top-estate h3 {
    font-size: 40px;
    font-size: 4rem;
    font-weight: var(--font-bold);
    text-align: center;
    margin-top: 56px;
}

.section-top-estate .template-feature {
    margin-top: 32px;
}

@media screen and (max-width: 900px) {
    .section-top-estate h2 {
        font-size: 36px;
        font-size: 3.6rem;
    }

    .section-top-estate h3 {
        font-size: 36px;
        font-size: 3.6rem;
    }
}

@media screen and (max-width: 600px) {
    .section-top-estate {
        padding-bottom: 40px;
    }

    .section-top-estate h2 {
        font-size: 28px;
        font-size: 2.8rem;
    }

    .section-top-estate h3 {
        font-size: 28px;
        font-size: 2.8rem;
        margin-top: 40px;
    }
}

.section-top-area h2 {
    text-align: center;
    margin-bottom: 56px;
}

@media screen and (max-width: 900px) {
    .section-top-area h2 {
        text-align: center;
        margin-bottom: 32px;
        font-size: 36px;
        font-size: 3.6rem;
    }
}

@media screen and (max-width: 600px) {
    .section-top-area h2 {
        font-size: 28px;
        font-size: 2.8rem;
    }
}


.section-top-column h2 {
    margin-bottom: 32px;
}

@media screen and (max-width: 900px) {
    .section-top-column h2 {
        font-size: 36px;
        font-size: 3.6rem;
    }
}

@media screen and (max-width: 600px) {
    .section-top-column {
        padding-bottom: 40px;
    }

    .section-top-column h2 {
        font-size: 28px;
        font-size: 2.8rem;
    }
}




/******************/


.section-information-intro .mini-area-title {
    font-size: 30px;
    font-size: 3rem;
    font-weight: var(--font-bold);
    display: block;
    margin: 40px auto 0 auto;
    width: fit-content;
}

.section-information-intro .mini-area-list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 16px;
    row-gap: 16px;
    margin-top: 24px;
}

.section-information-intro .mini-area-list li {
    background-color: var(--color-green);
    color: var(--color-background);
    font-size: 20px;
    font-size: 2rem;
    font-weight: var(--font-bold);
    padding: 8px 12px;
}

.section-information-intro .condition-gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /* row-gap: 24px; */
    margin-top: 32px;
}

.section-information-intro .condition-gallery .item {
    width: 31.5%;
}

.section-information-intro .condition-gallery .item .caption {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: var(--font-bold);
    display: block;
    margin-top: 8px;
    text-align: center;
}

.section-information-intro .any-gallery {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 32px;
    row-gap: 40px;
}

.section-information-intro .any-gallery .item {
    width: 48%;
}

.section-information-intro .any-gallery .item .caption {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: var(--font-bold);
    display: block;
    margin-bottom: 16px;
}

.section-information-intro .portfolio-title {
    margin: 2em auto 0 auto;
    width: fit-content;
    border: none;
    background-color: transparent;
    font-size: 32px;
    font-size: 3.2rem;
    padding: 0;
}

.section-information-intro .sample-portfolio {
    background-color: var(--color-light-sky);
    padding: 40px 48px;
    display: flex;
    justify-content: space-between;
    row-gap: 32px;
    margin-top: 42px;
}

.section-information-intro .sample-portfolio .thumbnail {
    width: 25%;
}

.section-information-intro .sample-portfolio .content {
    width: 70%;
}

.section-information-intro .sample-portfolio .content h4 {
    font-size: 32px;
    font-size: 3.2rem;
    padding: 0;
    margin-top: 0;
    margin-bottom: 16px;
    background-color: transparent;
}

.section-information-intro .sample-portfolio .content .meta {
    display: flex;
    align-items: center;
    column-gap: 32px;
}

.section-information-intro .sample-portfolio .content .meta .category {
    background-color: var(--color-blue);
    padding: 4px 24px;
    color: var(--color-background);
    font-weight: var(--font-bold);
    font-size: 20px;
    font-size: 2rem;
}

.section-information-intro .sample-portfolio .content .meta .month {
    font-weight: var(--font-bold);
    font-size: 20px;
    font-size: 2rem;
}

.section-information-intro .sample-portfolio .content p {
    font-size: 20px;
    font-size: 2rem;
}

.section-information-intro .sample-portfolio+.sample-portfolio {
    margin-top: 32px;
}

.section-information-intro .voice-banner {
    background-color: var(--color-light-sky);
    border-radius: 30px;
    padding: 40px;
    display: flex;
    justify-content: space-between;
    row-gap: 24px;
    max-width: 800px;
    margin: 80px auto;
    clear: both;
    row-gap: 16px;
}

.section-information-intro .voice-banner .thumbnail {
    width: 120px;
    height: 120px;
}

.section-information-intro .voice-banner .thumbnail img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.section-information-intro .voice-banner .content {
    width: calc(100% - 120px - 32px);
}

.section-information-intro .voice-banner .content h3 {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: var(--font-bold);
    margin: 0 0 16px 0;
    display: block;
    border: none;
    padding: 0;
}

.section-information-intro .voice-banner .content p {
    font-size: 20px;
    font-size: 2rem;
    font-weight: var(--font-bold);
    margin: 0;
}

@media screen and (max-width: 900px) {
    .section-information-intro .mini-area-list li {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .section-information-intro .intro-point-thumbnail {
        max-width: 450px;
        margin: 0 auto;
    }

    .section-information-intro .condition-gallery {
        column-gap: calc(4% / 2);
        justify-content: flex-start;
    }

    .section-information-intro .condition-gallery .item {
        width: 32%;
    }

    .section-information-intro .condition-gallery .item .caption {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .section-information-intro .sample-portfolio {
        padding: 20px 24px;
    }

    .section-information-intro .sample-portfolio .thumbnail {
        width: 32%;
    }

    .section-information-intro .sample-portfolio .content {
        width: 63%;
    }

    .section-information-intro .sample-portfolio .content p {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .section-information-intro .sample-portfolio .content .meta .category {
        padding: 2px 24px;
    }

    .section-information-intro .any-gallery .item .caption {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .section-information-intro .portfolio-title {
        margin: 32px auto 16px auto;
        font-size: 24px;
        font-size: 2.4rem;
    }

    .section-information-intro .sample-portfolio .content h4 {
        font-size: 20px;
        font-size: 2rem;
    }
}

@media screen and (max-width: 600px) {
    .section-information-intro .mini-area-title {
        font-size: 20px;
        font-size: 2rem;
    }

    .section-information-intro .portfolio-title {
        font-size: 20px;
        font-size: 2rem;
    }

    .section-information-intro .voice-banner .content h3 {
        font-size: 20px;
        font-size: 2rem;
    }

    .section-information-intro .voice-banner .content p {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .section-information-intro .condition-gallery {
        column-gap: 4%;
    }

    .section-information-intro .condition-gallery .item {
        width: 48%;
    }

    .section-information-intro .sample-portfolio {
        flex-direction: column;
    }

    .section-information-intro .sample-portfolio .content {
        width: 100%;
    }

    .section-information-intro .sample-portfolio .thumbnail {
        width: 60%;
        margin: 0 auto;
    }

    .section-information-intro .sample-portfolio .content .meta {
        column-gap: 12px;
    }

    .section-information-intro .voice-banner {
        flex-direction: column;
        padding: 24px;
        margin: 40px auto;
    }

    .section-information-intro .voice-banner .thumbnail {
        margin: 0 auto;
    }

    .section-information-intro .voice-banner .content {
        width: 100%;
    }

    .section-information-intro .any-gallery .item .caption {
        font-size: 11px;
        font-size: 1.1rem;
    }
}


.section-information-support .visual {
    margin-top: 32px;
}

.section-information-support .suggest ul {
    position: relative;
    background-color: #C1D7B4;
    border-radius: 8px;
    padding: 24px 32px 24px 56px;
    height: fit-content;
    list-style: disc;
}

.section-information-support .suggest ul li {
    font-weight: var(--font-bold);
    font-size: 20px;
    font-size: 2rem;
}

.section-information-support .suggest ul li+li {
    margin-top: 4px;
}

.section-information-support .suggest.green h4 {
    margin-top: 32px;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: var(--font-bold);
    background-color: transparent;
}

.section-information-support .suggest.green .content {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
}

.section-information-support .suggest.green .content ul {
    width: 70%;
}

.section-information-support .suggest.green .content ul::after {
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1.5rem 2rem 1.5rem 0;
    border-color: transparent #C1D7B4 transparent transparent;
    content: "";
    position: absolute;
    top: 50%;
    right: 99.9%;
    transform: translateY(-50%);
}

.section-information-support .suggest.green .content .thumbnail {
    width: 25%;
}

.section-information-support .suggest.yellow {
    margin-top: 56px;
}

.section-information-support .suggest.yellow .title-wrapper {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0 32px;
}

.section-information-support .suggest.yellow .title-wrapper .title {
    width: fit-content;
    font-size: 24px;
    font-size: 2.4rem;
    margin-bottom: 32px;
}

.section-information-support .suggest.yellow .title-wrapper .title b {
    background-color: #DD6646;
    padding: 4px 24px;
    color: var(--color-background);
    display: block;
    width: fit-content;
}

.section-information-support .suggest.yellow .title-wrapper .title p {
    font-weight: var(--font-bold);
    margin-top: 8px;
    line-height: 1.3;
}

.section-information-support .suggest.yellow .title-wrapper .title p .marker {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: var(--font-bold);
    display: block;
}

.section-information-support .suggest.yellow .title-wrapper .thumbnail {
    width: 200px;
}

.section-information-support .suggest.yellow ul {
    background-color: #F5E4A8;
}

/* .section-information-support table {
	border: none;
	margin: 40px 0 40px 0;
	min-width: 1000px;
}
.section-information-support table th,
.section-information-support table td {
	border: 1px solid #94C17B;
	padding: 16px 32px;
	vertical-align: middle;
}
.section-information-support table thead th {
	border: 1px solid #94C17B;
	padding: 16px 32px;
	vertical-align: middle;
	background-color: #94C17B;
	color: var(--color-background);
	font-weight: var(--font-bold);
}
.section-information-support table thead th:empty {
	border: none;
	background-color: transparent;
}
.section-information-support table tbody th {
	background-color: #fcfbf2;
	text-align: center;
	padding: 16px 32px;
	width: fit-content;
	white-space: nowrap;
	font-weight: bold;
} */
.section-information-support table ul {
    list-style: disc;
}

@media screen and (max-width: 900px) {
    .section-information-support .suggest.yellow .title-wrapper {
        padding: 0;
    }

    .section-information-support .suggest.yellow .title-wrapper .thumbnail {
        width: 110px;
    }

    .section-information-support .suggest ul {
        padding: 16px 24px 16px 32px;
    }

    .section-information-support .suggest.green h4 {
        font-size: 20px;
        font-size: 2rem;
    }

    .section-information-support .suggest ul li {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .section-information-support .suggest.yellow .title-wrapper .title {
        font-size: 20px;
        font-size: 2rem;
    }

    .section-information-support .suggest.yellow .title-wrapper .title p .marker {
        font-size: 24px;
        font-size: 2.4rem;
    }
}


.section-information-flow .caption {
    margin-bottom: 8px;
    font-size: 30px;
    font-size: 3rem;
    font-weight: var(--font-bold);
    display: block;
}

/* .section-information-flow p {
    margin: 0;
} */

.section-information-flow ol {
    margin-top: 2em;
    /* margin-bottom: 32px; */
}

.section-information-flow ol li {
    display: flex;
    align-items: stretch;
    border: 1px solid #E1EBEF;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: var(--font-bold);
    column-gap: 8px;
    line-height: 1.4;
}

.section-information-flow ol li+li {
    margin-top: 11px;
}

.section-information-flow ol li i {
    font-size: 24px;
    font-size: 2.4rem;
    width: 40px;
    font-weight: var(--font-bold);
    background-color: var(--color-light-sky);
    display: flex;
    align-items: center;
    justify-content: center;
}

.section-information-flow ol li .text {
    padding: 10px 8px;
}

.section-information-flow .cost {
    list-style: disc;
    margin-top: 2em;
    margin-left: 24px;
    font-size: 22px;
    font-size: 2.2rem;
}

@media screen and (max-width: 900px) {
    .section-information-flow ol li i {
        min-width: 32px;
        width: 32px;
        font-size: 20px;
        font-size: 2rem;
    }

    .section-information-flow .caption {
        font-size: 20px;
        font-size: 2rem;
    }

    .section-information-flow ol li {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 600px) {
    .section-information-flow .cost {
        font-size: 18px;
        font-size: 1.8rem;
    }
}


.section-contact-content .form .tel-box {
    margin: 0 auto 56px auto;
    border: 1px solid var(--color-blue);
    background-color: var(--color-light-sky);
    border-radius: 32px;
    padding: 24px 32px;
    text-align: center;
    width: fit-content;
}

.section-contact-content .form .tel-box .caption {
    font-size: 20px;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 8px;
    margin-bottom: 1.6rem;
    display: block;
}

.section-contact-content .form .tel-box .tel {
    font-size: 35px;
    font-size: 3.5rem;
    font-weight: bold;
    display: block;
    color: var(--color-blue);
    line-height: 1.3;
    margin: 0;
}

.section-contact-content .form .tel-box .note {
    margin-top: 8px;
    display: block;
}

.section-contact-content .form .label {
    font-size: 24px;
    font-size: 2.4rem;
    margin-top: 56px;
    font-weight: var(--font-bold);
    display: block;
}

.section-contact-content .form table {
    border-top: none;
    margin-top: 0;
}

.section-contact-content .form table th,
.section-contact-content .form table td {
    border: none;
    display: block;
    background-color: transparent;
}

.section-contact-content .form table th {
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    padding: 24px 0 8px 0;
}

.section-contact-content .form table th b {
    display: inline-block;
    font-size: 14px;
    font-size: 1.4rem;
    margin-left: 8px;
    margin-right: 8px;
    background-color: #de0808;
    color: var(--color-background);
    padding: 2px 8px;
    border-radius: 4px;
}

.section-contact-content .form table td {
    padding: 0;
}

.section-contact-content .form .acceptance {
    margin-top: 0;
    color: var(--color-blue);
    text-decoration: underline;
}

.section-contact-content .form .buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 56px;
    row-gap: 16px;
}

.section-contact-content .form .buttons .submit {
    color: var(--color-background);
    background-color: var(--color-blue);
    padding: 16px 48px;
    text-align: center;
    border: none;
    display: block;
    font-size: 24px;
    font-size: 2.4rem;
    border-radius: 16px;
    cursor: pointer;
}

.section-contact-content .form .buttons .reset {
    background-color: #E6E6E6;
    padding: 16px 48px;
    text-align: center;
    border: none;
    display: block;
    font-size: 24px;
    font-size: 2.4rem;
    border-radius: 16px;
    font-weight: bold;
    cursor: pointer;
}

@media screen and (max-width: 900px) {
    .section-contact-content .form .buttons {
        flex-direction: column;
    }

    .section-contact-content .form .buttons .reset {
        font-size: 20px;
        font-size: 2rem;
    }

    .section-contact-content .form .buttons .submit {
        width: 100%;
        font-size: 20px;
        font-size: 2rem;
    }
}

















.article-search table.search-table {}

.article-search table.search-table th,
.article-search table.search-table td {
    border: 1px solid var(--oz-color-green);
    padding: 1em 1em;
}

.article-search table.search-table th {
    text-align: center;
    vertical-align: middle;
    font-weight: 700;
    background-color: #f6fff1;
    white-space: nowrap
}

.article-search .buttons {
    margin-top: 7rem;
}

.article-search .buttons .search,
.article-search .buttons .reset {
    white-space: nowrap;
    cursor: pointer;
}

.article-search .buttons .search button {
    color: #ffffff;
    background-color: var(--oz-color-green);
    padding: 0.5em 2.5em;
    text-align: center;
    border: none;
    display: block;
    font-size: 2.4rem;
    border-radius: 16px;
    cursor: pointer;
}

.article-search .buttons .reset button {
    background-color: #E6E6E6;
    padding: 0.5em 2.5em;
    text-align: center;
    border: none;
    display: block;
    color: var(--oz-color-black);
    font-size: 2.4rem;
    border-radius: 16px;
    font-weight: bold;
    cursor: pointer;
}

.article-search .buttons .search button::after,
.article-search .buttons .reset button::after {
    display: none;
}

.article-search .buttons .search:hover button,
.article-search .buttons .reset:hover button {
    cursor: pointer;
}

.article-search .section-search-form .query-item-set {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 10px 20px;
}

.article-search .section-search-form .query-item {
    white-space: nowrap;
    display: flex;
    gap: 5px;
    align-items: center;
}

.article-search .section-search-form .query-item:hover input,
.article-search .section-search-form .query-item:hover label {
    cursor: pointer;
}

.search-result-introduction {
    padding-top: 1.5em;
}

.search-sort-select {
    display: flex;
    position: relative;
    flex-direction: row;
    justify-content: flex-end;
    gap: 20px;
    align-items: center;
    margin-bottom: 20px;
}

.search-sort-select>* {
    margin: 0;
}

.search-sort-select>select {
    width: 180px;
    padding-left: 16px;
    color: #333333;
    border: 1px solid #333333;
    border-radius: 10px;
    font-size: 16px;
}

.search-sort-select::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    background: url("images/chevron-down.svg") center center no-repeat;
    background-size: 12px auto;
    width: 14px;
    height: 14px;
    pointer-events: none;
}

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

    .article-search table.search-table th,
    .article-search table.search-table td {
        display: block;
        border: none;
    }

    .article-search table.search-table tr {
        border: none;
        border: 1px solid var(--oz-color-green);
    }

    .article-search .buttons {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        margin-top: 4rem;
    }

    .article-search .buttons .button {
        white-space: nowrap;
    }

    .search-sort-select {
        margin-top: 32px;
    }
}

/* #post-profile {} */
/* #post-service {} */

/* #post-contact {} */
/* #post-privacy {} */
/* #post-sitemap {} */


.article-privacy-policy dt {
    margin-bottom: 0.3em;
}

.article-privacy-policy dt em {
    font-size: 1.1em;
}

.article-privacy-policy dd {
    margin-bottom: 2em;
}

.article-privacy-policy ul.contact {
    margin-top: 4rem;
}

.article-privacy-policy a {
    color: var(--oz-color-green);
}

.article-privacy-policy a:hover {
    text-decoration: underline;
}

.swiper-container-free-mode>.swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    -o-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}

.maps {
    width: 100%;
    height: 300px;
    overflow: hidden;
    position: relative;
    padding-top: 0;
    margin: 0 0 40px 0;
}

.googlemaps {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
}

.maps iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
}




/******************/
/******************/
/* archive.php ****/

.section-archives-archives ul.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 16px;
    margin-top: 56px;
}

.section-archives-archives ul.page-numbers li {
    width: fit-content;
}

.section-archives-archives ul.page-numbers li a,
.section-archives-archives ul.page-numbers li span {
    border: 1px solid var(--color-blue);
    background-color: var(--color-background);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    color: var(--color-blue);
    width: 30px;
    height: 30px;
    font-size: 16px;
    font-size: 1.6rem;
}

.section-archives-archives ul.page-numbers .current {
    background-color: var(--color-blue);
    color: var(--color-background);
}

.section-archives-archives ul.page-numbers .dots {
    border: none;
}

.section-archives-archives ul.page-numbers .prev,
.section-archives-archives ul.page-numbers .next {
    display: none;
}



/******************/
/******************/
/* CustomContents */




/*
.archives-custompost .mix,
.archives-custompost .gap {display:inline-block; width:20%; vertical-align:top;}
.archives-custompost #mix .mix {display:none;}
*/
.gallery-selector ol {
    text-align: center;
    margin: 0 auto 40px;
}

.gallery-selector ol li {
    display: inline-block;
    margin: 0 4px;
}

.gallery-selector ol li {
    background-color: #ffffff;
    border: 1px solid #5A8C5A;
    border-color: var(--oz-color-green);
    color: #5A8C5A;
    color: var(--oz-color-green);
    padding: 2px 8px 0;
    cursor: pointer;
}

.gallery-selector ol li i {
    display: block;
}

.gallery-selector ol li:hover {
    background-color: #5A8C5A;
    background-color: var(--oz-color-green);
    color: #ffffff;
}

.gallery-selector ol li.mixitup-control-active {
    background-color: #5A8C5A;
    background-color: var(--oz-color-green);
    color: #ffffff;
}

.gallery-selector ol li.mixitup-control-active:hover {
    background-color: #5A8C5A;
    background-color: var(--oz-color-green);
}

.mixitup-page-list {
    text-align: center;
    clear: both;
    margin: 0 auto;
    height: auto;
    padding: 0 0 40px 0;
    line-height: 1;
    -webkit-transition: 0.4s cubic-bezier(.39, .575, .565, 1);
    -moz-transition: 0.4s cubic-bezier(.39, .575, .565, 1);
    -ms-transition: 0.4s cubic-bezier(.39, .575, .565, 1);
    -o-transition: 0.4s cubic-bezier(.39, .575, .565, 1);
    transition: 0.4s cubic-bezier(.39, .575, .565, 1);
}

.mixitup-page-list.mixitup-page-list-disabled {
    opacity: 0;
    height: 0;
    padding: 0;
    -webkit-transition: 0.4s cubic-bezier(.39, .575, .565, 1);
    -moz-transition: 0.4s cubic-bezier(.39, .575, .565, 1);
    -ms-transition: 0.4s cubic-bezier(.39, .575, .565, 1);
    -o-transition: 0.4s cubic-bezier(.39, .575, .565, 1);
    transition: 0.4s cubic-bezier(.39, .575, .565, 1);
}

.mixitup-page-list .mixitup-control {
    padding: 6px 12px;
    display: inline-block;
    margin: 0 2px;
    background-color: #ffffff;
    color: #5A8C5A;
    color: var(--oz-color-green);
    border: 1px solid #5A8C5A;
    border-color: var(--oz-color-green);
    cursor: pointer;
}

.mixitup-page-list .mixitup-control:hover {
    background-color: #5A8C5A;
    background-color: var(--oz-color-green);
    color: #ffffff;
}

.mixitup-page-list .mixitup-control.mixitup-control-active {
    background-color: #5A8C5A;
    background-color: var(--oz-color-green);
    color: #ffffff;
}

.mixitup-page-list .mixitup-control-prev,
.mixitup-page-list .mixitup-control-next {
    border: 0;
    background: 0;
    color: #333333;
    color: var(--oz-color-brown);
}

.mixitup-page-list .mixitup-control-prev:hover,
.mixitup-page-list .mixitup-control-next:hover {
    border: 0;
    background: none;
    color: #5A8C5A;
    color: var(--oz-color-green);
}

.mixitup-page-stats {
    display: none;
}


/******************/
/* single.php *****/
.section-single-post .post-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    column-gap: 16px;
    font-weight: var(--font-bold);
    font-size: 1em;
    margin-bottom: 40px;
}

.section-single-post.section-single-results .post-meta,
.section-single-post.section-single-voice .post-meta {
    background-color: var(--color-light-sky);
}

.section-single-post .single-content {
    padding: 0 42px;
    max-width: 988px;
    margin-left: auto;
    margin-right: auto;
}

.section-single-post.section-single-results .single-content,
.section-single-post.section-single-voice .single-content {
    background-color: var(--color-light-sky);
}

.section-single-post .detail.results {
    display: flex;
    justify-content: space-between;
    row-gap: 32px;
}

.section-single-post .detail.results .picture {
    width: 35%;
}

.section-single-post .detail.results .content {
    width: 60%;
}

.section-single-post .detail.results dl {
    display: flex;
    align-items: stretch;
}

.section-single-post .detail.results dt {
    padding: 16px 12px;
    color: var(--color-background);
    background-color: var(--color-blue);
    font-size: 20px;
    font-size: 2rem;
    font-weight: var(--font-bold);
    border: 1px solid var(--color-blue);
    border-bottom: 1px solid var(--color-background);
    width: 9em;
}

.section-single-post .detail.results dl:last-child dt {
    border-bottom: 1px solid var(--color-blue);
}

.section-single-post .detail.results dd {
    padding: 16px 12px;
    font-size: 20px;
    font-size: 2rem;
    border: 1px solid var(--color-blue);
    border-left: none;
    width: calc(100% - 9em);
}

.section-single-post .detail.voice {
    clear: both;
}

.section-single-post .detail.voice .picture {
    width: 330px;
    float: left;
    margin-right: 40px;
    margin-bottom: 40px;
}

.section-single-post .detail.voice dt {
    color: var(--color-blue);
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: var(--font-bold);
    margin-bottom: 6px;
}

.section-single-post .detail.voice dd {
    font-size: 20px;
    font-size: 2rem;
}

.section-single-post .detail.voice dd+dt {
    margin-top: 20px;
}


.section-single-post .comment {
    border: 1px solid var(--color-blue);
    background-color: var(--color-background);
    border-radius: 30px;
    padding: 40px;
    display: flex;
    justify-content: space-between;
    row-gap: 24px;
    max-width: 800px;
    margin: 48px auto 0 auto;
    clear: both;
}

.section-single-post .comment .decoration {
    width: 120px;
    height: 120px;
}

.section-single-post .comment .decoration img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.section-single-post .comment .description {
    width: calc(100% - 120px - 32px);
}

.section-single-post .comment .description .caption {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: var(--font-bold);
    margin-bottom: 8px;
    display: block;
}

.section-single-post .comment .description .p {
    font-size: 20px;
    font-size: 2rem;
}

.section-single-post .single-button {
    margin-top: 56px;
}

@media screen and (max-width: 1000px) {
    .section-single-post .detail.voice .picture {
        width: 100%;
        margin: 0 0 32px 0;
        float: none;
    }

    .section-single-post .detail.results {
        flex-direction: column;
    }

    .section-single-post .detail.results .picture {
        width: 100%;
    }

    .section-single-post .detail.results .content {
        width: 100%;
    }

    .section-single-post .detail.results dl {
        flex-direction: column;
    }

    .section-single-post .detail.results dt {
        width: 100%;
        border: 1px solid var(--color-blue);
    }

    .section-single-post .detail.results dd {
        width: 100%;
        border: 1px solid var(--color-blue);
    }

    .section-single-post .detail.voice dt {
        font-size: 20px;
        font-size: 2rem;
    }

    .section-single-post .detail.voice dd {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .section-single-post .comment {
        flex-direction: column;
        align-items: center;
        padding: 24px;
    }

    .section-single-post .comment .description {
        width: 100%;
    }

    .section-single-post .post-meta {
        padding: 24px 24px 0 24px;
        font-size: 16px;
        font-size: 1.6rem;
        flex-direction: column;
        align-items: flex-end;
    }

    .section-single-post .single-content {
        padding: 24px;
    }

    .section-single-post .comment .description .caption {
        font-size: 18px;
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 900px) {

    .section-single-post .detail.results dt,
    .section-single-post .detail.results dd {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .section-single-post .detail.voice dt,
    .section-single-post .detail.voice dd {
        font-size: 16px;
        font-size: 1.6rem;
    }
}




/******************/
/* breadcrumbs ****/

.breadcrumbs {
    clear: both;
    display: block;
    margin: 0;
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 40px;
    overflow-x: auto;
    overflow-y: hidden;
}

.breadcrumbs p {}

.breadcrumbs ul {
    padding: 0;
    margin: 0 auto;
    list-style: none;
    white-space: nowrap;
    display: flex;
    align-items: center;
}

.breadcrumbs ul li {
    display: inline-block;
}

.breadcrumbs ul li:last-child {
    white-space: nowrap;
}

.breadcrumbs ul li:after {
    content: "▶︎";
    margin: 0 12px;
    display: inline-block;
}

.breadcrumbs ul li:first-child:before {}

.breadcrumbs ul li:last-child:after {
    display: none;
}

.breadcrumbs ul li a {
    text-decoration: underline;
}

.breadcrumbs ul li a:hover {}

/* @media screen and (max-width: 800px) {
	.breadcrumbs {
		font-size: 12px;
		font-size: 1.2rem;
	}
} */
/* @media screen and (max-width: 600px) {
    .breadcrumbs {clear:both; display:block; margin:0; padding:12px 0 12px 12px; text-align:left; font-size:12px; font-size:1.2rem;}
} */
/******************/
/******************/
/* navigation *****/
/*
.navigation {margin:0 auto 40px; clear:both;}
.navigation:after {content:""; clear:both; display:block; height:0; visibility:hidden;}
.navigation span {}
.navigation .navi-prev {text-align:left; float:left;}
.navigation .navi-next {text-align:right; float:right;}
.navigation .navi-prev a:before {content:"＜"; margin-right:4px;}
.navigation .navi-next a:after {content:"＞"; margin-left:4px;}
*/
/******************/
/* pagination *****/

.pagination {
    margin: 0 auto 40px;
    clear: both;
}

.pagination ul {
    text-align: center;
    font-size: 12px;
    font-size: 1.2rem;
}

.pagination ul li {
    display: inline-block;
    margin: 0 2px;
}

.pagination ul li a:hover {
    transform: scale(1.05);
}

.pagination span.dots {
    border: 0;
    background: transparent;
}

.pagination span.current {
    background-color: #47b7ff;
    background-color: var(--oz-color-blue);
}

.pagination ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ffffff;
    border: 1px solid var(--oz-color-brown);
    margin: 0 0.1em;
    color: var(--oz-color-brown);
    padding: 0.5em 1em;
    font-size: 1.8rem;
    font-weight: bold;
}

.pagination ul li span.current {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ffffff;
    border: 1px solid var(--oz-color-brown);
    margin: 0 0.1em;
    background-color: var(--oz-color-brown);
    color: #ffffff;
    padding: 0.5em 1em;
    font-size: 1.8rem;
    font-weight: bold;
}

article.category-news .pagination ul li a {
    border: 1px solid var(--oz-color-green);
    color: var(--oz-color-green);
}

article.category-news .pagination ul li span.current {
    border: 1px solid var(--oz-color-green);
    background-color: var(--oz-color-green);
}

article.category-country-life .pagination ul li a {
    border: 1px solid var(--oz-color-brown);
    color: var(--oz-color-brown);
}

article.category-country-life .pagination ul li span.current {
    border: 1px solid var(--oz-color-brown);
    background-color: var(--oz-color-brown);
}

article.category-sale .pagination ul li a {
    border: 1px solid var(--oz-color-blue);
    color: var(--oz-color-blue);
}

article.category-sale .pagination ul li span.current {
    border: 1px solid var(--oz-color-blue);
    background-color: var(--oz-color-blue);
}




.pagination ul li .next,
.pagination ul li .prev {
    display: none;
}

/******************/
/* post-links *****/

.post-links {
    clear: both;
    text-align: center;
    margin: 0 auto 80px;
    max-width: 320px;
    width: 100%;
    display: table;
    table-layout: fixed;
}

.post-links span {
    display: table-cell;
    padding: 8px 2px;
}

.post-links .navi-prev {
    text-align: center;
}

.post-links .navi-next {
    text-align: center;
}

.post-links a {
    border: 1px solid #5A8C5A;
    border-color: var(--oz-color-green);
    background-color: #5A8C5A;
    background-color: var(--oz-color-green);
    color: #ffffff;
    display: block;
}

.post-links a:hover {
    background: transparent;
    color: #5A8C5A;
    color: var(--oz-color-green);
}


/******************/
/******************/
/* comments.php ***/

#respond,
#comments,
#trackback,
#comment-form {
    clear: both;
    display: block;
    margin: 0 0 40px 0;
    text-align: left;
}

#trackback {
    display: none;
}

#comments {
    border-top: 2px solid #DAA520;
    border-color: var(--oz-color-gold);
    padding: 20px 0 0 0;
}

#comments ol {
    margin: 0 0 20px 0;
    padding: 0;
    list-style: none;
}

#comments ol li {
    display: block;
    clear: both;
    padding: 0 0 20px 0;
    margin: 0 0 20px 0;
}

#comments ol li:not(:last-child) {
    border-bottom: 1px solid #DAA520;
    border-color: var(--oz-color-gold);
}

#comments ol li span {
    display: block;
}

#comments ol li .comment-title {
    margin: 0 0 4px 0;
    font-size: 18px;
    font-size: 1.8rem;
}

#comments ol li .comment-text p {
    font-size: 14px;
    font-size: 1.4rem;
    margin: 0;
}

#comment-form {
    border-top: 2px solid #DAA520;
    border-color: var(--oz-color-gold);
    padding: 20px 0 0 0;
}


/******************/
/******************/

.alert {
    clear: both;
    display: block;
    color: inherit;
    border: 1px solid transparent;
    display: block;
    padding: 1rem;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
    color: red;
    border-color: red;
    background-color: transparent;
    margin: 0 0 1em 0;
}

.alert-success {
    border-color: blue;
    color: blue;
}

.alert-error {
    border-color: red;
    color: red;
}

.alert-warning {
    border-color: yellow;
    color: yellow;
}

.alert>p {
    margin: 0;
}

.alert em,
.alert strong {
    font-weight: bold;
}

span.close {
    float: right;
    color: inherit;
    cursor: pointer;
}

/******************/
/* Flexbox System & Table System */


.table-container {
    display: table;
    table-layout: fixed;
    border-collapse: collapse;
    width: 100%;
    position: relative;
    margin: 0;
    padding: 0;
}

.table-cell {
    display: table-cell;
    vertical-align: top;
    position: relative;
    margin: 0;
    padding: 0;
    empty-cells: show;
}

.flex-container {
    margin: 0;
    padding: 0;
    list-style: none;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: stretch;
    align-content: stretch;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.flex-item {
    margin: 0;
    padding: 0;
    flex: 0 1 auto;
    flex-grow: 0;
    flex-shrink: 1;
}

.flex-container-2 .flex-item {
    flex-basis: 49%;
}

.flex-container-3 .flex-item {
    flex-basis: 32%;
}

.flex-container-4 .flex-item {
    flex-basis: 24%;
}

.columns {
    column-gap: 4em;
    column-rule: 1px dotted;
}

.columns-2 {
    columns: 2;
}


/******************/
/* responsive-table */
/* 
.r-table,
.responsive-table {overflow:scroll; width:100%;} */


/******************/
/* jquery-tabs ****/


.tab-selector ol {
    display: table;
    table-layout: fixed;
    text-align: center;
    padding: 0 20px;
    margin: 0 auto;
    width: 100%;
    position: relative;
    bottom: -1px;
    z-index: 3;
}

.tab-selector ol li {
    display: table-cell;
    padding: 12px 0;
    cursor: pointer;
    background-color: #cccccc;
    background-color: var(--oz-color-light);
    border: 1px solid #DAA520;
    border-color: var(--oz-color-gold);
    white-space: nowrap;
    overflow: hidden;
}

.tab-selector ol li:not(:last-child) {
    border-right: 0;
}

.tab-selector ol li:hover {
    background-color: #5A8C5A;
    background-color: var(--oz-color-green);
    color: #ffffff;
}

.tab-selector ol li:first-child {
    border-top-left-radius: 4px;
}

.tab-selector ol li:last-child {
    border-top-right-radius: 4px;
}

.tab-selector ol li.is-current {
    background-color: #ffffff;
    color: #5A8C5A;
    color: var(--oz-color-green);
    border-bottom: 1px solid #ffffff;
}

.tab-selector ol li.is-current:hover {
    background-color: #ffffff;
    color: #5A8C5A;
    color: var(--oz-color-green);
}

.tab-content {
    position: relative;
    z-index: 2;
}

.tab-content>div {
    display: none;
}

.tab-content>div:first-child {
    display: block;
}



/******************/
/******************/
/* materials ******/

.adr span {
    margin: 0;
    display: inline-block;
}




/******************/
/******************/
/* plugins ********/


body.is-modal {
    overflow: hidden;
}

.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    z-index: 99999;
}

.modal-close {
    cursor: pointer;
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    background: #ffffff center center no-repeat;
    -webkit-background-size: 20px 20px;
    -moz-background-size: 20px 20px;
    -ms-background-size: 20px 20px;
    -o-background-size: 20px 20px;
    background-size: 20px 20px;
    border: 1px solid #f578b9;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHN7ZmlsbDojZjU3OGI5O308L3N0eWxlPjwvZGVmcz48cG9seWdvbiBjbGFzcz0iY2xzIiBwb2ludHM9IjIwIDEuMjUgMTguNzUgMCAxMCA4Ljc1IDEuMjUgMCAwIDEuMjUgOC43NSAxMCAwIDE4Ljc1IDEuMjUgMjAgMTAgMTEuMjUgMTguNzUgMjAgMjAgMTguNzUgMTEuMjUgMTAgMjAgMS4yNSIvPjwvc3ZnPg==");
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    color: transparent;
}

.modal-close:hover {
    background-color: #5A8C5A;
    background-color: var(--oz-color-green);
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHN7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48cG9seWdvbiBjbGFzcz0iY2xzIiBwb2ludHM9IjIwIDEuMjUgMTguNzUgMCAxMCA4Ljc1IDEuMjUgMCAwIDEuMjUgOC43NSAxMCAwIDE4Ljc1IDEuMjUgMjAgMTAgMTEuMjUgMTguNzUgMjAgMjAgMTguNzUgMTEuMjUgMTAgMjAgMS4yNSIvPjwvc3ZnPg==");
}


.modal-window {
    background-color: #ffffff;
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    position: relative;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    -ms-border-radius: 12px;
    -o-border-radius: 12px;
    border-radius: 12px;
    padding: 60px 40px 20px;
    text-align: left;
    z-index: DAA520;
    cursor: default;
}


#sb_instagram .sb_instagram_header,
.sb_instagram_header {
    display: none;
}

#sb_instagram #sbi_load {
    display: none;
}

/******************/
/* ContactForm7 ***/

.wpcf7-form-control-wrap.recaptcha {
    margin: 0 auto;
    width: fit-content;
}

.form .buttons {
    margin-top: 7rem;
}

form {}

fieldset {}

label {}

::-webkit-input-placeholder,
::-moz-placeholder,
:-moz-placeholder,
:-ms-input-placeholder {
    color: #DAA520;
    color: var(--oz-color-gold);
}

[type="search"] {
    /*-webkit-appearance:textfield;
-moz-appearance:textfield;
-ms-appearance:textfield;
-o-appearance:textfield;
appearance:textfield;*/
}

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="file"],
select,
textarea {
    width: 100%;
    max-width: 100%;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
    display: block;
    position: relative;
    /*-webkit-appearance:none;
-moz-appearance:none;
-ms-appearance:none;
-o-appearance:none;
appearance:none;*/
    padding: 8px;
    line-height: normal;
    border: 1px solid #809FAC;
    background: #F3FAFF;
    background-color: #F3FAFF;
    font-size: 18px;
    font-size: 1.8rem;
}


input[type="checkbox"],
input[type="radio"] {}

input[type="file"] {
    cursor: pointer;
    width: auto;
}

input[name="your-address"] {
    width: 100%;
}

select {
    width: auto;
    padding: 12px;
    border: 1px solid #cccccc;
}

textarea {
    width: 100%;
}

input[type="submit"] {
    text-align: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    display: block;
}


input[type="submit"][disabled],
input[type="submit"][disabled]:hover {
    color: #DAA520;
    color: var(--oz-color-gold);
    background: transparent;
    border: 1px solid #cccccc;
    cursor: not-allowed;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="datetime"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="time"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
    border: 1px solid var(--color-blue);
}

textarea {
    height: auto;
    min-height: 100px;
}

select {
    border: 1px solid #809FAC;
    background-color: #FFFFFF;
    background: #FFFFFF;
    border-radius: 0;
    color: var(--oz-color-blue);
    width: 300px;
    -webkit-appearance: none;
    appearance: none;
}

select option:first-child {
    color: #809FAC;
}

.wpcf7-form-control-wrap:has(.wpcf7-select) {
    position: relative;
}

.wpcf7-form-control-wrap:has(.wpcf7-select)::before {
    content: "";
    position: absolute;
    left: 265px;
    top: 40%;
    width: 0.7em;
    height: 0.7em;
    border-bottom: 2px solid #809FAC;
    border-right: 2px solid #809FAC;
    transform: rotate(45deg) translateY(-50%);
    z-index: 2;
}

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

    input[type="text"],
    input[type="password"],
    input[type="date"],
    input[type="datetime"],
    input[type="email"],
    input[type="number"],
    input[type="search"],
    input[type="tel"],
    input[type="time"],
    input[type="url"] {
        width: 100%;
    }

    select {
        width: 100%;
    }

    textarea {
        width: 100%;
    }

    .wpcf7-form-control-wrap:has(.wpcf7-select)::before {
        left: 90%;
    }
}

.wpcf7 {}

.screen-reader-response {
    display: none;
}

.wpcf7-response-output:empty {
    display: none;
}

.wpcf7-response-output {
    margin: 56px auto 0 auto;
    padding: 1em;
    border: 0;
    border-radius: 8px;
    text-align: center;
    display: block;
    clear: both;
    border: 2px solid #de0808;
    color: #de0808;
    font-weight: var(--font-bold);
}

.wpcf7-mail-sent-ok {
    border: 1px solid #5A8C5A;
    border-color: var(--oz-color-green);
    color: blue;
    padding: 12px;
    margin: 0 0 20px 0;
}

.wpcf7-validation-errors {
    border: 1px solid red;
    color: red;
    padding: 12px;
    margin: 0 0 20px 0;
}

.wpcf7 span {}

.wpcf7-form-control-wrap {
    display: block;
    position: relative;
}

.wpcf7 span.wpcf7-list-item-label {
    margin: 0 1em 0 0;
    display: inline-block;
    font-size: 20px;
    font-size: 2rem;
}

.wpcf7 span.use_label_element {
    margin-bottom: 20px;
    display: block;
}

.wpcf7 span.wpcf7-not-valid-tip {
    color: red;
    font-size: 12px;
    font-size: 1.2rem;
    display: block;
    margin-top: 8px;
    font-weight: var(--font-bold);
}

.wpcf7 span.wpcf7-not-valid-tip-no-ajax {
    display: none;
}

.wpcf7 .wpcf7-form-control {}

.wpcf7 .wpcf7-list-item {
    margin: 0 0 16px 0;
}

.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {
    display: none;
}

.wpcf7 label {
    cursor: pointer;
}

.wpcf7-list-item {
    position: relative;
    display: inline-block;
}

.wpcf7-list-item-label {
    min-height: 20px;
    line-height: 24px;
    vertical-align: middle;
    padding: 0 0 0 32px;
    display: inline-block;
    position: relative;
}

.wpcf7-list-item-label:before {
    width: 20px;
    height: 20px;
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    background-color: #ffffff;
    border: 2px solid #cccccc;
    display: inline-block;
}

.wpcf7-list-item-label:after {
    width: 24px;
    height: 10px;
    left: 4px;
    top: 2px;
    border: 3px solid var(--color-blue);
    content: '';
    position: absolute;
    transform: rotate(-45deg);
    border-top: none;
    border-right: none;
    transition: all 0.3s;
    opacity: 0;
}

input[type="radio"]:checked+.wpcf7-list-item-label:after,
input[type="checkbox"]:checked+.wpcf7-list-item-label:after {
    opacity: 1;
}

img.ajax-loader {
    display: block;
    margin: 12px auto 0;
}

/*
.wpcf7 .sent .form {display:none;}
*/


/******************/
/* facebook *******/

/******************/
/* twitter ********/


/******************/
/******************/
/* Media Query ****/


@media screen and (max-width:1600px) {}

@media screen and (max-width:1200px) {}



/* ▲ iPad Air4 横（820px） ▼ */
@media screen and (max-width:800px) {}

/* ▲ iPhone 6+ 横（736px） ▼ */
@media screen and (max-width:720px) {}



/* ▲ Mac OS Safari - Minimum(504px) ▼ */
@media screen and (max-width:520px) {}

/* ▲ iPhone 6+ - iPhone 6 414px▼ */
@media screen and (max-width:400px) {}


/* ▲ iPod touch 320px ▼ */
@media screen and (max-width:300px) {}

/******************/
/******************/
/* fonts **********/

/* cyrillic-ext */
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/oswald/v40/TK3_WkUHHAIjg75cFRf3bXL8LICs18NvsUtiYySUhiCXABTV.woff) format('woff');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/oswald/v40/TK3_WkUHHAIjg75cFRf3bXL8LICs18NvsUJiYySUhiCXABTV.woff) format('woff');
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* vietnamese */
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/oswald/v40/TK3_WkUHHAIjg75cFRf3bXL8LICs18NvsUliYySUhiCXABTV.woff) format('woff');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/oswald/v40/TK3_WkUHHAIjg75cFRf3bXL8LICs18NvsUhiYySUhiCXABTV.woff) format('woff');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/oswald/v40/TK3_WkUHHAIjg75cFRf3bXL8LICs18NvsUZiYySUhiCXAA.woff) format('woff');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* latin */
@font-face {
    font-family: 'ONZE Josefin Sans';
    font-style: normal;
    font-weight: 600;
    src:
        /*local('Josefin Sans SemiBold'),
	local('JosefinSans-SemiBold'),*/
        url(https://fonts.gstatic.com/s/josefinsans/v12/Qw3FZQNVED7rKGKxtqIqX5Ec0lhte10hoJky_A.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*
@font-face {
font-family:'Axis-ExtraLight';
src:url("fonts/AxisStd-ExtraLight.eot");
src:url("fonts/AxisStd-ExtraLight.eot?#iefix") format("eot"),
	url("fonts/AxisStd-ExtraLight.woff") format("woff"),
	url("fonts/AxisStd-ExtraLight.ttf") format("truetype"),
	url("fonts/AxisStd-ExtraLight.svg") format("svg");
}
*/

.font-gothic {
    font-family: 'YuGothic', 'Yu Gothic', '游ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'Helvetica', sans-serif;
}

.font-mincho {
    font-family: 'YuMincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', 'ヒラギノ明朝 ProN W3', 'Meiryo', 'メイリオ', 'Times New Roman', serif;
}

.font-mono {
    font-family: "Osaka-mono", "MS Gothic", monospace;
}

.bold {
    font-weight: bold;
}

i {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
}

i {
    font-family: 'ONZE Josefin Sans', sans-serif;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/******************/
/******************/
/* Keyframes ******/

@-webkit-keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@-moz-keyframes rotation {
    0% {
        -moz-transform: rotate(0deg);
    }

    100% {
        -moz-transform: rotate(360deg);
    }
}

@-ms-keyframes rotation {
    0% {
        -ms-transform: rotate(0deg);
    }

    100% {
        -ms-transform: rotate(360deg);
    }
}

@-o-keyframes rotation {
    0% {
        -o-transform: rotate(0deg);
    }

    100% {
        -o-transform: rotate(360deg);
    }
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/*
	-webkit-animation:rotation 1s infinite linear;
	-moz-animation:rotation 1s infinite linear;
	-ms-animation:rotation 1s infinite linear;
	-o-animation:rotation 1s infinite linear;
	animation:rotation 1s infinite linear;
*/

@-webkit-keyframes flash {
    from {
        opacity: 0.3;
    }

    to {
        opacity: 1;
    }
}

@-moz-keyframes flash {
    from {
        opacity: 0.3;
    }

    to {
        opacity: 1;
    }
}

@-ms-keyframes flash {
    from {
        opacity: 0.3;
    }

    to {
        opacity: 1;
    }
}

@-o-keyframes flash {
    from {
        opacity: 0.3;
    }

    to {
        opacity: 1;
    }
}

@keyframes flash {
    from {
        opacity: 0.3;
    }

    to {
        opacity: 1;
    }
}

/*
	-webkit-animation:flash 1s infinite ease alternate;
	-moz-animation:flash 1s infinite ease alternate;
	-ms-animation:flash 1s infinite ease alternate;
	-o-animation:flash 1s infinite ease alternate;
	animation:flash 1s infinite ease alternate;
*/

@-webkit-keyframes updown {
    0% {
        bottom: 60px;
    }

    100% {
        bottom: 80px;
    }
}

@-moz-keyframes updown {
    0% {
        bottom: 60px;
    }

    100% {
        bottom: 80px;
    }
}

@-ms-keyframes updown {
    0% {
        bottom: 60px;
    }

    100% {
        bottom: 80px;
    }
}

@-o-keyframes updown {
    0% {
        bottom: 60px;
    }

    100% {
        bottom: 80px;
    }
}

@keyframes updown {
    0% {
        bottom: 60px;
    }

    100% {
        bottom: 80px;
    }
}

/*
	-webkit-animation:updown 1.0s ease-in-out infinite alternate;
	-moz-animation:updown 1.0s ease-in-out infinite alternate;
	-ms-animation:updown 1.0s ease-in-out infinite alternate;
	-o-animation:updown 1.0s ease-in-out infinite alternate;
	animation:updown 1.0s ease-in-out infinite alternate;
*/

/* end ************/
/******************/
/******************/