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

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

* {
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

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

body {
    background: #ffffff;
    color: #5f3c14;
    font-family: "Midashi Go MB31", sans-serif;
    line-height: 1;
    letter-spacing: .05rem;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


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

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


h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    letter-spacing: .12rem;
}

p {
    margin: 0;
}

ul {
    margin: 0;
}

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

a:hover {
    filter: brightness(0.9);
}

a img {
    transition: 0.3s ease-out;
    opacity: 1;
}

a:hover img {
    filter: brightness(0.9);
}

::-moz-selection {
    background: #5f3c14;
    color: #fff;
    text-shadow: none;
}

::selection {
    background: #5f3c14;
    color: #fff;
    text-shadow: none;
}

figure {
    margin: 0;
}

img {
    width: 100%;
    height: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

svg {
    fill: currentcolor;
    vertical-align: middle;
}

svg + * {
    vertical-align: middle;
}


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

dl,
dt,
dd {
    margin: 0;
}

input,
textarea,
button {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    letter-spacing: .07rem;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: none;
    border-radius: 0;
    transition: 0.3s ease-out;
    cursor: pointer;
    color: #5f3c14;
    border: none;
}

.wrapper {
    min-width: 1000px;
    padding-left: 6rem;
    padding-right: 6rem;
    margin-left: auto;
    margin-right: auto;
}

.sub_wrapper-1 {
    width: 84rem;
    margin: auto;
}

.sub_wrapper-2 {
    width: 60rem;
    margin: auto;
}

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

.display_none {
    display: none;
}

/*画像・テキスト*/

.chugo {
    font-family: "Gothic Medium BBB", sans-serif;
}

.text_01{
    font-size: 2.2rem;
    line-height: 1.75;
    text-align: justify;
}


/*リンク*/
.link_box {
    width: 24rem;
    height: 4.5rem;
    background: #fff;
    border: 1px solid #5f3c14;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-left: auto;
    border-radius: 50vmax;
    padding: 0 3.2rem 0 2rem
}

.link_box:hover {
    background: #5f3c14;
}

.link_box::after {
    content: "";
    -webkit-mask-image: url(img/arrow.svg);
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-image: url(img/arrow.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    background-color: #5f3c14;
    width: .9rem;
    height: 1.4rem;
    position: absolute;
    right: 2rem;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: 0.3s ease-out;
}

.link_box:hover::after {
    background-color: #fff;
}

.link_box img {
    width: auto;
    height: 1.5rem;
}

.link_box:hover img {
    opacity: 1;
    filter: brightness(0) invert(1);
}

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

.fadein.scrollin {
    opacity: 1;
}

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


/* メインヘッダー
----------------------------------------------------*/

/*読み込み画面*/
#splash {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 99999;
    background: #fff;
}

#splash_logo {
    width: calc(485 / 1280 * 100%);
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation-name: splashAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes splashAnime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/*ご寄付のお願い*/
.donation_link {
    position: fixed;
    bottom: 4rem;
    right: 6rem;
    width: calc(120 / 1280 * 100%);
    aspect-ratio: 120 / 201;
    max-width: 12rem;
    display: block;
    z-index: 99;
    transition: 0.3s ease-out;
    background-image: url(img/donation_icon_w.svg);
    background-repeat: no-repeat;
    background-size: cover;
}

.donation_link:hover{
    background-image: url(img/donation_icon_b.svg);
}

.is-brown .donation_link {
    background-image: url(img/donation_icon_b.svg);
}

.is-brown .donation_link:hover {
    background-image: url(img/donation_icon_w.svg);
}



.is-hidden.donation_link{
    opacity: 0;
    pointer-events: none; 
}

.is-brown .donation_link {
    
}

/**/

.main_header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 99;
    pointer-events: none;
    padding-top: 5rem;
}

.main_header_inner{
    justify-content: space-between;
}

.main_logo {
    width: calc(150 / 1160 * 100%);
    max-width: 15rem;
    transition: 0.3s ease-out;
}

body:not(.is-brown) .main_logo{
    filter: brightness(0) invert(1);
}

.main_logo a{
    display: block;
    pointer-events: auto;
}

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

.drawer-hamburger-container{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 5rem;
    z-index: 10003;
}

.drawer-hamburger {
    margin-top: 1.2rem;
    padding: 0;
    width: 21.3rem;
    height: 4.5rem;
    justify-content: center;
    align-items: center;
    border: 1px solid #5f3c14;
    border-radius: 50vmax;
    margin-left: auto;
}

body:not(.is-brown) .drawer-hamburger{
    border-color: #fff;
}

.is-opened .drawer-hamburger{
    border-color: #5f3c14 !important;
}

.drawer-hamburger-text{
    position: relative;
    display: block;
    width: 10.8rem;
    height: 1.4rem;
    margin-right: 2.2rem;
    background-image: url("img/menu_open_text.svg");
    background-repeat: no-repeat;
}

.is-opened .drawer-hamburger-text{
    width: 12.2em;
    height: 1.4rem;
    margin-right: 1.6rem;
    background-image: url("img/menu_close_text.svg");
}

.drawer-hamburger-icon {
    position: relative;
    display: block;
    width: 2.4rem;
    height: .9rem;
    background-image: url("img/menu_open_icon.svg");
    background-repeat: no-repeat;
}

.is-opened .drawer-hamburger-icon {
    width: 2.4rem;
    height: 1.4rem;
    background-image: url("img/menu_close_icon.svg");
}

body:not(.is-brown) .drawer-hamburger-text,
body:not(.is-brown) .drawer-hamburger-icon {
    filter: brightness(0) invert(1);
}

.is-opened .drawer-hamburger-text,
.is-opened .drawer-hamburger-icon{
    filter: none !important;
}

.drawer-hamburger:hover{
    border: 1px solid #5f3c14 !important;
    background-color: #5f3c14 !important;
}

.drawer-hamburger:hover .drawer-hamburger-text,
.drawer-hamburger:hover .drawer-hamburger-icon{
    filter: brightness(0) invert(1) !important;
}

.drawer-nav {
    background-color: #ffffff;
    position: fixed;
    top: 0;
    right: -49rem;
    overflow-y: scroll;
    width: 49rem;
    height: 100vh;
    height: 100dvh;
    transition: right .3s ease-in-out;
    -webkit-overflow-scrolling: touch;
    z-index: 10001;
}

.is-opened .drawer-nav {
    right: 0;
}

.drawer_background {
    display: block;
    opacity: 0;
    background: #000;
    transition: all .2s ease-in-out;
}

body.is-opened .drawer_background {
    opacity: .65;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10000;
}

.drawer_inner {
    min-height: 100vh;
    min-height: 100dvh;
    padding-top: 15rem;
    padding-bottom: 4.4rem;
    padding-left: 5rem;
    padding-right: 5rem;
}

.drawer_nav {
    margin-bottom: 8rem;
}

.drawer_nav .nav_list_item + .nav_list_item{
    margin-top: 3.4rem;
}

.nav_list_link{
    align-items: center;
}

.nav_arrow{
    width: 2.5rem;
    height: 2.5rem;
    background-image: url(img/arrow_circle.svg);
    background-repeat: no-repeat;
    background-size: cover;
    margin-right: 1.1rem;
    transition: 0.3s ease-out;
}

.nav_arrow_link:hover .nav_arrow{
    background-image: url(img/arrow_circle_hover.svg);
}

.nav_text{
    width: auto;
    height: 2.1rem;
}

.sns_container{
    flex: 1;
    align-items: center;
}

.sns_heading{
    position: relative;
    width: 19rem;
    padding-right: 5.6rem;
}

.sns_heading::after{
    position: absolute;
    width: 1px;
    height: 3rem;
    content: "";
    background: #5f3c14;
    right: 2.8rem;
    top: 0;
    bottom: 0;
    margin: auto;
}

.sns_list{
    width: calc(100% - 19rem);
    align-items: center;
}

.sns_ig{
    margin-right: 2.2rem;
}

.sns_ig img{
    width: 2.9rem;
}

.sns_fb {
    margin-right: 2.5rem;
}

.sns_fb img{
    width: 2.9rem;
}

.sns_line img{
    width: 7.6rem;
}


/* メインフッター 
----------------------------------------------------*/

.main_footer {
    padding-top: 8rem;
    padding-bottom: 7.4rem;
    background: linear-gradient(0deg, #faf8ef, #faf8ef 25%, #ffffff);
}

.footer_donation {
    justify-content: center;
    align-items: center;
    margin-bottom: 16rem;
}

.footer_donation_ill-1{
    width: 24%;
}

.footer_donation_main{
    margin-top: 6rem;
    min-width: 36%;
    flex-direction: column;
    align-items: center;
}

.footer_donation_heading{
    width: 23.8rem;
    margin-bottom: 4rem;
}

.footer_donation_text{
    font-size: 2.1rem;
    line-height: 1.85;
    text-align: center;
    margin-bottom: 4rem;
}

.footer_donation_link .link_box{
    width: 22rem;
    background: transparent;
    margin-right: auto;
}

.footer_donation_link .link_box:hover{
    background: #5f3c14;
}

.footer_donation_ill-2{
    margin-top: 8rem;
    width: 22%;
}

.footer_main{
    margin-bottom: 8rem;
}

.footer_info{
    width: 53%;
}

.footer_info_name{
    width: 68%;
    margin-bottom: 3.2rem;
}

.footer_info_address{
    width: 64%;
    margin-bottom: 1.8rem;
}

.footer_info_phone{
    width: 77%;
}

.footer_nav{
    width: 47%;
    justify-content: flex-end;
}

@media screen and (max-width: 1150px) and (min-width: 768px) {
    .footer_nav .nav_list_item{
        zoom: 0.9;
    }
}

.footer_nav .nav_list_item + .nav_list_item{
    margin-top: 2.8rem;
}

.footer_nav .nav_list:first-child{
    margin-right: 6.5%;
}

.footer_bottom{
    justify-content: space-between;
    align-items: center;
}

.footer_copyright {
    width: 41rem;
}

/* メインコンテナー .main_container
----------------------------------------------------*/

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

/*メインビジュアル*/

.top_bg_group {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    z-index: -2;
}

.top_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    /* 最初は非表示 */
    transition: opacity 1.5s ease;
    /* 背景が切り替わる時のクロスフェード時間 */
    pointer-events: none;
}

.is-active.top_bg {
    opacity: 1;
}

.top_bg1_slide,
.top_bg_img {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    height: 100vh;
    height: 100dvh;
    margin: 0;
}

.slick-slider {
    pointer-events: none;
}

.scroll_content {
    position: relative;
    z-index: 1;
    width: 100%;
}

.hero_space {
    height: 100vh;
    height: 100dvh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: transparent;
}

.bg_overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background-color: #000; /* 黒ベースで暗くする */
    opacity: 0; /* 最初は透明（JSでリアルタイムに数値を変化させます） */
    z-index: -1; /* 背景とコンテンツの間に配置 */
    pointer-events: none; /* クリックを邪魔しない */
}

