@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

:root {
    --accent-light-1: #F5B3B0;
    --accent-light-2: #FAD9D7;
    --mix-bg: #F9FCF8;
    --accent-color: #EB6761;
    --mix-light-2: #E3F0DE;
    --mix-light-1: #BBDCB1;
    --mix-color: #8EC57D;
    --mix-dark: #477F33;
    --sub-bg: #FEFCEE;
    --sub-light-2: #FDF6D6;
    --sub-light-1: #FCEEAC;
    --sub-color: #F9DD5A;
    --sub-dark: #C1A017;
    --accent-light-3: #FDEBEA;
    --accent-bg: #FEF7F7;
    --accent-dark-3: #D15C56;
    --accent-dark-2: #AD4D48;
    --accent-dark-1: #8C3E3A;
    --main-bg: #F4FBFA;
    --main-light-3: #E2F4F3;
    --main-light-2: #C8EAE7;
    --main-light-1: #90D5D0;
    --main-color: #22ACA1;
    --main-dark-3: #1A8C83;
    --main-dark-2: #16736B;
    --main-dark-1: #105953;
    --unnamed-color-f8f8f8: #F8F8F8;
    --unnamed-color-f3a25e: #F3A25E;
    --unnamed-color-ee8083: #EE8083;
    --unnamed-color-8c3e3acb: #8C3E3ACB;
    --text-color: #333333;
    --mix-light-2-c7e6cd: #C7E6CD;
    --font-lato: "Lato", "Helvetica Neue", "Open Sans", Arial, "Noto Sans JP", sans-serif;
    --material-symbols: "material symbols outlined";
}

body {
    font-family: "Helvetica Neue", Helvetica, Arial, "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "ＭＳ ゴシック", sans-serif;

}


.page > [class*="-page-wrap"] {
    display: contents !important;
}

:root :where(#content) :where(.post) > section:not([class$="-page-wrap"]):not(:first-child),
:root :where(#content) :where(.post) > [class*="-page-wrap"] > .wp-block-group__inner-container > section:not(:first-child) {
    margin-top: 5rem;
}

a {
    overflow-wrap: break-word;
}

@media screen and (min-width: 641px) {
    .post {
        padding: 0;
    }

}


@media only screen and (min-width:641px) {
    .sp {
        display: none;
    }
}
@media only screen and (max-width:640px) {
    .pc {
        display: none;
    }
}

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

共通

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

#main_col > section {
    margin-bottom: 3em;
}

#main_col p,
figcaption {
    letter-spacing: 0;
}


section > .wp-block-group__inner-container > h2 + * {
    margin: 0 15px 15px 15px;
}
h2,h3{
    font-family: var(--font-lato);
}
:where(h2) {
    background: #fff !important;
    color: var(--main-dark-2) !important;
    border-left: 7px solid var(--main-color);
    border-bottom: 2px solid var(--main-color);
    font-size: 18px;
    line-height: 1.5;
    /* line-height: 42px; */
    padding: 5px 15px;
    font-weight: 800;
}

:where(h3) {
    color: var(--main-dark-2) !important;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: .5rem;
    border-bottom: 2px dotted var(--main-light-2);
    padding-bottom: 3px;
}

:where(h3):before {
    content: '';
    display: block;
    width: 19px;
    height: 21px;
    background: url(img/common/rubik.png) no-repeat center / contain;
    flex-shrink: 0;
}

:where(#main_col) section .wp-block-group__inner-container > h3 {
    margin-top: 2.5em;
    line-height: 1.3;
    align-items: flex-start;
}

:where(#main_col) section .wp-block-group__inner-container > h3:first-child {
    margin-top: 1em;
}

.page_navi a {
    font-size: 14px;
}

.archive .title a {
    font-size: 16px;
}

@media (max-width: 640px) {
    .home #contents {
        margin-top: 2rem;
    }
}

@media screen and (max-width: 640px) {
    #main_col .headline1,
    .headline2,
    .headline3 {
        height: auto;
    }

}

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

全体カラー

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

/*----------------------------------
テキスト
----------------------------------*/
body .date {
    color: var(--accent-color);
}
body .title a {
    color: var(--main-dark-3);
}

/*----------------------------------
ヘッダ
----------------------------------*/
#desc_fit {
    display: flex;
    align-items: center;
}
#site_description {
    font-size: 17px;
    position: static;
}

#desc_wrap {
    background: var(--main-color);
}

