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

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

html {
    font-size: 62.5%;
}


body {
    font-family: 'Shippori Mincho', serif;
    position: relative;
    z-index: 0;
    color: #333;
    font-weight: 400;
    letter-spacing: 0.04rem;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

a {
    color: inherit;
    text-decoration: none;
    transition: 0.5s ease-out;
}

a img,
a svg {
    transition: 0.5s ease-out;
}

::-moz-selection {
    background: #90326D;
    color: #fff;
    text-shadow: none;
}

::selection {
    background: #90326D;
    color: #fff;
    text-shadow: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
    font-weight: inherit;
}

img {
    width: 100%;
    height: auto;
    max-width: none !important;
}

svg {
    fill: currentcolor;
}

ul {
    list-style-type: none;
    padding: 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: #000;
    border: none;
    font-family: 'Shippori Mincho', serif;
}

.wrapper {
    width: calc(1096 / 1366 * 100%);
    max-width: 1096px;
    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;
}

.en {
    font-family: 'Cormorant', serif;
    letter-spacing: 0.1rem;
}

/*link*/

.link_box {
    height: 6.4rem;
    background: #90326D;
    color: #fff;
    justify-content: center;
    align-items: center;
    font-size: 1.9rem;
    border: 1px solid #90326D;
}

.link_arrow {
    position: relative;
    width: 3.4rem;
    height: 1px;
    background: #fff;
    display: block;
    margin-right: 1.2rem;
    margin-bottom: -0.4rem;
    transition: 0.5s ease-out;
}

.link_arrow::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0.8rem;
    height: 1px;
    background: #fff;
    transform-origin: right center;
    transform: rotate(40deg);
    transition: 0.5s ease-out;
}

.link_box:hover {
    color: #90326D;
    background: none;
}

.link_box:hover .link_arrow {
    background: #90326D;
}

.link_box:hover .link_arrow::after {
    background: #90326D;
}

/*fadein*/
.fadein {
    opacity: 0;
    transition: 1.3s ease-out;
    transform: translate(0, 1.5rem);
}

.fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

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

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

.main_header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 99;
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(30px);
}

.main_header_inner {
    position: relative;
    padding-top: 4rem;
    padding-bottom: 2.4rem;
}

.header_lang_nav {
    position: absolute;
    left: 0;
    top: 2rem;
    font-size: 1.4rem;
    color: #90326d;
}

.lang_nav a {
    text-decoration: underline;
}

.header_logo {
    width: 28rem;
    margin: 0 auto 2.6rem;
}

.header_nav .main_nav_list {
    justify-content: center;
}

.header_nav .main_nav_item {
    padding: 0 1.8rem;
}

.header_nav .main_nav_link {
    color: #333;
    font-size: 1.8rem;
}

.header_nav .main_nav_link:hover {
    color: #90326d;
}

.page-id-165 .main_nav_item_news {
    display: none;
}

.header_shop_link {
    position: absolute;
    top: 0;
    right: 0;
    width: 18rem;
    height: 4.2rem;
    background: #90326d;
    color: #fff;
    justify-content: center;
    align-items: center;
}

.header_shop_link:hover {
    background: #77295a
}

.header_shop_link img {
    width: 2rem;
    margin-right: .6rem;
}

.header_shop_link span {
    font-size: 1.8rem;
    text-transform: capitalize;
}


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

.main_footer {
    background: #90326D;
    padding-top: 9rem;
    padding-bottom: 7rem;
    text-align: center;
}

.footer_logo {
    width: 22rem;
    margin: auto;
}

.contact_link {
    width: 30rem;
    height: 8rem;
    font-size: 2.4rem;
    color: #fff;
    margin: 6rem auto 6rem;
    border: 1px solid;
    line-height: 7.6rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.contact_link_arrow {
    position: relative;
    width: 3.4rem;
    height: 1px;
    background: #fff;
    display: block;
    margin-right: 1.2rem;
    margin-bottom: -0.4rem;
    transition: 0.5s ease-out;
}

.contact_link_arrow::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0.8rem;
    height: 1px;
    background: #fff;
    transform-origin: right center;
    transform: rotate(40deg);
    transition: 0.5s ease-out;
}