.content_section {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 15rem;
    padding-bottom: 15rem;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
}

.fade-in-inner {
    width: 100%;
    color: #fff;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1.2s ease, transform 1.2s ease;
}

.is-active.content_section .fade-in-inner {
    opacity: 1;
    transform: translateY(0);
}

/*スクロールアニメーション*/
.animation_scroll {
    position: absolute;
    left: 6rem;
    bottom: 4.4rem;
    z-index: 9;
    flex-direction: column;
    align-items: center;
    transition: opacity 0.5s ease;
    opacity: 1;
}

.is-hidden.animation_scroll{
    opacity: 0;
}

.animation_scroll span {
    width: 1px;
    height: 6.7rem;
    background: #fff;
    display: block;
    animation: scroll 1.8s cubic-bezier(1, 0, 0, 1) infinite;
    margin-left: -.4rem;
}

@keyframes scroll {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }

    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }

    50.1% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }

    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

.animation_scroll img {
    width: 1.1rem;
    padding-top: 1.2rem;
}

/*ステートメント*/
.top_statement_heading {
    font-size: 4.9rem;
    line-height: 1.35;
    padding-bottom: 2rem;
    letter-spacing: .6rem;
    text-align: justify;
    font-feature-settings: "palt";
}

.top_statement_heading_en {
    font-size: 2.3rem;
    line-height: 1.35;
    text-align: justify;
}