@media screen and (max-width: 639px) {
    #header {
        background: var(--main-color);
    }
    #site_description {
        margin-top: 6px;
        display: block;
        font-size: 15px;
        letter-spacing: .5px;
        padding-left: 1em;
    }
}


/*----------------------------------
ヘッダロゴ背景
----------------------------------*/
@media screen and (max-width: 639px) {
    #header_wrap {
        background: var(--main-color);
    }
    #header_wrap #desc_wrap {
        color: #fff;
        position: absolute;
        left: 0;
        top: 0;
        width: calc(100% - 100px);
        background: transparent;
    }

}

/*----------------------------------
ヘッダーロゴ　640×100の画像を使用した場合
----------------------------------*/
#logo {
    width: 55%;
    height: 100%;
}

#logo a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;

}

#logo img {
    margin: 0;
    max-height: 110px;
    width: auto;
}

@media screen and (max-width: 639px) {
    #logo_sm {
        width: 100%;
        margin: 0 auto;
        padding: 20px 0 0 0;
    }

    #logo_sm img {
        width: 60%;
    }

    #logo_sm .logo-text {
        display: none;
    }

    .header_banner_wrapper.sm .header_banner {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }

    .header_banner_wrapper.sm .header_banner {
        text-align: right;
    }
    .header_banner_wrapper.sm .header_banner .barb_text_banner {
        width: 60% !important;
        flex-shrink: 0;
    }
    .header_banner_wrapper.sm .header_banner > div:first-child {
        text-align: right;
    }

    .header_banner_wrapper.sm .text_header_banner {
        margin-top: 0;
    }
}


/*----------------------------------
ヘッタ、フッタ
「お問合せ」ボタンの調整
----------------------------------*/
#header .header_banner .banner_row {
    width: 164px;
}

.barb_text_banner {
    width: 100% !important;
    font-weight: bold;
}

#header .barb_text_banner .fa-envelope-o:before {
    font-size: 1.3em;
}

#header .barb_text_banner a {
    display: flex;
    justify-content: center;
    align-items: center;
}

#menu-footer-second .lang a:before {
    font: normal normal normal 16px/1 FontAwesome;
    content: "\f0a9";
    padding-right: .3em;
}

@media screen and (max-width: 640px) {
    .header_banner > div:first-child,
    .header_banner > div:last-child {
        float: none;
    }
    .header_banner>div {
        margin: .5rem auto;
        max-width: 280px;
        width: 60%;
    }
    #footer .header_banner > div {        
        width: 50%;
        display: block;
        margin: auto;
    }
}
/*----------------------------------
ヘッダ
言語切替用調整
----------------------------------*/
.header_banner .banner_row > div:first-child,
.header_banner .banner_row > div:nth-child(2){
    float:none;
    width: 100%;
}
.header_banner .banner_row > div:first-child{
    font-size: 0.875rem;
    font-weight: 600;
    margin-top: 0;
    height: unset;
    margin-bottom: .75rem;
}
.language-switcher{
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    line-height: 1;
    overflow: hidden;
}
.language-switcher::before{
    content: "";
    width: 16px;
    height: 16px;
    margin-bottom: 1px;
    background: url(img/common/icon-globe.svg) no-repeat;
    display: inline-block;
    
}
.language-switcher a{
    display: inline-block;
    padding: 1px 0 2px;
    margin-right: -0.08rem;
    box-sizing: border-box;
    color: var(--main-dark-2) !important;
}

.language-switcher a:hover{
    border-bottom: 0;
    padding-bottom: 1px;
    color: var(--main-color);
    border-bottom: 1px solid var(--main-color);
}

#header .header_banner{
    margin-top: 1rem;
}

@media (max-width: 640px) {
    .header_banner > div:first-child {
        border: none;
    }
    .language-switcher {
        justify-content: center;
    }
}

/*----------------------------------
フッタ
----------------------------------*/

#footer .header_banner .text_row {
    width: 100%;
}

#footer .header_banner .text_row .textwidget {
    height: auto;
}

#footer .line-banner {
    margin-top: 50px;
    margin-bottom: 30px;
}

#footer .line-banner img {
    width: 100%;
}


#footer .line-banner.sm {
    max-width: 90%;
    margin: 0 auto 50px auto;
}

@media (min-width: 641px) {
    #footer {
        display: flex;
        justify-content: space-between;
        column-gap: 10em;
    }

    #footer .footer_menu_wrap {
        width: auto !important;
    }
}


