/*   
Theme Name: satsuma150_2604
*/
@charset "UTF-8";

/* Repeatable Patterns
----------------------------------------------------*/

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    position: relative;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    z-index: 0;
    color: #000;
    background-color: #fff;
    line-height: 1;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "palt";
}

body.home::after{
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-image: url(img/bg_sp.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* print setting */
@media print {
    html {
        font-size: 38%;
    }

    body {
        -webkit-print-color-adjust: exact;
    }
}

html.is-scroll-prevent {
    height: 100%;
    overflow: hidden;
}

.all_container {
    position: relative;
}

body:not(.home) .sp_container{
    background: #fff;
}

a {
    color: #000;
    text-decoration: none;
    transition: 0.3s ease-out;
}

::-moz-selection {
    background:rgba(0,141,202,0.2);
    text-shadow: none;
}

::selection {
    background:rgba(0,141,202,0.2);
    text-shadow: none;
}

h1,
h2,
h3,
h4,
h5,
h6{
    margin: 0;
}

p{
    margin: 0;
}

img {
    width: 100%;
    height: auto;
}


figure {
    margin: 0;
}

svg {
    overflow: visible !important;
    fill: currentcolor;
}

ul, ol {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

input,
textarea,
button {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: none;
    border-radius: 0;
    transition: 0.3s ease-out;
    cursor: pointer;
    color: #333;
    letter-spacing: 0.01rem;
    border: none;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
}

.display_none{
    display: none;
}

.main_container{
    overflow: hidden;
}

body:not(.home) .main_container{
    padding-top: 3.6rem;
}

.wrapper {
    width: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-left: auto;
    margin-right: auto;
}

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

.display_none {
    display: none;
}

/*text*/
.en {
    font-family: "Lato", sans-serif;
    font-weight: 700;
}

.section_header{
    text-align: center;
    margin-bottom: 3.2rem;
}

.section_heading{
    font-size: 3.2rem;
    letter-spacing: .1rem;
    display: inline-block;
    position: relative;
    padding-bottom: 1.4rem;
}

.section_heading::after{
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #000;
}

.text_01 {
    font-size: 1.5rem;
    line-height: 1.86;
    text-indent: 1em;
    text-align: justify;
}

.text_01 p + p {
    margin-top: 2.4rem;
}

.text_01 a{
    text-decoration: underline;
}

/*link*/
.link_button{
    position: relative;
    width: 100%;
    aspect-ratio: 311 / 62;
    margin: 0 auto;
    display: block;
}

.link_button img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    transition: 0.5s ease-in-out;
}

.link_button .normal{
    opacity: 1;
}

.link_button .hover{
    opacity: 0;
}

.link_button:hover .normal{
    opacity: 0;
}

.link_button:hover .hover{
    opacity: 1;
}

.link_button + .link_button{
    margin-top: 1.8rem;
}


/*アニメーション*/
.fadein {
    opacity: 0;
    transition: 1s ease-out;
}

.fadein.scrollin {
    opacity: 1;
}

@media print {
    .fadein {
        opacity: 1;
    }
}


/* Header
----------------------------------------------------*/

/*固定リンク*/
.fixed_links{
    left: 0;
    right: 0;
    bottom: 0;
    position: fixed;
    z-index: 1002;
    box-shadow: 0px -3px 6px 0px rgba(0, 0, 0, 0.15);
    background-color: #fff;
}

.fixed_link_sanpai{
    width: calc(232 / 390 * 100%);
    display: block;
}

.fixed_link_youtube{
    width: calc(158 / 390 * 100%);
    display: block;
}

.main_header {
    padding-top: 1rem;
}

.header_logo{
    width: 17rem;
}

/*ドロワーメニュー*/

.drawer-hamburger {
    position: fixed;
    top: 0;
    right: 2rem;
    z-index: 1001;
    padding: 0;
}

.drawer-hamburger-icon {
    position: relative;
    display: block;
    width: 6.6rem;
    height: 8.3rem;
    background-image: url("img/menu_open.svg");
    background-repeat: no-repeat;
    transition: all .3s cubic-bezier(.19, 1, .22, 1);
}

.is-opened .drawer-hamburger-icon {
    background-image: url("img/menu_close.svg");
}

.drawer-nav {
    display: block;
    align-items: center;
    position: fixed;
    top: -110%;
    right: 0;
    z-index: 1000;
    overflow-y: scroll;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    max-height: 100%;
    transition: top .15s ease-in-out;
    -webkit-overflow-scrolling: touch;
    background-color: #D2A858;
}

.is-opened .drawer-nav {
    top: 0;
    transition: top .2s ease-in-out;
}

.drawer_inner {
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
    padding: 9.6rem 2rem 15rem;
}

.drawer_nav_top,
.drawer_nav_middle,
.drawer_nav_bottom{
    flex-direction: row-reverse;
    justify-content: center;
    align-items: flex-start;
}

.drawer_nav_middle{
    margin-top: 5rem;
    margin-bottom: 5rem;
}

.drawer_nav_top_link + .drawer_nav_top_link{
    margin-right: 3.7rem;
}

.drawer_nav_top_link_main + .drawer_nav_top_link_main{
    margin-right: 3rem;
}

.drawer_nav_top_link_main{
    color: #fff;
    font-weight: 700;
    font-size: 3rem;
    letter-spacing: .3rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    margin-top: -.2rem;
}

.drawer_nav_top_link_sub{
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .3rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: relative;
    padding-left: 1rem;
}

.drawer_nav_top_link_sub::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: .1rem;
    height: 100%;
    background: #000;
}

.drawer_nav_middle_link + .drawer_nav_middle_link{
    margin-right: 3.7rem;
}

.drawer_nav_activity1{
    width: 9.2rem;
}

.drawer_nav_activity2{
    width: 5.5rem;
}

.drawer_nav_event{
    width: 2.7rem;
}

.drawer_nav_bottom_link{
    width: 5.1rem;
}

/* Footer
----------------------------------------------------*/

.main_footer {
    background-color: #D2A858;
    color: #fff;
    padding-top: 5.3rem;
    padding-bottom: 15rem;
}

body:not(.home) .main_footer{
    margin-top: 5rem;
}

.footer_logos{
    margin: 0 -.9rem 2.8rem;;
}

.footer_logo{
    width: 50%;
    padding: 0 .9rem;
}

.footer_name{
    margin: 0 2rem 1.8rem;
}

.footer_info{
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: .1rem;
    text-align: center;
    line-height: 1.66;
    margin-bottom: 2.8rem;
}

.copyright{
    margin: 0 1rem;
}


/* トップページ
----------------------------------------------------*/

/*ファーストビジュアル*/

.top_visual_container {
    background-color: #fff;
    border-radius: 20rem 20rem 0 0;
}

.top_visual_img_container{
    padding-top: 8.2rem;
    padding-bottom: 4.2rem;
    text-align: center;
}

.top_visual_img{
    width: 94%;
}


/*お知らせ*/

.top_news_container{
    padding-top: 4rem;
    padding-bottom: 4rem;
    background-color: #fff;
}

.top_news_container .section_heading{
    color: #D2A858;
}

.top_news_container .section_heading::after{
    background-color: #D2A858;
}

.news_list{
    margin: 0 -.7rem;
}

.news_list_item{
    width: calc(100% / 2);
    padding: 0 .7rem 1.7rem;
}

.news_list_link{
    display: block;
    padding-bottom: 1rem;
}

.news_list_thumbnail img{
    border-radius: 5rem;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.news_list_date{
    font-size: 1.3rem;
    padding-bottom: .5rem;
}

.news_list_title{
    font-size: 1.5rem;
    line-height: 1.6;
    padding-right: .4rem;
}

.top_news_link_all{
    display: block;
    width: 11.1rem;
    margin-left: auto;
}

.top_news_link_kankeisha{
    margin-top: 3.2rem;
}

/*法要趣旨*/
.top_aim_container{
    padding-top: 5.2rem;
    background-color: #E6EBED;
}

.more-btn {
    position: relative;
    display: block;
    border-radius: 50vmax;
    font-size: 1.7rem;
    width: 25.6rem;
    height: 4.6rem;
    cursor: pointer;
    border: 1px solid;
    margin: 3.2rem auto 0;
    transition: 0.3s ease-out;
}

.more-btn:hover {
    color: #fff;
    background-color: #000;
}

.more-btn::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "もっと見る";
}

.more-btn::before {
    border-left: 1px solid;
    border-top: 1px solid;
    width: 14px !important;
    height: 14px !important;
    content: "";
    display: block;
    top: -10px;
    bottom: 0;
    right: 20px;
    margin: auto;
    position: absolute;
    transform: rotate(225deg);
}

#toggle {
    position: absolute;
    left: -9999px;
}