.top_statement_midashi {
    margin-top: 10rem;
    margin-bottom: 4rem;
    font-size: 4rem;
    line-height: 1.35;
    text-align: justify;
}

.top_statement_text {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: justify;
}

/*応援メッセージ*/

.top_message_container {
    width: 100%;
    min-height: 100vh;
    background: #fff;
    align-items: center;
}

.top_message_inner {
    padding-top: 10rem;
    padding-bottom: 10rem;
}

.top_message_container .message_body {
    margin-top: 6rem;
    border-top: 1px solid;
    padding-top: 6rem;
    padding-bottom: 6rem;
    border-bottom: 1px solid;
    margin-bottom: 6rem;
}

.message_text {
    font-size: 2.9rem;
    line-height: 1.65;
    letter-spacing: 0;
    text-align: justify;
}

.message_text * + *{
    margin-top: 5.2rem;
}

.top_message_container .message_text {
    font-size: 5.2rem;
    line-height: 1.35;
}

.message_author {
    margin-top: 8rem;
    text-align: right;
    line-height: 1.6;
}

.top_message_container .message_author {
    margin-top: 3.6rem;
}

.message_name {
    display: inline-block;
    position: relative;
    font-size: 3.3rem;
    letter-spacing: .15rem;
    padding-left: 12rem;
}

.message_name::before {
    position: absolute;
    content: "";
    width: 10rem;
    height: 1px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #5f3c14;
}

.message_position {
    margin-top: .8rem;
    font-size: 2.1rem;
    letter-spacing: .15rem;
}

.top_message_container .message_position {
    font-size: 2.4rem;
}

/*アプローチ*/
.top_approach_heading{
    font-size: 3.8rem;
    line-height: 1.35;
    margin-bottom: 7.2rem;
    text-align: justify;
}

.top_approach_list_heading{
    margin-bottom: 6rem;
    align-items: flex-start;
}

.top_approach_list_heading img{
    width: 4rem;
    margin-top: .3rem;
}

.top_approach_list_heading span{
    flex: 1;
    padding-left: 1.2rem;
    font-size: 3.4rem;
    line-height: 1.35;
    text-align: justify;
}

.top_approach_item + .top_approach_item{
    margin-top: 10rem;
}

.top_approach_midashi{
    font-size: 3rem;
    line-height: 1.35;
    margin-bottom: 4.4rem;
    text-align: justify;
}

.top_approach_text + .top_approach_midashi{
    margin-top: 9rem;
}

.top_approach_text{
    font-size: 2.1rem;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: justify;
}

/*食*/
.top_eat_heading {
    font-size: 4rem;
    line-height: 1.35;
    margin-bottom: 6rem;
    text-align: justify;
}

.top_eat_text {
    font-size: 2.1rem;
    line-height: 1.5;
    text-align: justify;
}

/*ナビゲーション*/
.top_nav_list{
    background: #fff;
}

.top_nav_item{
    width: 50%;
    position: relative;
}

.top_nav_item a{
    display: block;
    position: relative;
}

.top_nav_item a::before{
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: .25;
    background: #000;
    z-index: 1;
    transition: 0.3s ease-out;
}

.top_nav_item a:hover{
    filter: brightness(1);
}

.top_nav_item a:hover::before{
    opacity: .35;
}

.top_nav_text{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: 4rem;
    z-index: 2;
}

.top_nav_bg{
    aspect-ratio: 640 / 420;
    object-fit: cover;
}

/*お知らせ・メディア掲載*/
.top_news_container,
.top_press_container{
    background: #fff;
}

.top_news_container{
    padding-top: 11rem;
}

.top_press_container{
    padding-top: 7rem;
}

.top_news_heading,
.top_press_heading{
    font-size: 3.4rem;
    letter-spacing: .08rem;
    margin-bottom: 4.4rem;
}

.news_list {
    margin: 0 -3rem;
}

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

