/*======================================
共通
======================================*/
body {
    overflow-x: clip;
}

.is-pc {
    display: block;
}

.is-sp {
    display: none;
}

a img {
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}

#conts {
    width: 1120px;
}
#contents {
    overflow-x: clip;
}

.home:not(.paged) #conts {
    padding-top: 0;
}

.hige-column-wrap {
    display: flex;
    justify-content: space-between;
    column-gap: 57px;
}

.hige-column-wrap .main {
    flex: 1;
}

.hige-column-wrap .side {
    width: 305px;
    padding: 0 20px;
}

.hige-column-main-box {
    margin-bottom: 65px;
}

.hige-column-main-box h2 {
    margin-bottom: 24px;
}

.banner {
    transition: opacity 0.3s ease;
}

.banner:hover {
    opacity: 0.5;
}

.related_common {
    padding-top: 140px;
}

/* font-weight補正 */
#gNavi>ul>li>a {
    font-weight: 500;
}
#breadCrumb ol li {
    font-weight: 500;
}
#contents .headLine01 {
    font-weight: 500;
}
#contents .relateSec .relateList li p {
    font-weight: 500;
}
#contents .contact-reexamination-pc a {
    font-weight: 500;
}
#contents .pageTtl>span {
    font-weight: 400;
}


/* 新着記事一覧 */
.hige-column-list > ul {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 20px;
}

.hige-column-list > ul > li {
    display: grid;
    grid-template-columns: 325px 1fr;
    column-gap: 25px;
    padding: 30px;
    background: #FFF;
    box-shadow: 0 0 10px rgba(0,0,0,0.16);
    border-radius: 20px;
    overflow: hidden;
}

.hige-column-list ul li a {
    display: block;
    text-decoration: none;
    transition: all 0.3s ease;
}

.hige-column-list ul li a:hover {
    opacity: 0.5;
}

.hige-column-list-image {
    width: 325px;
}

.hige-column-list-image img {
    object-fit: cover;
}

.hige-column-list-title {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.8;
}

.hige-column-list-text {
    position: relative;
    height: 100%;
    padding: 16px 0 6px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    font-size: 10px;
    color: #707070;
}

.hige-column-list-meta ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hige-column-list-meta ul li a {
    display: block;
    width: fit-content;
    padding: 1px 10px 3px;
    font-size: 18px;
    font-weight: 500;
    color: #BBA171;
    border: 1px solid #BBA171;
    text-decoration: none;
    line-height: 1.5;
    transition: all 0.3s ease;
}

.hige-column-list-meta ul li a:hover {
    color: #FFF;
    background: #BBA171;
    opacity: 1;
}

.hige-column-list-meta .date {
    margin-top: 13px;
    font-size: 18px;
    color: #818181;
}


/* 人気記事一覧 */
.hige-column-wpp-upper {
    margin-bottom: 45px;
}

.hige-column-wpp-upper > ul {
    display: flex;
    justify-content: center;
    align-items: stretch;
    align-content: stretch;
}

.hige-column-wpp-upper > ul > li {
    width: 42%;
    padding: 0 2%;
}

.hige-column-wpp-upper > ul > li > a {
    display: block;
    text-decoration: none;
    transition: all 0.3s ease;
}

.hige-column-wpp-upper > ul > li > a:hover {
    opacity: 0.5;
}

.hige-column-wpp-upper .hige-column-list-title {
    font-size: 12px;
}

.hige-column-wpp-lower > ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 24px;
    row-gap: 24px;
}