.more-content > *:not(:first-child){
    display: none;
}

/* ul の直後にある #toggle が checked のとき、ul 内を全表示 */
.more-content:has(+ #toggle:checked) > * {
    display: block;
}

/* #toggle が checked のときに「閉じる」に変更 */
#toggle:checked + .more-btn::after {
    content: "閉じる";
}

#toggle:checked + .more-btn::before{
    top: 0;
    bottom: -10px;
    transform: rotate(45deg);
}

.top_aim_slogan{
    margin-top: 3.2rem;
    margin-bottom: 2rem;
    background-color: #fff;
    padding: 2.3rem 2rem 2.6rem;
}

.top_aim_slogan_title{
    text-align: center;
    font-size: 1.7rem;
    font-weight: 800;
    margin-bottom: .2rem;
    text-indent: 0;
}

.top_aim_slogan_main{
    text-align: center;
    font-size: 2.3rem;
    margin-bottom: 1.2rem;
    text-indent: 0;
}

.top_aim_img{
    border-radius: 2.3rem;
}

.top_aim_img + .top_aim_img{
    margin-top: 2rem;
}

/*法要日程*/
.top_schedule_container{
    padding-top: 7rem;
    padding-bottom: 7rem;
    background-color: #E6EBED;
}

.top_schedule_day{
    background-color: #fff;
    margin-bottom: 1.6rem;
}