/*----------------------------------
フッタロゴ
----------------------------------*/
#footer .footer_logo img {
    width: 330px;
}

#footer .header_banner {
    margin-top: 20px;
}



/*----------------------------------
グローバルメニュー
----------------------------------*/
#global_menu li a {
    font-size: 16px;
}

#global_menu .menu > .menu-item {
    width: auto !important;
    flex-grow: 1;
}

#global_menu .menu > li:nth-child(2) > a {
    letter-spacing: -1px;
}

#global_menu ul ul a {
    font-size: 15px;
}

@media screen and (min-width: 641px) {
    #menu_wrap {
        background: #fff;
        border-top: 2px solid #21ACA1;
        /*区切り線 上下*/
        border-bottom: 2px solid #21ACA1;
    }

    #global_menu {
        border-right: 1px solid var(--main-light-2);
        /*区切り線右*/
        height: 48px;
        /* 下隙間の調整*/
    }
    #global_menu .menu {
        display: flex;
        justify-content: space-between;
        gap: 0;
    }
    #global_menu li {
        letter-spacing: normal;
    }

    #global_menu li a {
        border-left: 1px solid var(--main-light-2);
        /*区切り線左*/
        background: #fff;
        /*ボタン背景色*/
        color: #09978b;
        /*文字色*/
        height: 48px;
        /* 下隙間の調整*/
        line-height: 48px;
        /* 下隙間の調整*/
        font-size: 17px;
    }

    #global_menu li a:hover {
        background: var(--main-color);
        color: var(--mix-bg);
    }

    #global_menu > .menu > .menu-item {
        position: static;
    }
    #global_menu > .menu .sub-menu {
        position: relative;
        width: 260px;
        top: 0;
    }
    #global_menu > .menu .sub-menu > .menu-item {
        width: 100% !important;
    }

    #global_menu .menu-item.menu-item-has-children .icon {
        display: none;
        opacity: 0;
    }

    #global_menu ul ul a {
        line-height: 1.5 !important;
    }


}


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

    /**** 折りたたみメニュー ****/

    /**** メニューボタン ****/
    #header a.menu_button {
        color: #fff;
        border: 1px solid #fff;
        background: var(--primary-dark1);
    }

    #header a.menu_button:hover {
        background: var(--primary-dark1);
    }

    /**** グローバルメニュー ****/

    #global_menu li a {
        border-color: #999;
        background: #fff url(./img/arrow4.png) no-repeat 20px;
        color: #444;
        line-height: 1.3;
        padding-top: 1em;
        padding-bottom: 1em;
        letter-spacing: 0 !important;
    }

    #global_menu li a:hover {
        color: #444;
        background: var(--primary-bg) url(./img/arrow4.png) no-repeat 20px;
    }

    #global_menu ul ul a {
        background: #ddd url(img/common/arrow4.png) no-repeat 34px;
    }

    #global_menu .sub-menu {
        display: none !important;
    }

    #global_menu .sub-menu.show {
        display: block !important;
        opacity: 1;
        animation: fadeIn .3s linear 0s forwards;
    }

    #global_menu .menu-item {
        position: relative;
    }

    #global_menu .menu-item.menu-item-has-children .icon {
        position: absolute;
        top: .85em;
        transform: translateY(-50%);
        font-size: 1.5em;
        right: 10px;
        padding: 5px 10px;
        border: 1px solid #ccc;
        border-radius: 3px;
        z-index: 99;

    }
}

@keyframes fadeIn {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}


/*----------------------------------
サイドナビ
----------------------------------*/
#side_col,
#side_col a {
    font-size: 16px;
    letter-spacing: -.5px;
}

#side_col .side-expo-banner {
    margin-bottom: 50px;
}

#side_col .side-expo-banner img {
    box-shadow: 0 0 15px #999;
}

.side-links {
    padding: 24px 14px;
    border: 1px solid var(--main-light-2);
}