.hige-column-wpp-lower > ul > li {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hige-column-wpp-lower > ul > li > a {
    display: block;
    text-decoration: none;
    transition: all 0.3s ease;
}

.hige-column-wpp-lower > ul > li > a:hover {
    opacity: 0.5;
}


/* サイドバー */
.side section {
    margin-top: 60px;
}

.side section:first-of-type {
    margin-top: 0;
}

.side .title {
    margin-bottom: 24px;
    text-align: center;
}

.side .title .en {
    font-family: "din-2014",sans-serif;
    font-weight: 700;
    font-size: 35px;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

.side .title .jp {
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
}

.hige-column-side-category ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hige-column-side-category ul li a {
    display: block;
    padding: 1px 10px 3px;
    font-size: 18px;
    font-weight: 500;
    color: #BBA171;
    border: 1px solid #BBA171;
    text-decoration: none;
    line-height: 1.5;
    transition: all 0.3s ease;
}

.hige-column-side-category ul li a:hover {
    color: #FFF;
    background: #BBA171;
}

.hige-column-side-tags ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hige-column-side-tags ul li a {
    display: block;
    width: fit-content;
    padding: 1px 10px 3px;
    font-size: 18px;
    font-weight: 500;
    color: #FFF;
    background: #606060;
    border-radius: 8px;
    text-decoration: none;
    line-height: 1.5;
    transition: all 0.3s ease;
}

.hige-column-side-tags ul li a:hover {
    background: #999;
}

.side .title-sub {
    margin-top: 20px;
    font-size: 20px;
    font-weight: 500;
    color: #BBA171;
}

.hige-column-side-inami .name {
    margin-top: 24px;
    margin-bottom: 30px;
    font-size: 28px;
    font-weight: 300;
}

.hige-column-side-inami .name span {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: normal;
}

.hige-column-side-inami .history {
    margin-top: 10px;
    line-height: 1.5;
}

.hige-column-side-inami .history dt {
    margin-top: 10px;
    font-size: 18px;
    font-weight: 300;
}

.hige-column-side-inami .history dd {
    margin-bottom: 3px;
    font-size: 18px;
    /* font-weight: 300; */
}

.hige-column-side-inami .history li {
    font-size: 18px;
}

.hige-column-side-inami .message p {
    font-size: 18px;
    margin-top: 50px;
    line-height: 1.7;
}

/*======================================
ホーム front--page.php
======================================*/

/* スライダー */
.front-pickup-slider {
    position: relative;
    width: 100%;
    height: 493px;
    margin-bottom: 102px;
    padding-bottom: 100px;
    background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 49.9%, rgba(187, 161, 113, 1) 50%, rgba(187, 161, 113, 1) 100%);
}

.front-pickup-slider .swiper {
    width: 100%;
    margin: 0 auto;
}
.front-pickup-slider .swiper-wrapper {
    height: calc(493px + 100px);
}
.front-pickup-slider .swiper-slide {
    z-index: 101;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: auto;
}
.front-pickup-slider .swiper-slide img {
    width: auto;
    height: 493px;
}
.front-pickup-slider .swiper-slide-inner {
    position: relative;
    width: 100%;
    max-width: 1120px;
    overflow-x: clip;
}

.front-pickup-slider .pickup-title {
    /* content: "PICK UP"; */
    font-family: "din-2014",sans-serif;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    max-width: 1120px;
    padding-left: 82px;
    line-height: 1;
    font-size: 52px;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.front-pickup-slider .swiper-slide .slider-panel-image {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    max-width: 1120px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.front-pickup-slider .swiper-slide a:hover {
    opacity: 0.5;
}

.slider-panel-text {
    position: absolute;
    right: 40px;
    bottom: -100px;
    width: 890px;
    height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px 40px 25px;
    background: #000;
    transition: all 1s ease;
    transform: translateX(240px);
}

.swiper-slide-duplicate-active .slider-panel-text,
.swiper-slide-active .slider-panel-text {
    transform: translateX(0);
}

a.slider-panel-title {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.8;
    color: #FFF;
    text-decoration: none;
    transition: all 0.3s ease;
}

.slider-panel-meta {
    display: flex;
    align-items: flex-end;
    column-gap: 32px;
}

.slider-panel-meta .date {
    font-size: 24px;
    color: #ADADAD;
}

.slider-panel-meta li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 3px 10px 5px;
    font-size: 18px;
    color: #BBA171;
    border: 1px solid #BBA171;
    text-decoration: none;
}

.swiper-pagination.swiper-pagination-bullets {
    width: 1120px;
    left: 50%;
    bottom: -100px;
    transform: translateX(-50%);
    text-align: left;
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.swiper-pagination-bullet {
    width: 15px;
    height: 15px;
    margin: 0!important;
    background: #E2E2E2;
    border: none;
    opacity: 1;
}

.swiper-pagination-bullet-active {
    background: #BBA171;
}

.swiper-button-box {
    position: absolute;
    width: 37%;
    height: 44px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-150%);
    z-index: 0;
}


.bg {
    padding-top: 151px;
}

.archive .bg,
.paged .bg {
    padding-top: 0;
}

.bg .main {
    position: relative;
}

.bg .main:before {
    content: "";
    position: absolute;
    left: calc((100vw - 1080px) / -2);
    top: -91px;
    width: calc((100vw - 360px) + (100vw - 1080px) / -2);
    height: calc(100% - 68px);
    background: #F2F2F2;
    z-index: -1;
}

.section-title {
    display: flex;
    align-items: center;
    column-gap: 21px;
}

.section-title .en {
    font-family: "din-2014",sans-serif;
    font-weight: bold;
    font-size: 35px;
    letter-spacing: 0.05em;
}

.section-title .jp {
    font-size: 18px;
}

.hige-column-main-box .banner {
    display: block;
    transform: translateX(-30px);
    width: calc(100% + 60px);
}

.hige-column-main-box .banner img {
    max-width: inherit;
    width: 100%;
}

/*======================================
アーカイブ
======================================*/
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 158px;
    font-size: 30px;
    font-family: "din-2014",sans-serif;
}
.pagination-select {
    display: flex;
    align-items: center;
    justify-content: center;
}
.pagination .pager {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
}
.pagination span {
    color: #333333;
}
.pagination .pagination-select-label {
    display: none;
    color: #333333;
}
.pagination span.current {
    color: #FFF;
    background: #000;
}
.pagination a {
    color: #333333;
    text-decoration: none;
}
.pagination a:hover {
    opacity: 0.5;
}

.pagination-prev a,
.pagination-next a {
    display: block;
    width: 70px;
    height: 70px;
    background: url(../images/common/arrow_pagigation.svg) no-repeat center center;
    background-size: 25px 27px;
}

.pagination-prev a {
    transform: rotate(180deg);
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23707070'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23707070'%2F%3E%3C%2Fsvg%3E");
}


/*======================================
記事
======================================*/
#contents .pageTtl {
    width: 100%;
    background: #000;
}