.day-1{
    padding-bottom: 2.4rem;
}

.top_schedule_link_container{
    margin-left: 2rem;
    margin-right: 2rem;
}

.top_koushi_container{
    margin-top: 2.2rem;
}

.top_koushi_heading{
    background-color: #000;
    padding-top: .8rem;
    padding-bottom: 1rem;
    font-size: 1.7rem;
    color: #fff;
    font-weight: 500;
    text-align: center;
    margin-bottom: 1.5rem;
}

.top_koushi_img{
    width: 17rem;
    display: block;
    margin: auto;
}

.top_koushi_body{
    width: fit-content;
    margin: 1.5rem auto 0;
}

.top_koushi_name{
    font-size: 2.5rem;
    font-weight: 500;
    margin-bottom: 1.3rem;
}

.top_koushi_name span{
    font-size: 1.5rem;
}

.top_koushi_detail{
    font-size: 1.5rem;
    line-height: 1.5;
}

/*ご参拝*/

.top_sanpai_container{
    padding-top: 5.6rem;
    padding-bottom: 8rem;
    position: relative;
    background-color: #D2A858;
}

.top_sanpai_container::before{
    width: 100%;
    height:100%;
    top: 0;
    left: 0;
    right: 0;
    position: absolute;
    content: "";
    background-image: url(img/bg_vortex_white.svg);
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .68;
}

.top_sanpai_inner{
    position: relative;
}

.top_sanpai_heading{
    font-size: 5rem;
    letter-spacing: 1.8rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: 0 auto 5.6rem;
}

.top_sanpai_text{
    font-size: 1.4rem;
    line-height: 1.65;
    text-align: center;
}

.top_sanpai_text_imp{
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    font-size: 1.3rem;
    line-height: 1.5;
    letter-spacing: -.1rem;
    text-align: center;
    color: #FF0000;
    margin-top: .8rem;
}

.sanpai_area{
    margin-top: 4.8rem;
}

.sanpai_area_heading{
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    background: #fff;
    padding: .6rem 0;
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
}