.contact_link:hover {
    color: #90326D;
    background: #fff;
    border-color: #fff;
}

.contact_link:hover .contact_link_arrow {
    background: #90326D;
}

.contact_link:hover .contact_link_arrow::after {
    background: #90326D;
}

.instagram_link {
    width: 4rem;
    display: block;
    margin: auto;
}

.copyright {
    padding-top: 6rem;
    font-size: 1.6rem;
    color: #fff;
}

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

.main_container {
    overflow-x: hidden;
    padding-top: 14.8rem;
}

/*Slider*/
.top_main_slider {
    width: 100%;
    height: calc(100vh - 14.8rem);
}

/*Mission*/
.section_mission {
    padding-top: 18rem;
    padding-bottom: 12rem;
}

.section_heading img {
    width: auto;
    height: 7.6rem;
}

.mission_body {
    position: relative;
    width: 72rem;
    margin: auto;
}

.mission_midashi {
    position: absolute;
    top: -2.4rem;
    right: 0;
    width: 10rem;
}

.page_en .mission_midashi {
    position: relative;
    top: unset;
    right: unset;
    width: 100%;
    font-size: 4rem;
    line-height: 1.3;
    color: #90326d;
    font-weight: 600;
    padding-top: 10rem;
    margin-bottom: -8rem;
}

.mission_text {
    padding-top: 12.8rem;
    font-size: 2rem;
    line-height: 2;
}

.mission_text p + p {
    padding-top: 3.2rem;
}

/*Products*/

.section_products {
    padding-top: 12rem;
    padding-bottom: 12rem;
}

.section_heading_products {
    padding-bottom: 8rem;
}

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

.products_inner:nth-child(even) {
    flex-direction: row-reverse;
}

.page_en .products_inner {
    align-items: flex-start;
}

.products_inner + .products_inner {
    margin-top: 8rem;
}

.products_body {
    width: 45%;
}

.products_logo_text {
    font-size: 1.9rem;
    font-weight: 600;
    color: #90326d;
    padding-bottom: 1.4rem;
}

.products_logo {
    width: 27.8rem;
    padding-bottom: 3.2rem;
}

.products_midashi {
    font-size: 2.4rem;
    line-height: 1.6;
    font-weight: 600;
    padding-bottom: 2.8rem;
}

.products_text {
    font-size: 1.8rem;
    line-height: 1.8;
    text-align: justify;
    padding-bottom: 5rem;
}

.page_en .products_text {
    padding-bottom: 3.2rem;
}

.products_text_award {
    font-size: 1.6rem;
    line-height: 1.5;
    padding-bottom: 3.2rem;
}

.products_pdf {
    font-size: 1.8rem;
    text-decoration: underline;
    display: inline-block;
    margin-bottom: 5rem;
}

.products_link {
    width: 24rem;
}

#products-otowa .products_logo {
    width: 14rem;
    padding-bottom: 2.4rem;
}

#products-otowa .link_box {
    background: #A56D35;
    border-color: #A56D35;
}

#products-otowa .link_box:hover {
    color: #A56D35;
    background: none;
}

#products-otowa .link_box:hover .link_arrow,
#products-otowa .link_box:hover .link_arrow::after {
    background: #A56D35;
}

#products-gem .link_box {
    background: #482C11;
    border-color: #482C11;
}

#products-gem .link_box:hover {
    color: #482C11;
    background: none;
}

#products-gem .link_box:hover .link_arrow,
#products-gem .link_box:hover .link_arrow::after {
    background: #482C11;
}

.products_img {
    width: 44%;
}

/*Profile*/

.section_profile {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 12rem;
    padding-bottom: 10rem;
}

.profile_img {
    margin-left: calc(50% - 50vw);
    width: 50%;
}