.side-links h3 {
    font-weight: normal;
    font-size: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.side-links h3 a {
    text-decoration: none;
}

.side-links h3:after {
    font-family: FontAwesome;
    content: "\f138";
    color: var(--main-dark-2);
}

.side-links ul {
    list-style: none;
    margin: 12px 0 0 6px;
    padding-left: 12px;
    border-left: 1px solid var(--main-dark-2);
    font-size: 14px;
}

.side-links ul li {
    margin-top: .4em;
}

.side-links > .wp-block-group__inner-container > .wp-block-group:nth-child(n+2) {
    margin-top: 44px;
}


/*----------------------------------
電話番号・お問い合わせ
----------------------------------*/
.header_banner .banner_row .barb_text_banner {
    border: 2px solid var(--main-light-1);
}

/*枠線*/


@media screen and (min-width: 641px) {
    #header .header_banner {
        /*margin-top: 0; 住所が3行の場合　*/
    }

}

@media screen and (max-width: 640px) {
    .header_banner>div {
        border: 2px solid #9BB780;
    }

    /*枠線　*/

}


/*----------------------------------
イメージロールオーバー
----------------------------------*/
#recommend_gallery img {
    display: block;
    max-width: 100%;
}


/*----------------------------------
ピックアップ
----------------------------------*/

#index_pickup h3.headline1 {
    /*ピックアップヘッダ*/
    color: #fff !important;
    background: #008d9d;
    letter-spacing: 0.15rem;
    font-size: 17px;
}
#index_pickup{
    border: 1px solid var(--mix-light-2-c7e6cd);
}
#index_pickup .link {
    background: none;
    color: var(--main-dark-3);
    margin-left: 15px;
    padding-left: 0;
}

#index_pickup a.image:hover img {
    width: 100%;
}

@media screen and (min-width: 641px) {
    #index_pickup a.image img {
        aspect-ratio: 3 / 2;
        object-fit: cover;
    }
}

/*----------------------------------
フッター
----------------------------------*/
#footer_wrap {
    background: var(--main-bg);
    /*フッダー背景色*/
}

#footer #footer_left {
    width: 340px;
}

#footer #footer_left .text_row {
    font-size: 16px;
    margin-top: 1em;
    text-align: center;
}

#footer .footer_menu_wrap {
    width: 590px;
    max-width: 100%;
}

#footer .footer_menu {
    width: 100%;
}

#footer .footer_menu {
    text-align: left;
}

#footer .footer_menu ul.sub-menu li {
    position: relative;
}

#footer .footer_menu ul.sub-menu li:before {
    display: block;
    position: absolute;
    content: "└";
    left: -15px;
}

#footer .footer_menu > div > ul > li > a {
    font-size: 16px;
}

#footer .footer_menu ul.sub-menu li a {
    font-size: 15px;
}

#footer .footer_menu > div > ul > li {
    margin-bottom: 20px;
}

#footer .footer_menu > div > ul > li > a {
    display: inline-block;
    margin-bottom: 8px;
}

.menu-footer-second-container {
    margin-top: 6em;
}

#menu-footer-second {
    display: flex;
    column-gap: 2em;
    flex-wrap: wrap;
}

#menu-footer-second .english a:before {
    font: normal normal normal 16px/1 FontAwesome;
    content: "\f0a9";
    padding-right: .3em;
}

@media screen and (min-width: 641px) {
    #footer .footer_menu ul.sub-menu li {
        margin-top: 4px;
    }

    #footer .footer_menu ul.sub-menu li:first-child {
        margin-top: 4px;
    }


    #footer .footer_menu ul.sub-menu li a {
        border-bottom: none;
    }
}

@media screen and (max-width: 640px) {
    #footer_wrap {
        background: var(--primary-bg2);
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    #footer .footer_menu a {
        letter-spacing: 0;
    }
    #footer .footer_menu {
        grid-template-columns: 40% 40%;
        row-gap: 30px;
    }

    #footer .footer_menu .menu-footer-second-container {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    #footer .footer_menu ul ul.sub-menu {
        margin: 10px 0 0 0 !important;
        padding: 0 0 0 1.3em;
    }

    #footer .footer_menu_wrap,
    #footer .footer_menu ul li:nth-child(n+11) {
        width: 100%;
    }

    #footer .footer_menu ul.menu {
        -webkit-column-count: initial;
        -moz-column-count: initial;
        column-count: initial;
    }

    #footer .footer_menu ul li:nth-child(n+1):nth-child(-n+7) {
        width: 100%;
    }

    #footer .footer_menu ul.sub-menu li:before {
        display: none;
    }

    .menu-footer-second-container {
        margin-top: 0;
    }

    #menu-footer-second {
        flex-direction: column;
        gap: 0;
    }
}

#footer {
    color: var(--color-txt);
    /*フッダーテキストカラー*/
}