.sanpai_area_text{
    font-size: 2rem;
    line-height: 1.5;
    text-align: center;
    margin: 2rem 0;
}

.sanpai_area_text span{
    color: #FF0000;
}

.top_sanpai_konshi{
    background: #fff;
    padding: 3.2rem 2rem 3.8rem;
    margin-top: 4.6rem;
}

.top_sanpai_konshi_heading{
    text-align: center;
    margin-bottom: 3rem;
    font-size: 2.5rem;
    letter-spacing: .1rem;
    text-decoration: underline;
}

.top_sanpai_konshi_text{
    line-height: 1.66;
    margin-bottom: 3rem;
}

/*記念事業１〜かくれ念仏*/
.top_contents_container{
    position: relative;
    padding-top: 5rem;
}

.top_contents_container::before{
    width: 100%;
    height:100%;
    top: 0;
    left: 0;
    right: 0;
    position: absolute;
    content: "";
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
}

#activity1.top_contents_container,
#event.top_contents_container{
    background-color: #ECDAB9;
}

#activity1.top_contents_container::before,
#event.top_contents_container::before{
    background-image: url(img/bg_vortex_white.svg);
}

#activity2.top_contents_container,
#kakure.top_contents_container{
    background-color: #FFFFFF;
}

#activity2.top_contents_container::before,
#kakure.top_contents_container::before{
    background-image: url(img/bg_vortex_bage.svg);
}

.top_contents_inner{
    position: relative;
}

.top_contents_heading{
    margin: 0 auto 5rem;
}

#activity1 .top_contents_heading{
    width: 13.3rem;
}

#activity2 .top_contents_heading{
    width: 8rem;
}

#activity2 .top_contents_heading img{
    margin-left: 2rem;
    display: block;
}

#event .top_contents_heading{
    width: 4rem;
}

#kakure .top_contents_heading{
    width: 9.8rem;
}

.top_contents_text{
    text-indent: 0;
    line-height: 1.66;
    margin-bottom: 3.6rem;
}

.contents_list_item{
    position: relative;
    border-bottom: 1px solid #707070;
    padding-bottom: 1.4rem;
}

.contents_list_item::after{
    border-left: 1px solid #707070;
    border-top: 1px solid #707070;
    width: 10px !important;
    height: 10px !important;
    content: "";
    display: block;
    top: 0;
    bottom: 0;
    right: 6px;
    margin: auto;
    position: absolute;
    transform: rotate(135deg);
}

.contents_list_item + .contents_list_item{
    margin-top: 1.6rem;
}

.contents_list_date{
    font-size: 1.3rem;
    padding-bottom: .5rem;
}

.contents_list_title{
    font-size: 1.7rem;
    line-height: 1.5;
    padding-right: 2.4rem;
}

.contents_list_title a{
    display: block;
}

.contents_img{
    width: 100vw;
    margin: 5rem calc(50% - 50vw) 0;
}


/* 下層ページ
----------------------------------------------------*/


/* ----- パンくず ----- */

.breadcrumb {
    margin-bottom: 5.6rem;
    font-size: 1.3rem;
    line-height: 1.4;
    display: flex;
    flex-wrap: wrap;
}

.breadcrumb > span {
    position: relative;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: .5;
}

.breadcrumb > span + span {
    padding-left: 1.2rem;
    margin-left: 0.3rem;
}