.list_img img{
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.list_body{
    margin-top: 4rem;
}

.list_date {
    font-size: 2rem;
    letter-spacing: 0.17rem;
    margin-bottom: 2.8rem;
}

.list_title {
    font-size: 2.6rem;
    line-height: 1.3;
    text-align: justify;
}

.top_press_container .press_list {
    margin: 0 -2.7rem;
}

.top_press_container .press_list_item {
    width: calc(100% / 3);
    padding: 0 2.7rem 7.2rem;
}

.top_press_container .list_body{
    margin-top: 3.4rem;
}

.top_press_container .list_date {
    font-size: 1.7rem;
    margin-bottom: 1.3rem;
}

.top_press_container .list_title {
    font-size: 2.4rem;
}

.top_news_link,
.top_press_link{
    margin-top: -2rem;
}

.top_press_link .link_box{
    width: 26rem;
}


/* ----- 固定ページ ----- */
/* ----- 私たちについて ----- */

.page_main_img{
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100vh;
    height: 100svh;
    position: relative;
}

.page_about .page_main_img{
    background-image: url(img/about_main_pc.jpg);
}

.page_header_inner{
    padding-top: 23rem;
    padding-bottom: 15rem;
    border-bottom: 1px solid;
}

.page_header_body{
    position: relative;
}

.page_heading{
    font-size: 4.4rem;
    line-height: 1.2;
    letter-spacing: .2rem;
    text-align: center;
    margin-bottom: 9rem;
}

.page_header_text{
    font-size: 2.2rem;
    line-height: 2;
    text-align: center;
}

.page_header_ill{
    position: absolute;
    z-index: -1;
}

.about_header_ill{
    width: calc(132 / 840 * 100%);
    top: -4rem;
    right: -13rem;
}

.about_main_inner{
    margin-top: 8rem;
}

.about_main_heading{
    font-size: 2.6rem;
    letter-spacing: .2rem;
    padding-bottom: 2.4rem;
    margin-bottom: 5rem;
    position: relative;
}

.about_main_heading::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-image: linear-gradient(to right, #5f3c14 33.3%, transparent 33.3%);
    background-size: 9px 1px;
    background-repeat: repeat-x;
}

.about_main_inner + .about_main_inner{
    margin-top: 9rem;
}

.about_item + .about_item{
    margin-top: 6rem;
}

.about_main,
.about_sub{
    justify-content: space-between;
}

.about_item_left{
    width: calc(240 / 840 * 100%);
}

.about_item_header,
.about_item_position{
    margin-bottom: 3.2rem;
}

.about_sub .about_item_header{
    margin-bottom: 1.3rem;
}

.about_item_name{
    font-size: 3.4rem;
    letter-spacing: .2rem;
}

.about_item_name_en{
    font-size: 2rem;
    letter-spacing: .2rem;
    margin-top: 1rem;
}

.about_item_right{
    width: calc(500 / 840 * 100%);
}

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

.about_sub .about_item_position{
    min-height: 7rem;
    margin-bottom: 1.6rem;
}

.about_item_profile{
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: justify;
}


/* ----- 新留小学校について ----- */

.page_school .page_main_img{
    background-image: url(img/school_main_pc.jpg);
}

.school_header_ill{
    width: calc(165 / 840 * 100%);
    bottom: -9rem;
    right: -12.5rem;
}

.school_main_inner{
    margin-top: 12rem;
}

.school_main_heading{
    font-size: 3.4rem;
    line-height: 1.5;
    margin-bottom: 6.4rem;
    position: relative;
}

.school_main_img{
    margin-top: 10rem;
    margin-bottom: 10rem;
}

iframe{
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.about_main_group{
    margin-top: 12rem;
}

.school_group_heading{
    font-size: 2.6rem;
    line-height: 1.5;
    letter-spacing: .2rem;
    padding-bottom: 2.4rem;
    margin-bottom: 7rem;
    position: relative;
}

.school_group_heading::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-image: linear-gradient(to right, #5f3c14 33.3%, transparent 33.3%);
    background-size: 9px 1px;
    background-repeat: repeat-x;
}


/* ----- 学びの再定義と構造転換 ----- */

.page_approach .page_main_img{
    background-image: url(img/approach_main_pc.jpg);
}

.approach_header_ill{
    width: calc(250 / 840 * 100%);
    top: 3rem;
    right: -14.5rem;
}

.approach_main_inner{
    margin-top: 12rem;
}

.approach_main_heading{
    font-size: 3.4rem;
    line-height: 1.5;
    margin-bottom: 6.4rem;
    position: relative;
}

.approach_main_img{
    margin-top: 10rem;
    margin-bottom: 10rem;
}

.approach_main_group{
    position: relative;
    margin-top: 10rem;
    padding-top: 10rem;
}

.approach_main_group::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-image: linear-gradient(to right, #5f3c14 33.3%, transparent 33.3%);
    background-size: 9px 1px;
    background-repeat: repeat-x;
}

.approach_group_heading{
    font-size: 2.6rem;
    line-height: 1.5;
    letter-spacing: .2rem;
    margin-bottom: 4.4rem;
}

.approach_note{
    margin-top: 20rem;
    margin-bottom: 10rem;
}

.approach_note_link{
    align-items: center;
}

.approach_note_link:hover,
.approach_note_link:hover img{
    filter: none;
}

.approach_note_ill-1{
    width: calc(196 / 840 * 100%);
}

.approach_note_main{
    flex: 1;
}

.approach_note_heading{
    width: calc(278 / 480 * 100%);
    margin: 0 auto 3.8rem;
}

.approach_note_text{
    font-size: 2rem;
    line-height: 1.85;
    justify-content: center;
    text-align: center;
}

.approach_note_ill-2{
    width: calc(153 / 840 * 100%);
}


/* ----- ご寄付のお願い ----- */

.page_donation .page_main_img{
    background-image: url(img/donation_main_pc.jpg);
}

.donation_header_ill{
    width: calc(214 / 840 * 100%);
    bottom: -10rem;
    right: -14.5rem;
}

.donation_movie{
    margin-top: 10rem;
}

.donation_main_inner{
    margin-top: 12rem;
}

.donation_main_heading{
    margin-bottom: 8rem;
}

.donation_main_link .link_box{
    margin-top: 7rem;
    margin-right: auto;
    width: 45rem;
    height: 7.2rem;
}

.donation_main_link img{
    height: 2.4rem;
}

.donation_supporter_list{
    margin-top: 9rem;
}

.donation_supporter_heading{
    text-align: center;
    font-size: 2.2rem;
    margin-bottom: 7rem;
}

.donation_company_list{
    justify-content: space-between;
    align-items: center;
}

.donation_supporter_link .link_box{
    margin-top: 7rem;
    margin-right: auto;
    width: 33.7rem;
    height: 6rem;
}

.donation_supporter_link img{
    height: 2rem;
}

.donation_monthly_heading{
    font-size: 3.3rem;
    text-align: center;
    margin-bottom: 3.2rem;
}

.donation_monthly_heading_sub{
    font-size: 2.4rem;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 7rem;
}


/* ----- 新留小学校応援団 ----- */

.supporter_header_ill{
    width: calc(214 / 840 * 100%);
    bottom: -10rem;
    right: -14.5rem;
}

.page_header_direct .page_header_inner{
    padding-top: 20rem;
    padding-bottom: 11rem;
    border-bottom: none;
}

.supporter_list{
    line-height: 1.65;
    text-align: justify;
}

.supporter_list + .supporter_list{
    margin-top: 7rem;
}

.supporter_list-1{
    font-size: 2.9rem;
}

.supporter_list-2{
    font-size: 2.5rem;
}

.supporter_list-3{
    font-size: 2.2rem;
}


/* ----- お問い合わせ ----- */

.contact_header_ill-1{
    width: calc(147 / 840 * 100%);
    top: 10rem;
    bottom: 0;
    left: -12rem;
    margin: auto;
}

.contact_header_ill-2{
    width: calc(140 / 840 * 100%);
    top: 10rem;
    bottom: 0;
    right: -10rem;
    margin: auto;
}

.form_list {
    list-style-type: none !important;
    margin-left: 0 !important;
}

.form_item {
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid;
    align-items: center;
}

.form_item:first-child{
    border-top: 1px solid;
}

.form_item:last-child{
    align-items: flex-start;
}

.form_item:last-child .form_title{
    padding-top: 2rem;
}

.form_title {
    font-size: 2.1rem;
    line-height: 1.5;
    font-weight: bold;
    width: 30%;
    padding-left: 3rem;
}

.form_box {
    width: 70%;
}

.form_box input,
.form_box textarea {
    font-size: 1.8rem;
    line-height: 1.8;
    width: 100%;
}

.form_box input {
    padding: 1.6rem 1.4rem;
}

.form_box textarea {
    padding: 1.6rem 1.4rem;
}

.contact_submit {
    margin-top: 4rem;
    position: relative;
}

.contact_submit .link_box{
    margin-right: auto;
    width: 22rem;
    transition: 0.3s ease-out;
    font-size: 1.6rem;
    text-align: center;
}

.contact_submit .link_box input{
    font-family: "Midashi Go MB31", sans-serif;
    width: 100%;
    height: 4.3rem;
}

.contact_submit .link_box:hover input{
    color: #fff;
}

.wpcf7-spinner{
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4rem;
    margin: auto;
}

.wpcf7-not-valid-tip {
    font-size: 1.6rem !important;
    font-weight: bold !important;
    padding-top: .8rem;
}

.wpcf7-acceptance {
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.5;
    margin: 0 auto 4.8rem;
    display: block;
}

.wpcf7-response-output {
    margin: 2.4em 0 0 !important;
    padding: 1.2rem 1rem !important;
    color: #5f3c14;
    font-size: 1.8rem;
    line-height: 1.5;
    text-align: center;
}

.cf7-cf-turnstile {
    text-align: center;
    margin-top: 4rem !important;
}


/* ----- アーカイブページ ----- */
/* ----- お知らせ ----- */

.news_header_ill{
    width: calc(220 / 840 * 100%);
    bottom: -12rem;
    right: -14.5rem;
}

.archive_container .page_header_inner{
    border-bottom: 1px solid;
    padding-bottom: 15rem;
    margin-bottom: 9rem;
}

.no_article_text{
    text-align: center;
}

/*ページャー（WP-PageNavi）*/
.wp-pagenavi {
    margin-top: 4rem;
    margin: 0 -0.6rem !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
    width: 4.2rem;
    height: 4.2rem;
    font-size: 2rem;
    margin: 0 0.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #faf8ef;
}

.wp-pagenavi a:hover,
.wp-pagenavi span {
    background: #5f3c14;
    color: #fff;
}

/* ----- これまでの実績 ----- */

.achievements_header_ill{
    width: calc(215 / 840 * 100%);
    bottom: -9rem;
    right: -15.5rem;
}

/* ----- メディア掲載 ----- */

.press_header_ill{
    width: calc(180 / 840 * 100%);
    bottom: -8rem;
    right: -13.5rem;
}

/* ----- 応援メッセージ ----- */

.page_message .page_main_img{
    background-image: url(img/message_main_pc.jpg);
}

.message_header_ill{
    width: calc(330 / 840 * 100%);
    bottom: -10rem;
    right: -16rem;
}

.message_list_item{
    position: relative;
    padding-top: 9rem;
    padding-bottom: 9rem;
}

.message_list_item::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-image: linear-gradient(to right, #5f3c14 33.3%, transparent 33.3%);
    background-size: 9px 1px;
    background-repeat: repeat-x;
}

/* ----- 個別記事ページ ----- */

.single_container{
    padding-bottom: 10rem;
}

.post_container{
    padding-top: 20rem;
}

.post_header{
    margin-bottom: 18rem;
}

.post_date{
    text-align: center;
    font-size: 2rem;
    margin-bottom: 2.8rem;
}

.post_title{
    text-align: center;
    font-size: 4.1rem;
    line-height: 1.3;
}

.post_img{
    margin-bottom: 8rem;
}

.post_body {
    font-size: 2.2rem;
    line-height: 1.9;
    text-align: justify;
}

.post_body > * + * {
    margin: 4.4rem 0;
}

.post_body figure {
    margin: 6rem 0;
}

.post_body figure:first-child {
    margin-top: 0;
}

.post_body h2 {
    font-size: 3.2rem;
}

.post_body h3 {
    font-size: 2.8rem;
}

.post_body figcaption {
    opacity: .8;
}

.post_body a {
    text-decoration: underline;
}

.post_body figure.is-type-video .wp-block-embed__wrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.post_body figure.is-type-video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

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

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

.single_news_link .link_box,
.single_achievements_link .link_box,
.single_press_link .link_box{
    margin-top: 10rem;
    margin-right: auto;
}

.single_press_link .link_box{
    width: 26rem;
}

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

PCのみ

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

@media print,
screen and (min-width: 768px) {
    .display_sp {
        display: none !important;
    }

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

@media screen and (max-width: 1100px) and (min-width: 951px) {
    html {
        font-size: 60%;
    }

    .sub_wrapper {
        padding-left: 8%;
        padding-right: 8%;
    }
}



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

スマートフォンのみ

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


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

    .display_pc {
        display: none !important;
    }
    
    .wrapper {
        min-width: 0;
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .sub_wrapper-1 {
        width: 100%;
    }

    .sub_wrapper-2 {
        width: 100%;
    }

    /*画像・テキスト*/
    .text_01{
        font-size: 1.4rem;
    }
    
    /*リンク*/
    .link_box {
        width: 17.4rem;
        height: 3.2rem;
        padding: 0 2.4rem 0 1.4rem;
    }

    .link_box::after {
        width: .8rem;
        height: 1.2rem;
        right: 1.2rem;
    }

    .link_box img {
        height: 1.1rem;
    }
    
    /* メインヘッダー
    ----------------------------------------------------*/

    /*読み込み画面*/
    
    #splash_logo {
        width: calc(394 / 480 * 100%);
    }

    /*ご寄付のお願い*/
    .donation_link {
        bottom: 3rem;
        right: 2rem;
        width: calc(100 / 480 * 100%);
        max-width: 10rem;
    }

    /**/

    .main_header {
        padding-top: 2rem;
        z-index: 10002;
    }

    .main_logo {
        width: calc(110 / 440 * 100%);
        max-width: 11rem;
    }
    
    .is-opened .main_logo{
        filter: none !important;
    }

    /*ドロワーメニュー*/
    .drawer-hamburger-container{
        padding-top: 2rem;
    }

    .drawer-hamburger {
        margin-top: 1.2rem;
        width: 15.5rem;
        height: 3.2rem;
    }

    .drawer-hamburger-text{
        width: 8.4rem;
        height: 1.1rem;
        margin-right: 1.4rem;
    }

    .is-opened .drawer-hamburger-text{
        width: 9.4rem;
        height: 1.1rem;
        margin-right: 1rem;
    }

    .drawer-hamburger-icon {
        width: 1.9rem;
        height: .7rem;
    }

    .is-opened .drawer-hamburger-icon {
        width: 1.9rem;
        height: 1.2rem;
    }

    .drawer-nav {
        right: -100%;
        width: 100%;
    }

    .drawer_inner {
        min-height: 100vh;
        min-height: 100dvh;
        padding-top: 14rem;
        padding-bottom: 5rem;
        padding-left: 3.6rem;
        padding-right: 3.6rem;
    }

    .drawer_nav {
        margin-bottom: 5rem;
    }

    .drawer_nav .nav_list_item + .nav_list_item{
        margin-top: 2.6rem;
    }

    .nav_arrow{
        width: 2.2rem;
        height: 2.2rem;
        margin-right: 1.1rem;
    }

    .nav_text{
        height: 1.7rem;
    }

    .sns_heading{
        position: relative;
        width: 14.2rem;
        padding-right: 3.4rem;
    }

    .sns_heading::after{
        height: 2.8rem;
        right: 1.8rem;
    }
    
    .sns_list{
        width: auto;
    }

    .sns_ig{
        margin-right: 1.6rem;
    }

    .sns_ig img{
        width: 2.3rem;
    }

    .sns_fb {
        margin-right: 2rem;
    }

    .sns_fb img{
        width: 2.3rem;
    }

    .sns_line img{
        width: 6.8rem;
    }


    /* メインフッター 
    ----------------------------------------------------*/

    .main_footer {
        padding-top: 5.5rem;
        padding-bottom: 5.5rem;
    }

    .footer_donation {
        margin-bottom: 6rem;
    }

    .footer_donation_ill-1{
        width: calc(224 / 440 * 100%);
    }

    .footer_donation_main{
        margin-top: 1.6rem;
        width: 100%;
    }

    .footer_donation_text{
        font-size: 1.6rem;
        margin-bottom: 2.2rem;
    }

    .footer_donation_link .link_box{
        width: 18rem;
    }

    .footer_donation_ill-2{
        margin-top: 2.4rem;
        width: calc(252 / 440 * 100%);
    }

    .footer_main{
        margin-bottom: 4.8rem;
    }

    .footer_info{
        width: 100%;
        justify-content: center;
    }

    .footer_info_name{
        width: calc(374 / 440 * 100%);
        margin-bottom: 3rem;
    }

    .footer_info_address{
        width: calc(347 / 440 * 100%);
        margin-bottom: 1.4rem;
    }

    .footer_info_phone{
        width: 100%;
    }

    .footer_bottom{
        justify-content: center;
    }
    
    .footer_bottom .sns_container{
        justify-content: center;
    }

    .footer_copyright {
        margin-top: 5.5rem;
        width: calc(340 / 440 * 100%);
    }

    /* メインコンテナー .main_container
    ----------------------------------------------------*/

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

    /*メインビジュアル*/

    .content_section {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }

    /*スクロールアニメーション*/
    .animation_scroll {
        left: 3rem;
        bottom: 3rem;
    }

    /*ステートメント*/
    .top_statement_heading {
        font-size: 2.9rem;
        padding-bottom: 1.6rem;
        letter-spacing: .3rem;
    }

    .top_statement_heading_en {
        font-size: 1.3rem;
    }

    .top_statement_midashi {
        margin-top: 6rem;
        margin-bottom: 2.4rem;
        font-size: 2.4rem;
    }

    .top_statement_text {
        font-size: 1.5rem;
    }

    /*応援メッセージ*/

    .top_message_inner {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }

    .top_message_container .message_body {
        margin-top: 3.6rem;
        padding-top: 3.6rem;
        padding-bottom: 3.6rem;
        margin-bottom: 3.6rem;
    }

    .message_text {
        font-size: 1.5rem;
    }
    
    .top_message_container .message_text {
        font-size: 2.8rem;
    }

    .message_text * + *{
        margin-top: 2.8rem;
    }

    .message_author {
        margin-top: 3.2rem;
    }

    .message_name {
        font-size: 1.9rem;
        padding-left: 8rem;
    }

    .top_message_container .message_name {
        font-size: 2.6rem;
    }

    .message_name::before {
        width: 7rem;
    }

    .message_position {
        margin-top: .5rem;
        font-size: 1.4rem;
    }
    
    .top_message_container .message_position {
        font-size: 1.8rem;
    }

    /*アプローチ*/
    .top_approach_heading{
        font-size: 2.4rem;
        margin-bottom: 4.4rem;
    }

    .top_approach_list_heading{
        margin-bottom: 3.4rem;
    }

    .top_approach_list_heading img{
        width: 2.2rem;
        margin-top: .2rem;
    }

    .top_approach_list_heading span{
        padding-left: .5rem;
        font-size: 1.9rem;
    }

    .top_approach_item + .top_approach_item{
        margin-top: 7rem;
    }

    .top_approach_midashi{
        font-size: 1.8rem;
        margin-bottom: 2.8rem;
    }

    .top_approach_text + .top_approach_midashi{
        margin-top: 6rem;
    }

    .top_approach_text{
        font-size: 1.4rem;
    }

    /*食*/
    .top_eat_heading {
        font-size: 2.7rem;
        margin-bottom: 4rem;
    }

    .top_eat_text {
        font-size: 1.4rem;
    }

    /*ナビゲーション*/
    .top_nav_item{
        width: 100%;
    }

    .top_nav_text{
        height: 2.6rem;
    }

    /*お知らせ・メディア掲載*/
    .top_news_container{
        padding-top: 6rem;
    }

    .top_press_container{
        padding-top: 5rem;
    }

    .top_news_heading,
    .top_press_heading{
        font-size: 2.3rem;
        margin-bottom: 2rem;
    }

    .news_list {
        margin: 0;
    }

    .news_list_item {
        width: 100%;
        padding: 0 0 3.6rem;
    }

    .list_body{
        margin-top: 2.8rem;
    }

    .list_date {
        font-size: 1.4rem;
        margin-bottom: 1.6rem;
    }

    .list_title {
        font-size: 1.8rem;
    }

    .top_press_container .press_list {
        margin: 0 -.8rem;
    }

    .top_press_container .press_list_item {
        width: calc(100% / 2);
        padding: 0 .8rem 3.6rem;
    }
    
    .top_press_container .press_list_item:nth-child(n+3){
        display: none;
    }

    .top_press_container .list_body{
        margin-top: 1.6rem;
    }

    .top_press_container .list_date {
        font-size: 1.1rem;
        margin-bottom: .5rem;
    }

    .top_press_container .list_title {
        font-size: 1.4rem;
    }

    .top_news_link,
    .top_press_link{
        margin-top: 0;
    }

    .top_press_link .link_box{
        width: 19rem;
    }

    /* ----- 固定ページ ----- */
    /* ----- 私たちについて ----- */


    .page-id-10 .main_logo{
        filter: none !important;
    }

    .page-id-10 .drawer-hamburger{
        border-color: #5f3c14 !important;
    }

    .page-id-10 .drawer-hamburger-text,
    .page-id-10 .drawer-hamburger-icon {
        filter: none !important;
    }

    .page_about .page_main_img{
        background-image: url(img/about_main_sp.jpg);
    }

    .page_header_inner{
        padding-top: 10rem;
        padding-bottom: 5rem;
    }

    .page_heading{
        font-size: 2.4rem;
        margin-bottom: 3.6rem;
    }

    .page_header_text{
        font-size: 1.4rem;
    }
    
    .page_header_ill{
        position: relative;
        top: unset;
        bottom: unset;
        left: unset;
        right: unset;
        margin: 0 auto 2.8rem;
        display: block;
    }

    .about_header_ill{
        width: calc(130 / 440 * 100%);
    }

    .about_main_inner{
        margin-top: 5rem;
    }

    .about_main_heading{
        font-size: 2rem;
        padding-bottom: 2rem;
        margin-bottom: 3.2rem;
    }

    .about_main_inner + .about_main_inner{
        margin-top: 6rem;
    }

    .about_item + .about_item{
        margin-top: 4rem;
    }

    .about_item_left{
        width: 100%;
    }

    .about_sub .about_item_header{
        margin-bottom: 1.6rem;
    }
    
    .about_item_header{
        order: 1;
        margin-bottom: 2.4rem;
    }

    .about_item_name{
        font-size: 2.4rem;
    }

    .about_item_name_en{
        font-size: 1.3rem;
        margin-top: .8rem;
    }

    .about_item_right{
        width: 100%;
    }

    .about_item_position{
        order: 2;
        font-size: 1.4rem;
        margin-bottom: 1.6rem;
    }

    .about_sub .about_item_position{
        min-height: 0;
        margin-bottom: 1.6rem;
    }
    
    .about_item_img{
        order: 0;
        margin-bottom: 2.8rem;
    }

    .about_item_profile{
        order: 3;
        font-size: 1.3rem;
    }
    

    /* ----- 新留小学校について ----- */

    .page_school .page_main_img{
        background-image: url(img/school_main_sp.jpg);
    }

    .school_header_ill{
        width: calc(130 / 440 * 100%);
    }

    .school_main_inner{
        margin-top: 5rem;
    }

    .school_main_heading{
        font-size: 2.2rem;
        margin-bottom: 3.6rem;
    }

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

    .school_main_group{
        margin-top: 7rem;
    }

    .school_group_heading{
        font-size: 2rem;
        padding-bottom: 1.6rem;
        margin-bottom: 4rem;
    }
    

    /* ----- 学びの再定義と構造転換 ----- */

    .page_approach .page_main_img{
        background-image: url(img/approach_main_sp.jpg);
    }

    .approach_header_ill{
        width: calc(180 / 440 * 100%);
    }

    .approach_main_inner{
        margin-top: 5rem;
    }

    .approach_main_heading{
        font-size: 2.2rem;
        margin-bottom: 3.6rem;
    }

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

    .approach_main_group{
        margin-top: 7rem;
        padding-top: 7rem;
    }
    
    .approach_group_heading{
        font-size: 2rem;
        margin-bottom: 4rem;
    }

    .approach_note{
        margin-top: 8rem;
        margin-bottom: 4rem;
    }

    .approach_note_link{
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .approach_note_ill-1{
        width: calc(130 / 440 * 100%);
        padding-bottom: 2.8rem;
    }

    .approach_note_main{
        width: 100%;
    }

    .approach_note_heading{
        width: calc(250 / 480 * 100%);
        margin: 0 auto 2.4rem;
    }

    .approach_note_text{
        font-size: 1.4rem;
    }

    /* ----- ご寄付のお願い ----- */

    .page_donation .page_main_img{
        background-image: url(img/donation_main_sp.jpg);
    }

    .donation_header_ill{
        width: calc(150 / 440 * 100%);
    }

    .donation_main_inner{
        margin-top: 6rem;
    }
    
    .donation_main_inner + .donation_main_inner{
        margin-top: 9rem;
    }

    .donation_movie{
        margin-top: 6rem;
    }

    .donation_main_heading{
        margin-bottom: 4rem;
    }

    .donation_main_link .link_box{
        margin-top: 6rem;
        width: 27rem;
        height: 5rem;
    }

    .donation_main_link img{
        height: 1.6rem;
    }

    .donation_supporter_list{
        margin-top: 4.8rem;
    }

    .donation_supporter_heading{
        font-size: 1.4rem;
        letter-spacing: 0;
        margin-bottom: 6rem;
    }

    .donation_supporter_link .link_box{
        margin-top: 7rem;
        width: 28rem;
        height: 5rem;
    }

    .donation_supporter_link img{
        height: 1.6rem;
    }

    .donation_monthly_heading{
        font-size: 2.1rem;
        margin-bottom: 2.8rem;
    }

    .donation_monthly_heading_sub{
        font-size: 1.7rem;
        margin-bottom: 4.8rem;
    }


    /* ----- 新留小学校応援団 ----- */

    .supporter_header_ill{
        width: calc(150 / 440 * 100%);
    }

    .page_header_direct .page_header_inner{
        padding-top: 13rem;
        padding-bottom: 6rem;
    }

    .supporter_list + .supporter_list{
        margin-top: 4rem;
    }

    .supporter_list-1{
        font-size: 2rem;
    }

    .supporter_list-2{
        font-size: 1.7rem;
    }

    .supporter_list-3{
        font-size: 1.4rem;
    }
    

    /* ----- お問い合わせ ----- */

    .contact_header_ill-1{
        width: calc(120 / 440 * 100%);
    }

    .form_item {
        padding-top: 1.6rem;
        padding-bottom: 1.6rem;
    }

    .form_item:last-child .form_title{
        padding-top: 0;
    }

    .form_title {
        font-size: 1.6rem;
        width: 100%;
        padding-left: 0;
        padding-bottom: 1rem;
    }

    .form_box {
        width: 100%;
    }

    .form_box input,
    .form_box textarea {
        font-size: 1.6rem;
        line-height: 1.8;
        width: 100%;
    }

    .form_box input {
        padding: .6rem 1rem;
    }

    .form_box textarea {
        padding: .6rem 1rem;
    }

    .contact_submit {
        margin-top: 2.8rem;
    }

    .contact_submit .link_box{
        width: 18rem;
        font-size: 1.5rem;
    }

    .contact_submit .link_box input{
        height: 3.2rem;
    }

    .wpcf7-not-valid-tip {
        font-size: 1.6rem !important;
    }

    .wpcf7-acceptance {
        font-size: 1.6rem;
    }

    .wpcf7-response-output {
        font-size: 1.6rem;
        line-height: 1.5;
        text-align: center;
    }

    .cf7-cf-turnstile {
        margin-top: 4rem !important;
    }


    /* ----- アーカイブページ ----- */
    /* ----- お知らせ ----- */

    .news_header_ill{
        width: calc(120 / 440 * 100%);
    }

    .archive_container .page_header_inner{
        padding-bottom: 5rem;
        margin-bottom: 5rem;
    }

    /*ページャー（WP-PageNavi）*/
    .wp-pagenavi {
        margin-top: 3.2rem;
        padding-top: 1.2rem;
        margin: 0 -0.4rem !important;
    }

    .wp-pagenavi a,
    .wp-pagenavi span {
        width: 3.4rem;
        height: 3.4rem;
        font-size: 1.6rem;
        margin: 0 0.4rem;
    }
    

    /* ----- これまでの実績 ----- */

    .achievements_header_ill{
        width: calc(120 / 440 * 100%);
    }

    /* ----- メディア掲載 ----- */

    .press_header_ill{
        width: calc(120 / 440 * 100%);
    }
    

    /* ----- 応援メッセージ ----- */

    .page_message .page_main_img{
        background-image: url(img/message_main_sp.jpg);
    }

    .message_header_ill{
        width: calc(160 / 440 * 100%);
    }

    .message_list_item{
        padding-top: 5rem;
        padding-bottom: 5rem;
    }


    /* ----- 個別記事ページ ----- */

    .single_container{
        padding-bottom: 5rem;
    }

    .post_container{
        padding-top: 15rem;
    }

    .post_header{
        margin-bottom: 4rem;
    }

    .post_date{
        text-align: justify;
        font-size: 1.4rem;
        margin-bottom: 1.6rem;
    }

    .post_title{
        text-align: justify;
        font-size: 2.4rem;
    }

    .post_img{
        margin-bottom: 5rem;
    }

    .post_body {
        font-size: 1.4rem;
    }

    .post_body > * + * {
        margin: 2.8rem 0;
    }

    .post_body figure {
        margin: 4rem 0;
    }

    .post_body h2 {
        font-size: 2.2rem;
    }

    .post_body h3 {
        font-size: 1.9rem;
    }

    .single_news_link .link_box,
    .single_achievements_link .link_box,
    .single_press_link .link_box{
        margin-top: 5rem;
    }

    .single_press_link .link_box{
        width: 20rem;
    }


}


@media screen and (max-width: 320px) {
    html {
        font-size: 56%;
    }
}