#contents .pageTtl .inner {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}

#contents .pageTtl span {
    color: #FFF;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.4
}

.single-main-contents .contents-header .thumb img {
    width: 100%;
    height: auto;
}

.single-main-contents .contents-header h1 {
    margin-top: 24px;
    font-size: 26px;
    line-height: 1.7;
}

.single-main-contents .contents-header .meta {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #707070;
    font-size: 20px;
    color: #707070;
}

.single-main-contents .contents-header .meta ul {
    display: block;
}

.single-main-contents .contents-header .meta ul li {
    display: inline-block;
    margin-left: 10px;
}

.single-main-contents .contents-header .meta ul li a {
    color: #707070;
}

.single-main-contents .mokuji-box {
}

.single-main-contents .mokuji-box .mokuji-ttl {
    text-align: center;
    font-size: 24px;
}

.single-main-contents .mokuji-box .mokuji-box-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #F5F5F5;
    margin-top: 20px;
    padding: 20px 40px;
    border-radius: 20px;
}

.single-main-contents .mokuji-box ol {
    counter-reset:num;
    list-style-type: none!important;
}

.single-main-contents .mokuji-box ol li {
    position: relative;
    line-height: 1.5em;
    padding: 20px 0 20px 40px;
	list-style: none;
    font-size: 18px;
}

.single-main-contents .mokuji-box ol li a {
    text-decoration: none;
    color: #505050;
}

.single-main-contents .mokuji-box ol li a:hover {
    text-decoration: underline;
}

.single-main-contents .mokuji-box ol li:before {
    counter-increment: num;
    content: counter(num)'.';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    font-size: 34px;
    font-weight: bold;
    color: #0036b3;
}

.single-main-contents section {
    margin-top: 50px;
}

.single-main-contents section:first-of-type {
    margin-top: 0;
}

.single-main-contents .contents-fixed-area p {
    width: 100%;
    border: 1px solid #707070;
    padding: 30px;
    font-size: 16px;
    line-height: 2;
    box-sizing: border-box;
}

.single-main-contents .contents-flexible-contents .layout_title_h2 h2 {
    border-left: 10px solid #BBA170;
    border-bottom: 3px solid #BBA170;
    font-size: 23px;
    font-weight: bold;
    margin-top: 45px;
    padding-bottom: 15px;
    padding-left: 20px;
    color: #ED6C1F;
}

.single-main-contents .contents-flexible-contents .layout_single_img {
    margin-top: 24px;
}

.single-main-contents .contents-flexible-contents .layout_text_p {
    margin-top: 24px;
    font-size: 16px;
    line-height: 2;
}

.single-main-contents .contents-flexible-contents .layout_title_h3 h3 {
    font-size: 20px;
    font-weight: bold;
    margin-top: 45px;
    padding-bottom: 15px;
    /* border-bottom: 3px solid #939393; */
    border-bottom: 3px solid #0036b3;
    color: #0036b3;
}

.single-main-contents .contents-flexible-contents .layout_title_h4 h4 {
    font-size: 18px;
    font-weight: bold;
    margin-top: 30px;
    -webkit-font-smoothing: antialiased;
}

.single-main-contents .contents-flexible-contents .layout_title_h4+.layout_text_p {
    margin-top: 10px;
}

.single-main-contents .contents-flexible-contents .layout_list_tag {
    margin-top: 14px;
}

.single-main-contents .contents-flexible-contents .layout_list_tag li {
    display: inline-block;
    margin-right: 5px;
    margin-top: 10px;
}

.single-main-contents .contents-flexible-contents .layout_list_tag li a {
    display: inline-block;
    padding: 4px 6px;
    color: #FFF;
    background: #707070;
    border-radius: 4px;
    text-decoration: none;
}

.single-main-contents .contents-flexible-contents .layout_banner {
    margin: 100px auto;
    text-align: center;
}
.single-main-contents .contents-flexible-contents .layout_banner img {
    max-width: 100%;
    height: auto;
}

.single-main-contents .contents-flexible-contents .layout_banner a {
    transition: all 0.3s ease;
}

.single-main-contents .contents-flexible-contents .layout_banner a:hover {
    opacity: 0.5;
}

.single .contents-last-banner {
    margin-top: 35px;
}

/* 2022.07.21 added */
.mokuji-box-inner p {
    font-size: 3.34vw;
    padding-left: 8vw;
    line-height: 1.4;
}
.mokuji-box-inner p a {
    color: #505050;
}
@media screen and (min-width:768px) {
    .mokuji-box-inner p {
        font-size: 15px;
        padding-left: 40px;
    }
    .mokuji-box-inner p a {
        text-decoration: none;
    }
    .mokuji-box-inner p a:hover {
        text-decoration: underline;
    }
}