.breadcrumb > span + span::before {
    content: '';
    width: 5px;
    height: 5px;
    border: 0;
    border-top: solid 1px;
    border-right: solid 1px;
    transform: rotate(45deg);
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.breadcrumb > span a {
    display: inline-block;
    word-wrap: break-word;
}

.breadcrumb > span a:hover {
    text-decoration: underline;
}


/* --- 記事 --- */

.page_heading{
    font-size: 2.6rem;
    line-height: 1.5;
    margin-bottom: 3.2rem;
}

.no_article_text{
    font-size: 2rem;
    text-align: center;
}

/*ページャー（WP-PageNavi）*/

.wp-pagenavi {
    margin-top: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
    font-size: 1.8rem;
    margin: 0 .8rem;
    color: #000;
    position: relative;
    padding: .5rem .2rem;
}

.wp-pagenavi span.current {
    border-bottom: 2px solid #000;
}

.wp-pagenavi span.extend {
    padding-left: 0;
    padding-right: 0;
}

.wp-pagenavi .previouspostslink{
    margin-right: .8rem;
}

.wp-pagenavi .nextpostslink{
    margin-left: .8rem;
}

/*個別記事*/

.post_header{
    margin-bottom: 3.2rem;
}

.post_title{
    font-size: 2.6rem;
    line-height: 1.4;
}

.post_header_sub{
    margin-top: 1.6rem;
    align-items: baseline;
}

.post_date{
    font-size: 1.4rem;
    margin-right: .8rem;
}

.post_category{
    font-size: 1.4rem;
}

.post_category li + li::before{
    content: ",";
    display: inline-block;
    padding-right: .5rem;
}

.post_category a{
    color: #D2A858
}

.post_thumbnail{
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}

.post_body > * + * {
    margin-top: 2.4rem;
}

.post_body figure img,
.wp-block-image img{
    width: auto !important;
    max-width: 100%;
}

.post_body.text_01{
    text-indent: 0;
}

.post_body h1 {
    font-size: 2.4rem;
    line-height: 1.5;
    margin-top: 5rem;
    margin-bottom: 2.4rem;
}

.post_body h2 {
    font-size: 2.2rem;
    line-height: 1.5;
    padding-left: 1.2rem;
    border-left: solid #D2A858 6px;
    margin-top: 5rem;
    margin-bottom: 2.4rem;
}

.post_body h3 {
    font-size: 2rem;
    color: #D2A858;
    line-height: 1.5;
    margin-top: 4rem;
}

.post_body h4 {
    font-size: 125%;
    line-height: 1.5;
    margin-top: 4rem;
}

.post_body h5 {
    font-size: 110%;
    line-height: 1.5;
    margin-top: 3.2rem;
}

.post_body h6 {
    font-size: 100%;
    line-height: 1.5;
    margin-top: 3.2rem;
}

.post_body a {
    text-decoration: underline;
    word-break: break-all;
}

.post_body hr.wp-block-separator{
    border-top: #C9C8BD 1px dashed !important;
    margin-top: 5rem;
    margin-bottom: 5rem;
}

.is-type-video iframe{
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.wp-block-image :where(figcaption){
    margin-top: 1rem !important;
    margin-bottom: 0 !important;
    opacity: 0.6;
    font-size: 90%;
    line-height: 1.5;
}

.wp-block-quote{
    margin: 6rem 0;
    background: #fff;
    padding: 5%;
}

.wp-block-quote > * + *{
    margin-top: 1.2rem;
}

.wp-block-buttons{
    margin-top: 6rem;
}

.wp-block-button__link{
    width: 26rem !important;
    height: 6rem !important;
    font-size: 2rem !important;
    font-weight: 700;
    margin: auto;
    color: #fff !important;
    background-color: #000 !important;
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border-radius: 50vmax;
    position: relative;
    text-decoration: none!important;
}

.wp-block-button__link:hover {
    background: #444;
    color: #fff;
    text-decoration: none;
}

.wp-block-button__link::after {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    right: 2rem;
    margin: auto;
    border-top: solid 2px;
    border-right: solid 2px;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
}

ol.wp-block-list{
    list-style-type: decimal;
    margin-left: 2rem;
}

ul.wp-block-list{
    list-style-type: disc;
    margin-left: 2rem;
}

.wp-block-list li + li{
    margin-top: 1.2rem;
}

.wp-block-list .wp-block-list li + li{
    margin-top: 0;
}

.wp-block-file:not(.wp-element-button){
    font-size: 1.5rem !important;
}

.wp-block-file__button{
    background: #000 !important;
    text-decoration: none !important;
}

.related_post_container{
    margin-top: 8rem;
}

.related_post_heading{
    font-size: 2.3rem;
    margin-bottom: 2.8rem;
}

/* --- 404 --- */

.error_intro_container{
    margin: 6rem 0;
}

.error_intro_title {
    font-size: 2.6rem;
    line-height: 1.5;
    text-align: center;
}

/*----------------------------------------------------

SPのみ

----------------------------------------------------*/

@media screen and (max-width: 767px) {
    .display_pc {
        display: none !important;
    }
}
/*----------------------------------------------------

PCのみ

----------------------------------------------------*/


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

    .display_sp {
        display: none !important;
    }
    
    body::before{
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        content: "";
        background-position: top center;
        background-repeat: no-repeat;
        background-size: cover;
        background-image: url(img/bg_pc_pattern.svg);
        z-index: -1;
        animation: float 50s ease-in-out infinite;
    }
    
    @keyframes float {
        0% { transform: translate(0)scale(1.0); }
        25% { transform: translate(-10px,-10px)scale(1.1); } 
        60% { transform: translate(10px,10px)scale(1.0); } 
        85% { transform: translate(-5px,0px)scale(1.1); } 
        100% { transform: translate(0)scale(1.0); } 
    }
    
    body::after,
    body.home::after{
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        content: "";
        background-position: top center;
        background-repeat: no-repeat;
        background-size: cover;
        background-image: url(img/bg_pc.jpg);
        z-index: -2;
    }
    
    .all_container{
        min-width: 1000px;
    }
    
    .sp_container{
        width: 39rem;
        margin-left: auto;
        margin-right: auto;
    }
    
    .fixed_header{
        position: fixed;
        top: 0;
        bottom: 0;
        left: calc((50vw - 39.5rem) / 2);
        margin: auto;
        align-items: center;
    }
    
    .header_logo{
        width: 20rem;
    }
    
    .pc_fixed_nav{
        position: fixed;
        top: 0;
        bottom: 0;
        right: calc((50vw - 53.1rem) / 2);
        margin: auto;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .fixed_nav_top,
    .fixed_nav_middle{
        flex-direction: row-reverse;
        justify-content: center;
        align-items: flex-start;
    }
    
    .fixed_nav_bottom{
        flex-direction: row-reverse;
        justify-content: center;
        align-items: center;
    }

    .fixed_nav_middle{
        margin-top: 5rem;
        margin-bottom: 5rem;
    }

    .fixed_nav_top_link + .fixed_nav_top_link{
        margin-right: 3.7rem;
    }

    .fixed_nav_top_link_main{
        color: #d2a858;
        font-weight: 700;
        font-size: 3rem;
        letter-spacing: .3rem;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        text-orientation: upright;
        margin-top: -.2rem;
    }

    .fixed_nav_top_link_sub{
        font-size: 2rem;
        font-weight: 700;
        letter-spacing: .3rem;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        position: relative;
        padding-left: 1rem;
    }

    .fixed_nav_top_link_sub::after{
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: .1rem;
        height: 100%;
        background: #000;
    }

    .fixed_nav_middle_link + .fixed_nav_middle_link{
        margin-right: 3.7rem;
    }

    .fixed_nav_activity1{
        width: 9.2rem;
    }

    .fixed_nav_activity2{
        width: 5.5rem;
    }

    .fixed_nav_event{
        width: 2.7rem;
    }

    .fixed_nav_kakure{
        width: 5.1rem;
    }
    
    .fixed_nav_bottom_link + .fixed_nav_bottom_link{
        margin-right: 1.2rem;
    }
    
    .fixed_nav_sanpai{
        width: 15.6rem;
    }
    
    .fixed_nav_youtube{
        width: 11.6rem;
    }
    
    .main_footer{
        padding-bottom: 5rem;
    }

    .contents_img{
        width: 39rem;
        margin: 5rem -2rem 0;
    }
    
    .post_thumbnail{
        width: 39rem;
        margin: 0 -2rem;
    }

}


@media screen and (min-width: 1080px) and (max-width: 1189px){
    .fixed_header{
        transform: scale(.90);
    }
    
    .pc_fixed_nav{
        transform: scale(.85);
    }
}

@media screen and (max-width: 1079px){
    .fixed_header{
        transform: scale(.85);
    }
    
    .pc_fixed_nav{
        transform: scale(.78);
    }
}