.profile_body {
    width: 50%;
    padding-left: 4%;
}

.section_heading_profile {
    padding-bottom: 7.2rem;
}

.profile_name {
    font-size: 2.4rem;
    line-height: 1.3;
    font-weight: 600;
    color: #333;
    padding-bottom: 4.4rem;
}

.profile_text {
    font-size: 1.8rem;
    line-height: 1.75;
    text-align: justify;
    color: #333;
    padding-bottom: 4.4rem;
}

.profile_link {
    font-size: 1.6rem;
    color: #333;
}

.profile_link a {
    text-decoration: underline;
}

/*Overview*/

.section_overview {
    padding-top: 10rem;
    padding-bottom: 20rem;
}

.section_heading_overview {
    padding-bottom: 8rem;
}

.overview_list {
    width: 78%;
    margin: 0 auto;
    font-size: 1.8rem;
    line-height: 1.75;
    color: #333;
}

.overview_list dt {
    width: 30%;
    border-top: 1px solid #F1EBE0;
    padding-top: 2.4rem;
    margin-top: 2.4rem;
    padding-right: 5%;
}

.overview_list dd {
    width: 70%;
    border-top: 1px solid #F1EBE0;
    padding-top: 2.4rem;
    margin-top: 2.4rem;
    margin-left: 0;
}

.overview_list dt:first-of-type,
.overview_list dd:first-of-type {
    border-top: none;
}

/*News*/

.section_news {
    background-color: #f8f5ef;
    padding-top: 14rem;
    padding-bottom: 14rem;
}

.section_heading_news {
    width: 12rem;
    padding-bottom: 6rem;
}

.news_list {
    margin: 0 -3%;
}

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

.news_list_img {
    width: 100%;
    position: relative;
    overflow: hidden;
    margin: 0;
    margin-bottom: 2rem;
}

.news_list_img::before {
    content: "";
    display: block;
    padding-top: 70%;
}

.news_list_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    margin: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.news_list_link:hover .news_list_img:after {
    opacity: .15;
}

.news_list_img:after {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #90326D;
    opacity: 0;
    display: block;
    content: "";
    transition: 0.5s ease-out;
}

.news_list_category {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    content: '';
    background: #f8f5ef;
    padding: 0.6rem 0.8rem;
    font-size: 1.4rem;
    z-index: 2;
    letter-spacing: 0.02rem;
}

.news_list_date {
    font-size: 1.8rem;
    padding-bottom: 1.4rem;
}

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

.news_link_all {
    width: 24rem;
    margin: 4rem auto 0;
}

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

/*News*/
.page_header {
    padding-bottom: 4.8rem;
}

.news_header {
    justify-content: space-between;
    align-items: baseline;
}

.page_heading_news {
    width: 11rem;
}

.news_category_nav {
    width: calc(100% - 11rem);
    padding-left: 10%;
}

.news_category_list {
    justify-content: flex-end;
    font-size: 1.4rem;
}

.news_category_list_item + .news_category_list_item::before {
    content: '/';
    margin: 0 0 0 6px;
}

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

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

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

.wp-pagenavi a,
.wp-pagenavi span {
    font-size: 1.6rem;
    margin: 0 0.7rem;
    width: 4rem;
    height: 4rem;
    text-align: center;
    line-height: 3.8rem;
    color: #90326d;
}

.wp-pagenavi a {
    border: 1px solid #90326d;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    background: #90326d;
    color: #fff;
}

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


/*個別記事*/
.post_container {
    padding: 8rem 14% 8rem;
    background-color: #f8f5ef;
}

.news_post_header {
    padding-bottom: 6rem;
}

.news_post_date {
    text-align: right;
    font-size: 1.8rem;
    padding-bottom: 2.4rem;
}

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

.news_post_category {
    padding-top: 2rem;
    font-size: 1.4rem;
}

.news_post_category span {
    font-size: 1.6rem;
    padding-right: .6rem;
}