/*.footer_headline {
    background: #0985E5;
    color: #333;}*/

#footer li a,
#footer li a:visited {
    color: var(--color-txt);
    border-bottom: 1px dotted #666;
}

#footer li a:hover {
    color: #999;
}

#copyright {
    background: var(--primary-dark1);
    /*コピーライト背景*/
    color: #fff;
    /*コピーライトテキスト*/
}

#copyright a {
    color: #fff;
    /*コピーライトリンクテキスト*/
}



/*----------------------------------
テキストリンクカラー
----------------------------------*/
a,
a:visited {
    color: var(--main-dark-2);
}

a:hover {
    color: var(--main-dark-3);
}

/* 外部リンク */
#main_col a[target="_blank"]:not(:has(*))::after {
    font-family: 'FontAwesome';
    content: '\f08e';
    font-size: 0.95em;
    padding-left: .3em;
    text-decoration: none;
    display: inline-block;
}
/*----------------------------------
ページナビ
----------------------------------*/
.page_navi a {
    /*** テキスト、ボタン色 **/
    color: #fff;
    background: var(--color-txt);
}

.page_navi a:hover {
    /*** ロールオーバーボタン色 **/
    background: #990000;
}




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

下層レイアウト

************************************/
/*----------------------------------
下層段落枠　※変更不可
----------------------------------*/
@media only screen and (min-width:641px) {
    #under {
        overflow: hidden;
        margin: 0 0 -40px 0;
    }

    /*下層の空調整*/
}


@media only screen and (max-width:640px) {
    #under {
        overflow: hidden;
        margin: 10px 0 0 0;
    }

    /*下層の空調整*/
}

.under_contents {
    width: 100%;
    margin: 0 0 50px 0;
    clear: both;
    overflow: hidden;
    line-height: 1.7;
}


p {
    margin: 0 0 1em 0;
    padding: 0;
    line-height: 1.7;
}



/*----------------------------------
テーブル設定　※変更不可　色とthの％は変更又は上書き可
----------------------------------*/
/*** table 元スタイル打消し ****/
.post table {
    border: none;
    margin: 0;
}

.post td,
.post th {
    border: none;
    padding: 0;
}

.post th {
    background: #eee;
    font-weight:
        /*normal*/
        bold;
}

@media only screen and (max-width:480px) {
    tbody tr {
        display: table-row;
        /******/
        margin-bottom: 0;
    }

    tbody th,
    tbody td {
        display: table-cell;
        list-style-type: none;
        border: none;
    }
}


/*******  テーブル再設定　*******/
.under_contents table {
    width: 100%;
    border-collapse: inherit;
    border-spacing: 0;
    border-top: 1px solid #c1c1c1;
    border-left: 1px solid #c1c1c1;
}

.under_contents table td,
.under_contents table th {
    border-right: 1px solid #c1c1c1;
    border-bottom: 1px solid #c1c1c1;
    padding: 10px;
    /*white-space: nowrap;*/
}

.under_contents table th {
    width: 30%;
}

.under_contents table td span {
    padding: 0 0 0 0;
}


@media only screen and (max-width:480px) {
    .under_contents table {
        font-size: 12px;
        line-height: 1.7;
    }

}


/*----------------------------------
テーブル設定　レスポンシブ基本ソース
----------------------------------*/
/**** 
レスポンシブしたいtableの外側に
<div class="ph_responsive">を入れてください
****/

@media only screen and (max-width:640px) {
    .ph_responsive {
        margin: 0 0 -20px 0;
    }

    .ph_responsive table {
        border: none;
    }

    .ph_responsive table th,
    .ph_responsive table td {
        width: 100%;
        display: inline-block;
        border-right: none;
        text-align: left;
        font-size: 14px;
    }

    .ph_responsive table th {
        border-bottom: 2px dotted var(--color-txt);
        padding: 5px 0;
        font-weight: bold;
        background: #fff;
    }

    .ph_responsive table th:before {
        /*** アイコンが必要な場合　***/
        content: "\f00c";
        font-family: FontAwesome;
        color: var(--color-txt);
        padding: 0 5px 0 0;
    }

    .ph_responsive table td {
        border-bottom: none;
        padding: 10px 0 20px 0;
    }

}





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

ページレイアウト

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

/*----------------------------------
固定ページ 下層hタイトル　必要に応じてh4の追加など
----------------------------------*/
/*h3装飾*/