.post_body {
    font-size: 1.6rem;
    line-height: 1.8;
}

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

.post_body h2 {
    font-size: 3.2rem;
    line-height: 1.5;
    margin-top: 8rem;
}

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

.related_post_container {
    padding-top: 10rem;
}

.related_post_heading {
    font-size: 2.8rem;
    padding-bottom: 6rem;
    text-align: center;
    color: #90326d;
}


/*Contact*/
.page_heading_contact {
    width: 16.5rem;
}

.contact_intro_text {
    font-size: 1.6rem;
    line-height: 2;
    padding-bottom: 6rem;
}

.form_item + .form_item {
    padding-top: 4rem;
}

.form_title {
    font-size: 1.8rem;
    line-height: 2;
    padding-bottom: 1.2rem;
}

.form_title span {
    color: #90326d;
    font-size: 1.3rem;
    padding-left: 1.6rem;
}

.form_box input,
.form_box textarea {
    font-size: 1.6rem;
    line-height: 2;
    width: 100%;
    background: #fff;
    padding: .6rem 1.2rem;
    letter-spacing: 0.07rem;
}

.wpcf7-list-item.first {
    margin: 0;
}

.wpcf7-list-item-label {
    cursor: pointer;
    display: flex;
    align-items: center;
    font-size: 1.6rem;
}

.wpcf7-list-item {
    margin-left: 2.4rem !important;
}

/* デフォルトのボタン */
input[type="radio"] {
    opacity: 0;
    /* デフォルトのボタンを非表示 */
    position: absolute;
}

/* チェック前のボタン */
.wpcf7-list-item-label::before {
    background: #fff;
    border: 1px solid #90326d;
    border-radius: 100%;
    /* ラジオボタンっぽく丸くする */
    content: "";
    width: 20px;
    height: 20px;
    margin-bottom: auto;
    margin-right: .5em;
    margin-top: auto;
    transition: background-color .5s;
    /* 色をじんわり変化させる */
}

/* チェック後のボタン */
input[type="radio"]:checked + .wpcf7-list-item-label::before {
    background-color: #90326d;
    /* チェック後の中心の色 */
    box-shadow: inset 0 0 0 5px #fff;
    /* 中心の色のスタイル */
}

.wpcf7-submit {
    width: 24rem;
    height: 6.4rem;
    background: #90326D;
    color: #fff;
    justify-content: center;
    align-items: center;
    font-size: 2.2rem;
    border: 1px solid #90326D;
    margin: 8rem auto 0;
    display: block;
}

.wpcf7-submit:hover {
    color: #90326D;
    background: none;
}

.wpcf7-not-valid-tip {
    font-size: 1.5rem !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: #333;
    font-size: 1.8rem;
    line-height: 1.5;
    text-align: center;
}

.recaptcha_text {
    margin-top: 6rem;
    color: #aaa;
    font-size: 1.2rem;
    line-height: 1.5;
    text-align: justify;
}

.recaptcha_text a {
    color: #aaa;
}

.grecaptcha-badge {
    visibility: hidden;
}



/*404*/
.error_intro_title {
    font-size: 2.6rem;
    line-height: 1.5;
    text-align: center;
    padding-bottom: 6rem;
}

.error_link_top {
    width: 28rem;
    margin: auto;
}





/*モーダル*/
.overlay {
    display: none;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    position: fixed;
    z-index: 9999;
}

.btn_area {
    width: 400px;
    max-width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 10000;
}

.btn_area button {
    position: absolute;
    bottom: -6.4rem;
    left: 0;
    right: 0;
    display: block;
    margin: 0 auto;
    background: transparent;
    color: #fff;
    padding: 2rem 1.2rem;
    border: none;
    font-size: 2.4rem
}

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

PCのみ

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

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

@media screen and (min-width: 1500px) {
    .profile_img {
        width: 60%;
    }

    .profile_body {
        padding-left: 0;
    }
}