.under_contents h3 {
    color: var(--primary-dark2);
    margin: 0 0 10px 0;
    padding: 0 0 3px 0;
    font-size: 18px;
}

.under_contents h3:after {
    content: "";
    display: block;
    height: 3px;
    width: 100%;
    background-size: 2px 3px, 100% 2px;
    background-image: linear-gradient(90deg, transparent, transparent 50%, #fff 50%, #fff 100%), linear-gradient(90deg, var(--primary-light2), var(--mix-light1), var(--primary-light2));
}

.under_contents h3:before {
    /* content: "\f004"; */
    content: "\f06c";
    font-family: FontAwesome;
    color: var(--mix-color);
    padding: 0 8px 0 3px;
}

#main_col .headline1, h3.headline2 {
    font-size: 18px;
}

/*h4装飾*/
.under_contents h4 {
    font-size: 16px;
    color: var(--primary-dark1);
    border-left: 5px solid var(--primary-color);
    padding: 6px 6px 6px 10px;
    margin: 0 0 8px 0;
}


/*ul 打ち消し*/
.under_contents ul {
    margin: 0;
}

.post .under_contents li {
    line-height: 1.7;
    background: url(./img/bullet1.gif) no-repeat left 9px;
}


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

    /* SPで点がずれて見えるため調整*/
    .post .under_contents table td li {
        background: url(./img/bullet1.gif) no-repeat left 8px;
    }

}


.post .under_contents li.space {
    margin: 10px 0 0 0;
}

/* ul 点なし　*/
.post .under_contents li.none {
    background: none;
    padding-right: 0;
    padding-left: 1em;
    text-indent: -1em;
}

.note {
    font-size: 12px;
    letter-spacing: 0;
    color: #333;
    background: var(--accent-bg);
    border-radius: 10px;
    padding: 10px;
    margin: 1em 0 1em;
}


/*----------------------------------
  About the Global Diabetes Issue
----------------------------------*/

.regions .region:not(:first-child) {
    margin-top: 6em;
}

.region {
    margin-top: 4em;
    padding: 3em 2em 1.5em;
    position: relative;
    background: var(--main-bg);
    border-radius: 10px;
}

.region h2 {
    font-family: var(--font-lato);
    font-weight: 800;
    font-style: normal;
    font-size: 2.75em;
    letter-spacing: .6px;
    margin: 0;
    border: none;
    background: unset !important;
    position: absolute;
    top: -0.9em;
    padding: 0;

}

.region .more-detail {
    display: flex;
    justify-content: flex-end;
}

.region .more-detail a {
    display: inline-block;
    padding: 10px 20px;
    border: 2px solid var(--main-light-1);
    border-radius: 6px;
    background: #FFF;
    text-decoration: none;
    color: var(--text-color);
    display: flex;
    width: max-content;
    align-items: center;
    justify-content: space-between;
    gap: .5em;
    font-weight: 600;
}
.region .more-detail a:hover{
    background: var(--main-light-3);
}
.region .more-detail a>span{
    display: block;
    padding-left: 1em;
    line-height: 1;
}
.region .more-detail a>span span,
.region .more-detail a span span:last-child::before{
    line-height: 1;
}
.region .more-detail a>span span:first-child{
    font-family: var(--font-lato);
}

.region .more-detail a > span > span:last-child{
    font-size: 0.75em;
    font-weight: 400;
    color: #555555
}
.region .more-detail a span span:last-child::before{
    content: '\A';
    white-space: pre;
}

.region .more-detail a>span span:first-child::before,
.region .more-detail a::after {
    font-family: 'FontAwesome';
    font-weight: 900;
    display: inline-block;
}

.region .more-detail a>span span:first-child::before {
    content: '\f054';
    font-size: 0.75em;
    margin-right: .5em;
    text-indent: -1em;
    margin-left: -.5em;
    color: var(--main-color);
}

.region .more-detail a::after {
    content: '\f08e';
}

.regions p:last-child{
    margin-bottom: 0;
}

.glymap-movie .glymap-movie-image img {
    padding-bottom: 0 !important;
}

.glymap-movie .wp-element-caption {
    text-align: right;
}

@media (max-width: 639px) {
    .region{
        margin-top: 1em;
        padding: 2em 1.5em 1.5em;
    }
    .region h2 {
        font-size: 1.75em;
    }
    .region .more-detail a>span span:first-child::before {
        text-indent: -.5em;
        margin-left: -.5em;
        color: var(--main-color);
    }
.region .more-detail a {
    padding: 12px 8px 10px;
}
.region .more-detail{
    justify-content: flex-start;
    margin-top: 1em;
}
}





















/*----------------------------------
問合せフォーム
----------------------------------*/
.wpcf7 {
    box-sizing: border-box;
}
.wpcf7 p {
    font-size: 16px;
}

.wpcf7 .short {
    width: 50%;
}

.wpcf7 .inner_input {
    margin-top: 8px;
}

.wpcf7 .inner_input span {
    margin-right: 12px;
}

.require:before,
.option:before {
    font-size: 14px;
    width: auto;
    height: auto;
    padding: 4px 8px;
}

#contact > div {
    margin-bottom: 25px;
}

.require:before,
.optional:before {
    display: table-cell;
    float: left;
    color: white;
    text-align: center;
    vertical-align: middle;
    border-radius: 3px;
    line-height: 20px;
    margin: 0 10px 0 5px;
    font-size: 14px;
    width: auto;
    height: auto;
    padding: 4px 8px;
}

#contact.contact-en .require:before {
    content : 'required';
    background-color: #ea5532;
}

#contact.contact-en .optional:before {
    content : 'optional';
    background-color: #73c6b6;
}

/*----------------------------------
プライバシーポリシー
----------------------------------*/
.privacy p {
    padding-left: 0.5em;
}

.privacy ul {
    padding-left: 2em;
}

.privacy ul li {
    padding-left: 1em;
}

.privacy-policy-page-wrap .privacy-policy-txt {
    margin: 1rem 15px 15px 15px !important;
}
.privacy-policy-page-wrap ul {
    padding-left: 5px;
    margin-top: -7px;
}
.privacy-policy-page-wrap ul li {
    line-height: 1.7;
}
.privacy-policy-page-wrap p,
.privacy-policy-page-wrap ul {
    margin-left: 18px;
}
.privacy-policy-page-wrap .contact-box p.mail-add {
    margin-bottom: 0;
}
.privacy-policy-page-wrap .contact-box p.staff-name {
    margin-bottom: 1rem;
}

@media only screen and (max-width:640px) {
    .privacy-policy-page-wrap p,
    .privacy-policy-page-wrap ul {
        margin-left: 0;
    }
}

/*----------------------------------
サイトマップ
----------------------------------*/
.sitemap-page-wrap ul.sitemap-li {
    margin-top: 1.5rem;
    margin-left: 9px;
}
.sitemap-page-wrap ul.sitemap-li li {
    background: none;
    font-size: 17px;
    padding: 0 0 0 1.6em;
    text-indent: -1.6em;
}

.sitemap-page-wrap ul.sitemap-li li a {
    text-decoration: none;
    border-bottom: 2px dotted var(--main-light-2);
    padding-bottom: 2px;
}

.sitemap-page-wrap ul.sitemap-li > li {
    margin-bottom: .6rem;
    margin-left: .3rem;
}
.sitemap-page-wrap ul.sitemap-li > li::before {
    content: '';
    display: inline-block;
    background: transparent url(img/common/rubik.png) no-repeat left 0.1em;
    height: 2rem;
    width: 28px;
    position: relative;
    top: 14px;
}
.sitemap-page-wrap ul.sitemap-li ul li {
    position: relative;
}
.sitemap-page-wrap ul.sitemap-li ul li:before {
    display: block;
    position: absolute;
    content: "└";
    left: 0;
    color: var(--main-dark-2);
}

@media only screen and (max-width:640px) {
    .sitemap-page-wrap ul.sitemap-li {
        margin-top: 1rem;
        margin-bottom: 3rem;
    }
    .sitemap-page-wrap ul.sitemap-li > li {
        font-size: 1rem;
        line-height: 1.7;
        margin-left: 0;
        margin-bottom: .3rem;
    }
    
}

/*万博おわりのありがとうメッセージ*/
.top-thanks p.thanks-msg {
    font-weight: bold;
    text-align: center;
    font-size: 1.5rem;
    color: #FE3333;
    padding: 1.5rem .5rem;
    background: #f4fbfa;
    border-radius: .5rem;
    margin-bottom: 2rem;
}

@media only screen and (max-width:500px) {
    .top-thanks p.thanks-msg {
        text-align: left;
        font-size: 1.4rem;
        padding: 1rem 2rem;
    }
}