@media screen and (max-width: 1299px) and (min-width: 1040px) {
    html {
        font-size: 58%;
    }
}


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

    .wrapper {
        width: 88%;
    }

    .profile_body {
        width: 54%;
    }
}

@media screen and (max-width: 899px) and (min-width: 768px) {
    html {
        font-size: 54%;
    }

    .wrapper {
        width: 92%;
    }

    .section_profile {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .profile_body {
        width: 52%;
    }
}

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

スマートフォンのみ

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


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

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

    .display_pc {
        display: none !important;
    }


    /*link*/

    .link_box {
        height: 5.4rem;
        font-size: 1.6rem;
    }

    .link_arrow {
        width: 3rem;
        margin-right: 1rem;
    }

    .link_arrow::after {
        width: 0.7rem;
    }

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

    .main_header {
        position: absolute;
    }

    body.home .is-show.main_header {
        opacity: 0;
    }

    .main_header_inner {
        position: relative;
        padding-top: 2.1rem;
        padding-bottom: 2rem;
    }

    .header_logo {
        width: 20rem;
        margin: 0 auto 0;
    }

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

    .drawer-hamburger {
        position: fixed;
        top: 0;
        right: 4%;
        width: 4rem;
        height: 2rem;
        margin-top: 2.2rem;
        z-index: 999;
        padding: 0;
    }

    .drawer-hamburger-icon,
    .drawer-hamburger-icon:after,
    .drawer-hamburger-icon:before {
        transition: all .3s cubic-bezier(.19, 1, .22, 1);
    }

    .drawer-hamburger-icon {
        position: relative;
        display: block;
        width: 100% !important;
        height: 1px;
        margin-top: 0 !important;
        background-color: transparent;
    }

    .drawer-hamburger-icon:after,
    .drawer-hamburger-icon:before {
        position: absolute;
        content: " ";
        height: 1px;
        width: 100% !important;
        background-color: #90326d;
        left: 0;
        right: 0;
        margin: auto;
    }

    .drawer-hamburger-icon:before {
        top: -.6rem !important;
    }

    .drawer-hamburger-icon:after {
        top: .6rem !important;
    }

    .is-opened .drawer-hamburger-icon:before {
        transform: rotate(30deg);
        top: 0 !important;
    }

    .is-opened .drawer-hamburger-icon:after {
        transform: rotate(-30deg);
        top: 0 !important;
    }

    .drawer-nav {
        background: #fff;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        position: fixed;
        top: 0;
        right: -100%;
        z-index: 100;
        overflow-y: scroll;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        max-height: 100%;
        transition: right .3s ease-in-out;
        -webkit-overflow-scrolling: touch;
    }

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

    .drawer_inner {
        position: relative;
        min-height: 100vh;
        min-height: 100dvh;
        padding-top: 3rem;
        padding-bottom: 5rem;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .drawer_lang_nav {
        position: absolute;
        left: 2rem;
        top: 2.2rem;
        font-size: 1.3rem;
        color: #90326d;
    }

    .drawer_logo {
        width: 56%;
        padding-bottom: 2.8rem;
    }

    .drawer_nav .main_nav_list {
        flex-direction: column;
        padding-bottom: 3.6rem;
        text-align: center;
    }

    .drawer_nav .main_nav_item + .main_nav_item {
        padding-top: 2rem;
    }

    .drawer_nav .main_nav_link {
        font-size: 1.9rem;
        color: #90326d;
    }

    .drawer_shop_link {
        width: 64%;
        height: 4.4rem;
        background: #90326d;
        color: #fff;
        justify-content: center;
        align-items: center;
    }

    .drawer_shop_link:hover {
        background: #77295a
    }

    .drawer_shop_link img {
        width: 1.8rem;
        margin-right: .6rem;
    }

    .drawer_shop_link span {
        font-size: 1.7rem;
        text-transform: capitalize;
    }



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

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

    .footer_logo {
        width: 15rem;
    }

    .contact_link {
        width: 70%;
        height: 6rem;
        font-size: 1.8rem;
        margin: 4rem auto 4rem;
        line-height: 5.4rem;
    }

    .contact_link_arrow {
        width: 2.8rem;
        margin-right: 1rem;
    }

    .contact_link_arrow::after {
        width: 0.7rem;
    }

    .instagram_link {
        width: 3rem;
    }

    .copyright {
        padding-top: 4.8rem;
        font-size: 1.2rem;
    }

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

    .main_container {
        padding-top: 6.6rem;
    }

    /*Slider*/
    .top_main_slider {
        height: calc(100vh - 6.6rem);
    }

    /*Mission*/
    .section_mission {
        padding-top: 8rem;
        padding-bottom: 10rem;
    }

    .section_heading img {
        height: 4.8rem;
    }

    .mission_body {
        width: 100%;
    }

    .mission_midashi {
        top: 5.6rem;
        width: 6.4rem;
        right: 0;
        left: 0;
        margin: auto;
    }

    .page_en .mission_midashi {
        font-size: 2.2rem;
        padding-top: 4rem;
        margin-bottom: 2.8rem;
    }

    .mission_text {
        padding-top: 32rem;
        font-size: 1.5rem;
    }

    .page_en .mission_text {
        padding-top: 0;
        font-size: 1.6rem;
    }

    .mission_text p + p {
        padding-top: 2.4rem;
    }

    /*Products*/
    .section_products {
        padding-top: 0;
        padding-bottom: 10rem;
    }

    .section_heading_products {
        padding-bottom: 4rem;
    }

    .products_inner,
    .products_inner:nth-child(even) {
        flex-direction: column-reverse;
    }

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

    .products_body {
        width: 100%;
        text-align: center;
    }

    .products_logo {
        width: 64%;
        padding-bottom: 2.4rem;
    }

    .products_midashi {
        font-size: 2rem;
        padding-bottom: 2rem;
    }

    .products_text {
        font-size: 1.5rem;
        padding-bottom: 3.2rem;
    }

    .products_link {
        width: 70%;
        height: 6rem;
        font-size: 1.6rem;
    }

    .products_link_arrow {
        width: 2.8rem;
        margin-right: 1rem;
    }

    .products_img {
        width: 100%;
        padding-bottom: 4.8rem;
    }

    #products-otowa .products_img {
        padding-bottom: 3.6rem;
    }


    /*Profile*/

    .section_profile {
        padding-top: 0;
        padding-bottom: 10rem;
        flex-direction: column-reverse;
    }

    .profile_img {
        width: calc(100% + 2.4rem);
        margin-left: 0;
        margin-right: calc(50% - 50vw);
        padding-top: 6rem;
    }

    .profile_body {
        width: 100%;
        padding-left: 0;
    }

    .section_heading_profile {
        padding-bottom: 5rem;
    }

    .profile_name {
        font-size: 2rem;
        padding-bottom: 2.8rem;
    }

    .profile_text {
        font-size: 1.4rem;
        padding-bottom: 2.8rem;
    }

    .profile_link {
        font-size: 1.3rem;
    }


    /*Overview*/

    .section_overview {
        padding-top: 0;
        padding-bottom: 10rem;
    }

    .section_heading_overview {
        padding-bottom: 4rem;
    }

    .overview_list {
        width: 100%;
        font-size: 1.3rem;
    }

    .overview_list dt {
        width: 30%;
        padding-top: 1.6rem;
        margin-top: 1.6rem;
        padding-right: 3%;
    }

    .overview_list dd {
        width: 70%;
        padding-top: 1.6rem;
        margin-top: 1.6rem;
    }

    .page_en .overview_list dd {
        font-size: 1.4rem;
    }

    /*News*/

    .section_news {
        padding-top: 8rem;
        padding-bottom: 10rem;
    }

    .section_heading_news {
        width: 8.4rem;
        padding-bottom: 4rem;
    }

    .news_list {
        margin: 0 -2.4%;
    }

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

    .news_list_img {
        margin-bottom: 1.2rem;
    }

    .news_list_category {
        padding: 0.2rem 0.4rem 0.3rem;
        font-size: 1.1rem;
    }

    .news_list_date {
        font-size: 1.4rem;
        padding-bottom: .8rem;
    }

    .news_list_title {
        font-size: 1.4rem;
    }

    .news_link_all {
        width: 68%;
        margin: 2.4rem auto 0;
    }



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

    /*News*/
    .page_header {
        padding-bottom: 2.8rem;
    }

    .page_heading_news {
        width: 7.7rem;
    }

    .news_category_nav {
        width: 100%;
        padding-left: 0;
        padding-top: 1rem;
    }

    .news_category_list {
        justify-content: flex-start;
        font-size: 1.2rem;
    }

    .news_category_list_item + .news_category_list_item::before {
        margin: 0 -2px 0 3px;
    }

    .no_article_text {
        font-size: 1.4rem;
    }

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

    .wp-pagenavi {
        margin-top: 4.8rem;
    }

    .wp-pagenavi a,
    .wp-pagenavi span {
        font-size: 1.4rem;
        margin: 0 0.4rem;
        width: 3.3rem;
        height: 3.3rem;
        line-height: 3rem;
    }


    /*個別記事*/
    .post_container {
        padding: 2.4rem 2rem 4rem;
    }

    .news_post_header {
        padding-bottom: 3.2rem;
    }

    .news_post_date {
        text-align: right;
        font-size: 1.5rem;
        padding-bottom: 1.6rem;
    }

    .news_post_title {
        font-size: 2rem;
    }

    .news_post_category {
        padding-top: 1.4rem;
        font-size: 1.3rem;
    }

    .news_post_category span {
        font-size: 1.4rem;
        padding-right: .4rem;
    }

    .post_body {
        font-size: 1.4rem;
    }

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

    .post_body h2 {
        font-size: 2rem;
        margin-top: 5.2rem;
    }

    .related_post_container {
        padding-top: 6rem;
    }

    .related_post_heading {
        font-size: 2.2rem;
        padding-bottom: 3.6rem;
    }



    /*Contact*/
    .page_heading_contact {
        width: 11.2rem;
    }

    .contact_intro_text {
        font-size: 1.4rem;
        padding-bottom: 3.2rem;
    }

    .form_item + .form_item {
        padding-top: 2.8em;
    }

    .form_title {
        font-size: 1.5rem;
        padding-bottom: .8rem;
    }

    .form_title span {
        font-size: 1.2rem;
        padding-left: .6rem;
    }

    .form_box input,
    .form_box textarea {
        font-size: 1.4rem;
        padding: .5rem 1rem;
    }

    .wpcf7-list-item-label {
        font-size: 1.4rem;
    }

    .wpcf7-list-item {
        margin-left: 1.6rem !important;
    }

    /* チェック前のボタン */
    .wpcf7-list-item-label::before {
        width: 16px;
        height: 16px;
    }

    /* チェック後のボタン */
    input[type="radio"]:checked + .wpcf7-list-item-label::before {
        box-shadow: inset 0 0 0 4px #fff;
        /* 中心の色のスタイル */
    }

    .wpcf7-submit {
        width: 72%;
        height: 5.4rem;
        font-size: 1.8rem;
        margin: 5rem auto 0;
    }

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

    .wpcf7-acceptance {
        font-size: 1.4rem;
        line-height: 1.5;
        margin: 0 auto 4.8rem;
    }

    .wpcf7-response-output {
        margin: 2.4em 0 0 !important;
        padding: 1.2rem 1rem !important;
        font-size: 1.4rem;
    }

    .recaptcha_text {
        margin-top: 4rem;
        font-size: 1.1rem;
    }


    /*404*/
    .error_intro_title {
        font-size: 1.8rem;
        padding-bottom: 4rem;
    }

    .error_link_top {
        width: 72%;
    }



    /*モーダル*/
    .btn_area button {
        font-size: 1.8rem
    }


}

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