@charset "utf-8";

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

body {
    font-family: "Lato", "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;
}

.post p {

}

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

a {
    word-wrap: break-word;
}

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

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

共通

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

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

section > .wp-block-group__inner-container > h2 + * {
    margin: 0 15px 15px 15px;
}

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

: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.4;
    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 screen and (max-width: 640px) {
    #main_col .headline1,
    .headline2,
    .headline3 {
        height: auto;
    }

}

.post-cta a:hover {
    opacity: .8;
}

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


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

全体カラー

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

/*----------------------------------
テキスト
----------------------------------*/
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 {
        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:after {
        content: none;
    }
    .header_banner_wrapper.sm .header_banner {
        display: flex;
        justify-content: space-between;
        gap: .5rem;
    }

    .header_banner_wrapper.sm .header_banner {
        text-align: right;
    }

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

}


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

#header .header_banner .banner_row:after {
    content: none;
}

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

#footer .banner_row > div:first-child {
    display: none;
}
@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%;
    }
    .header_banner>div:first-child p {
        margin-bottom: 0;
        padding: 0;
    }
    .header_banner>div:first-child p::before {
        content: "";
        width: 16px;
        height: 16px;
        margin-bottom: 1px;
        background: url(img/common/icon-globe.svg) no-repeat;
        display: inline-block;
        position: relative;
        top: 3px;
        right: 5px;
    }
    .header_banner>div:first-child p a {
        display: inline-block;
        padding: 1px 0 2px;
        margin-right: -0.08rem;
        box-sizing: border-box;
    }
    #footer .header_banner > div {        
        width: 50%;
        display: block;
        margin: auto;
    }
    #footer .header_banner > div:first-child {
        display: none;
    }
}


/* ヘッダ */

.expo-top-banner {
    margin-bottom: 40px;
}

.expo-top-banner img {
    max-width: 100%;
    box-shadow: 0 0 15px #999;
}

.header_banner .banner_row {
    width: 100%;
}

#header .banner_row .barb_text_banner {
    width: 100%;
}
#header .banner_row .barb_text_banner:last-of-type {
    border-color: #FE3333;;
}
#header .banner_row .barb_text_banner:last-of-type a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
}
#header .banner_row .barb_text_banner:last-of-type a:before {
    content: "";
    width: 16px;
    height: 16px;
    margin-bottom: 1px;
    background: url(img/common/icon-globe-white.svg) no-repeat;
    display: inline-block;
}


#header .header_banner.pc {
    width: 339px;
}
#header .header_banner .text_row {
    text-align: right;
}

#header .header_banner .text_row p {
    margin-bottom: 0;
}

#header .header_banner .text_row .en-banner img {
    width: 400px;
    max-width: 100%;
}

#header_logo_wrap #logo a {
    height: auto;
}
.logo-text {
    font-size: 17px;
    color: #039185;
    font-weight: bold;
    margin: 10px 0;
}



@media screen and (min-width: 641px) {
    #header_wrap #header {
        height: 220px;
    }
    #header_logo_cover #header_logo_wrap {
        height: 165px;
    }
    .barb_side_widget .side-links h3 a {
        width: 100%;
    }
}


/*----------------------------------
フッタ
----------------------------------*/
#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;
}
/*----------------------------------
ヘッダ
言語切替用調整
----------------------------------*/
.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;
}

 */
.header_banner .banner_row > div:first-child p{
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    line-height: 1;
    overflow: hidden;
}
.header_banner .banner_row > div:first-child p::before{
    content: "";
    width: 16px;
    height: 16px;
    margin-bottom: 1px;
    background: url(img/common/icon-globe.svg) no-repeat;
    display: inline-block;
    
}
.header_banner .banner_row > div:first-child p a{
    display: inline-block;
    padding: 1px 0 2px;
    margin-right: -0.08rem;
    box-sizing: border-box;
}

.header_banner .banner_row > div:first-child p 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;
}


/*----------------------------------
フッタロゴ
----------------------------------*/
#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;
    }

    #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 img {
    box-shadow: 0 0 15px #999;
}

#side_col .barb_side_widget:nth-child(n+2) {
    margin-top: 24px;
}


#side_col .barb_side_widget:nth-child(2) {
    border: 1px solid var(--main-light-2);
}

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


#side_col .side-links.side-top-movie a {
    letter-spacing: -1px;
    font-size: 15px;
}

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

.header_banner .banner_row .barb_text_banner:last-of-type a span:last-of-type {
    color: #FFF;
    font-size: 1.2rem;
    letter-spacing: 1px;
}


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

    .header_banner .barb_text_banner:last-of-type {
        border-color: #fe3333;:
    }
    .header_banner .barb_text_banner:last-of-type a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3px;
    }
    .header_banner .barb_text_banner:last-of-type a:before {
        content: "";
        width: 16px;
        height: 16px;
        margin-bottom: 1px;
        background: url(img/common/icon-globe-white.svg) no-repeat;
        display: inline-block;
    }

}


/*----------------------------------
イメージロールオーバー
----------------------------------*/
#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 (min-width: 641px) {
    #index_pickup {
        height: 402px;
    }
    #index_pickup a.image img {
        aspect-ratio: 3 / 2;
        object-fit: cover;
    }
    #index_pickup .meta {
        margin-top: 8px;
        margin-bottom: 8px;
    }
    #index_pickup .excerpt {
        line-height: 1.2;
    }
}


/*----------------------------------
フッター
----------------------------------*/
#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%;
    text-align: left;
}

#footer .footer_menu .strong-item > a {
    font-weight: bold;
}

#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);
}

/*----------------------------------
ページナビ
----------------------------------*/
.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;
}


/*----------------------------------
毛髪分析とは
----------------------------------*/
/*毛髪分析とは*/
.hair-analysis-page-wrap p.note  {
    padding-left: 3em;
    text-indent: -2.8em;
}
.hair-analysis-page-wrap .color-columns {
    margin-bottom: 1rem;
}
.hair-analysis-page-wrap .color-columns figure {
    margin-bottom: 0;
}
.hair-analysis-page-wrap .glymap-strong {
    font-size: 1.8rem;
    margin: 2em 0;
}
.hair-analysis-page-wrap .color-columns .rubik-img img {
    padding-bottom: 0 !important;
    margin: 1rem auto 2rem;
}
.hair-analysis-page-wrap .color-columns .rubik-list img {
    padding-bottom: 0 !important;
    max-width: 300px;
    width: 90%;
    display: block;
    margin: 0 auto 1.3rem;
}
.hair-analysis-page-wrap .img-3shi-d {
    text-align: center;
}
.hair-analysis-page-wrap .img-3shi-d img {
    max-width: 700px;
    width: 100%;
}
@media only screen and (max-width:781px) {
    .hair-analysis-page-wrap .color-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}
@media only screen and (max-width:640px) {
    .hair-analysis-page-wrap .glymap-strong {
        font-size: 1.5rem;
    }
    .hair-analysis-page-wrap .color-columns {
        grid-template-columns: 1fr;
        gap: .5rem;
    }
    .hair-analysis-page-wrap .color-columns .rubik-img img {
        max-width: 400px;
        width: 100%;
        display: block;
        margin-top: 0;
        margin-bottom: 1.5rem;
    }
}
@media only screen and (max-width:510px) {
    .hair-analysis-page-wrap .glymap-strong {
        font-size: 1.25rem;
    }
}
@media only screen and (max-width:445px) {
    .hair-analysis-page-wrap .glymap-strong {
        text-align: left;
    }
    .hair-analysis-page-wrap .glymap-strong br {
        display: none;
    }
    .hair-analysis-page-wrap .color-columns .rubik-img img {
        margin-bottom: 1rem;
    }
}

/* NEW「いつもの美容院」で */
/*---------------------------------------
 ＜共通＞
◇毛髪分析とは
◇毛髪分析について「美容院関係者の方へ」
----------------------------------------*/
.hs-chart-area {
    background: var(--main-bg);
    border-radius: 10px;
    padding: 1rem;
    margin-bottom: 1rem;
}
.hs-chart-area div {
    text-align: center;

}
.hs-chart-area .hs-chart {
    background: #fff;
    border-radius: 10px;
    padding: 1rem;
    margin-bottom: 1rem;
}
.hs-chart-area .hs-chart .hs-columns {
    display: grid;
    grid-template-columns: 37% auto 47%;
    gap: .5rem;
}
.hs-chart-area .hs-chart .hs-columns img {
    padding-bottom: 0 !important;
}
.hs-chart-area p {
    text-align: center;
    line-height: 1.5;
    padding: 0 .3rem;
}
.hs-chart-area .hs-chart .hs-columns figure {
    display: inline;
    text-align: center;
}
.hs-chart-area .hs-chart .hs-columns .lr-arrow img {
    margin-top: 1.5rem;
    width: 50px;
}
.hs-chart-area .hs-chart .hs-columns .m-mark img {
    width: 40px;
}
.hs-chart-area .hs-chart .hs-columns .left-moji-img img {
    max-width: 160px;
    width: 72%;
}
.hs-chart-area .hs-chart .hs-columns .right-moji-img img {
    max-width: 280px;
    width: 100%;
}
.hs-chart-area .hs-chart>div>div {
    margin-bottom: 1rem;
}
.hs-chart-area .hs-chart>div>div:last-child {
    margin-bottom: 0;
}
.hs-chart-area .line-yellow-border {
    font-size: 2.2rem;
}
@media only screen and (min-width:641px) {
    .hs-chart-area .line-yellow-border {
        background: linear-gradient(transparent 70%, var(--sub-light-1) 70%);
    }
}
@media only screen and (max-width:640px) {
    .hs-chart-area p {
        text-align: left;
    }
    .hs-chart-area .hs-chart>div>div {
        margin-bottom: .5rem;
    }
    .hs-chart-area .hs-chart .hs-columns .lr-arrow img {
        margin-top: 1rem;
        width: 80%;
    }
    .hs-chart-area .hs-chart .hs-columns .m-mark img {
        width: 60%;
    }
    .hs-chart-area p.line-yellow-border {
        font-size: 1.5rem;
        text-align: center;
    }

}
@media only screen and (min-width:500px) {
    .hs-chart-area p.line-yellow-border br {
        display: none;
    }

}
@media only screen and (max-width:500px) {
    .hs-chart-area p.line-yellow-border {
        font-size: 1.2rem;
    }

}
@media only screen and (max-width:430px) {
    .hs-chart-area .hs-chart .hs-columns .lr-arrow img {
        margin-top: .5rem;
    }
    .hs-chart-area p.line-yellow-border {
        display: initial;
        font-size: 1.1rem;
    }
}


/* 「気づき」と「継続」のサイクルで健康を維持 */
.hair-analysis-page-wrap .cycle .chart-age {
    background: var(--accent-bg);
    border-radius: 10px;
    padding: 1rem;
    margin-bottom: 1rem;
}
.hair-analysis-page-wrap .cycle .chart-age img {
    max-width: 600px;
    width: 100%;
}
#content .hair-analysis-page-wrap .cycle .chart-age .ages-img2 img{
    margin-bottom: 0;
    padding-bottom: 0;
}
.hair-analysis-page-wrap .cycle .chart-age sup {
    color: var(--accent-color);    
}
.hair-analysis-page-wrap .cycle .chart-age p {
    margin: 0 .5rem .5rem;
}
.hair-analysis-page-wrap .cycle .chart-age p.kome {
    line-height: 1.5;
    font-size: .9rem;
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 1rem;
}
.hair-analysis-page-wrap .cycle .chart-age p.kome::before {
    content: "※";
    color: var(--accent-color);
}
.hair-analysis-page-wrap .cycle .chart-age .disease-list {
    background: #fff;
    border-radius: 10px;
    padding: 1rem;
    margin-bottom: 0;
}
.hair-analysis-page-wrap .cycle .chart-age .disease-list li {
    display: inline-block;
    background: none;
    line-height: 1.5;
    font-weight: bold;
    padding-left: 1em;
    text-indent: -1em;
    margin-right: .5rem;
}
.hair-analysis-page-wrap .cycle .chart-age .disease-list li:not(:last-child) {
    margin-bottom: 2px;
}
.hair-analysis-page-wrap .cycle .chart-age .disease-list li::before {
    font-family: FontAwesome;
    content: "\f111";
    font-size: .95rem;
    position: relative;
    top: -1px;
    margin-right: 2px;
    color: var(--accent-color);
}
.hair-analysis-page-wrap .cycle .chart-age .disease-list li span {
    font-size: .85rem;
}
@media only screen and (max-width:640px) {
    .hair-analysis-page-wrap .cycle .chart-age {
        padding: .5rem
    }
    .hair-analysis-page-wrap .cycle .chart-age p {
        margin: auto 10px 10px;
    }
    .hair-analysis-page-wrap .cycle .chart-age .disease-list li {
        display: block;
    }
    .hair-analysis-page-wrap .cycle .chart-age .disease-list li span {
        line-height: 1.5;
        display: inline-block;
    }
}

/* 「気づき」と「継続」のサイクルをシステム化 */
.hair-analysis-page-wrap .flow-systemization {
    background: var(--main-bg);
    border-radius: 10px;
    padding: 1rem
}
.hair-analysis-page-wrap .flow-systemization figure {
    margin-bottom: 0;
}
.hair-analysis-page-wrap .flow-systemization img {
    padding-bottom: 0 !important;
}
.hair-analysis-page-wrap .flow-columns {
    display: grid;
    grid-template-columns: 200px auto 110px;
    gap: .5rem;
    background: #fff;
    border-radius: 10px;
    padding: 1rem;
    margin-top: .5rem;
    margin-bottom: 0;
}
.hair-analysis-page-wrap .flow-columns .url-column {
    display: flex;
    justify-content: center;
    align-items: center;
}
.hair-analysis-page-wrap .flow-columns .url-column::after {
    font-family: FontAwesome;
    content: "\f0da";
    position: relative;
    left: 17px;
    font-size: 2.5rem;
    color: var(--main-color);
}
.hair-analysis-page-wrap .flow-columns p.to-link {
    margin-bottom: 0;
    text-align: center;
    margin-left: 10px;
    font-weight: bold;
    font-size: 1.1rem;
}
.hair-analysis-page-wrap .flow-columns .to-link a {
    font-size: .9rem;
}
.hair-analysis-page-wrap .flow-columns .to-link a::after {
    font-family: FontAwesome;
    content: "\f08e";
}
.hair-analysis-page-wrap .flow-columns .qr-column {
    text-align: right;
}
@media only screen and (max-width:640px) {
    .hair-analysis-page-wrap .flow-columns {
        grid-template-columns: 1fr;
    }
    .hair-analysis-page-wrap .flow-columns .qr-column,
    .hair-analysis-page-wrap .flow-columns .url-column::after {
        display: none;
    }
    .hair-analysis-page-wrap .flow-columns p.to-link {
        margin-left: 0;
    }
    .hair-analysis-page-wrap .flow-columns .ss-column {
        text-align: center;
    }
    .hair-analysis-page-wrap .flow-columns .ss-column img {
        max-width: 300px;
        width: 100%;
    }
}

/*// ★共通：毛髪分析について・企業関係者 //*/
/*「健康になりたい！と、思ったら、始めてください、ウォーキング！*/
.systemization .walking-columns {
    margin-bottom: 1rem;
    gap: 1.2rem;
}

.systemization .walking {
    background-image: url(/wp-content/uploads/2025/01/walking.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 240px auto;
}
.systemization .walking p.wk-txt {
    margin: 0 .5rem;
}
.systemization .walking p.wk-txt:last-child {
    margin-bottom: .5rem;
}
.systemization .walking .walking-arrow {
    display: flex;
    justify-content: left;
    align-items: center;
    height: 100%;
}
.systemization .walking .walking-arrow-sp {
    display: flex;
    justify-content: left;
    align-items: flex-start;
    height: 100%;
}
.systemization .walking img {
    padding-bottom: 0 !important;
}
.systemization .walking .walking-arrow img {
    width: 67px;
}
.systemization .walking .walking-arrow-sp img {
    width: 67px;
}
.systemization .walking-columns figure {
    margin-bottom: 0;
}
.systemization .walking-columns table {
    font-size: .85rem;
    color: var(--text-color);
}
.systemization .walking-columns table th {
    color: #fff;
    background-color: var(--accent-color);
}
.systemization .walking-columns table th,
.systemization .walking-columns table td {
    padding: 3px;
}
.systemization .walking-columns table th:first-child {
    width: 73px;
}
.systemization .walking-columns table th:nth-child(2) {
    width: 120px;
}
.systemization .walking-columns table tr:nth-child(odd) td {
    background-color: var(--accent-bg);
}
.systemization .walking-columns table tr:nth-child(even) td {
    background-color: var(--accent-light-3);
}
.systemization .walking-columns table td:first-child,
.systemization .walking-columns table td:nth-child(2) {
    text-align: center;
}
.systemization .walking-up {
    font-size: .95rem;
    line-height: 1.5;
    padding-left: 1.2em;
    text-indent: -1.2em;
}
.systemization .walking-up::before {
    content: "\f062";
    margin-right: 5px;

}

@media only screen and (max-width:781px) {
    .systemization .walking-columns {
        display: grid;
        grid-template-columns: auto 200px;
    }
    .systemization .walking {
        background-size: 215px auto;
    }

}

@media only screen and (min-width:641px) {
    .systemization .walking .sp,
    .systemization .walking .walking-arrow-sp {
        display: none;
    }
}

@media only screen and (max-width:640px) {
    .systemization .walking .pc,
    .systemization .walking .walking-arrow {
        display: none;
    }
    .systemization .walking-columns {
        grid-template-columns: auto 70px;
    }
    .systemization .walking {
        background-image: none;
    }
    .systemization .walking-up {
        font-size: .9rem;
    } 
    .systemization .walking>div {
        background-image: url(/wp-content/uploads/2025/01/walking_2.png);
        background-repeat: no-repeat;
        background-position: right top;
        background-size: auto 80px;
    }
    .systemization .walking p.wk-txt {
        line-height: 1.5;
        font-size: .98rem;
    }
}

@media only screen and (min-width:601px) {
    .systemization .walking-columns table th:nth-child(2) br {
        display: none;
    }
}

@media only screen and (max-width:600px) {
    .systemization .walking-columns {
        gap: 10px;
    }
    .systemization .walking .walking-arrow-sp {
        justify-content: center;
        align-items: center;
    }
    .systemization .walking-columns table {
        line-height: 1.5;
    }
    .systemization .walking-columns table th:nth-child(2) {
        width: 64px;
    }

}
@media only screen and (max-width:555px) {    
    .systemization .walking>div {
        background-image: url(/wp-content/uploads/2025/01/walking.png);
        background-repeat: no-repeat;
        background-position: right top;
        background-size: auto 150px;
    }
    .systemization .walking p.wk-txt {
        line-height: 1.5;
        margin: 0 4.2rem 5px 0;
        font-size: 1rem;
    }

}
/*end// ★共通：毛髪分析について・企業関係者 //*/



/* ページ下バナー *************************************/
/*
 *  ページ下バナー
 * 毛髪分析について、自治体の方へ、企業関係者の方へ、美容院関係者の⽅へ
 * 共通で使っています
 */
.page-link-banners {
    margin: 3rem auto !important;
}
.page-link-banners .banner-columns {
    gap: .5rem;
}
.page-link-banners .banner-columns figure {
    margin-bottom: 0;
}
.page-link-banners .banner-columns img {
    padding-bottom: 0 !important;
}
.page-link-banners .banner-columns .wp-block-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    margin-bottom: 0;
    padding: 4px;
}
.page-link-banners .banner-columns p {
    margin-bottom: 0;
    line-height: 1.25;
    font-size: 1.1rem;
}
.page-link-banners .banner-columns .wp-block-columns .wp-block-column:last-child {
    display: flex;
    align-items: center;
    font-weight: bold;
    margin: auto 5px;
}
.page-link-banners .banner-columns .wp-block-columns .wp-block-column:last-child::after {
    font-family: FontAwesome;
    content: "\f138";
    font-size: 1.5rem;
}
.page-link-banners .banner-columns .wp-block-columns .wp-block-column:last-child p {
    width: 100%;
}
.page-link-banners .banner-columns .ban-for-local {
    background: var(--mix-color);
    text-shadow: 1px 1px 0 #16732599;
    color: #fff;
}
.page-link-banners .banner-columns .ban-for-companies {
    background: #21ACA1;
    text-shadow: 1px 1px 0 #16736B99;
    color: #fff;
}
.page-link-banners .banner-columns .ban-for-hair-salons {
    background: #F5B9B5;
    text-shadow: 1px 1px 0 #D15C5699;
    color: #fff;
}
.page-link-banners .banner-columns .ban-english {
    background: #FAE362;
    text-shadow: 1px 1px 0 #ac9b3b94;
    color: #8d4e18;
}
.page-link-banners .banner-columns a {
    color: #fff;
    text-decoration: none;
    display: inline-block;
    width: 100%;
}
.page-link-banners .banner-columns .ban-english a {
    color: #8d4e18;
}

@media only screen and (max-width:781px) {
    .page-link-banners .banner-columns {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;    
    }
}
@media only screen and (min-width:641px) {
    .page-link-banners .banner-columns .ban-sp {
        display: none;
    }
    .page-link-banners .banner-columns .wp-block-columns .wp-block-column:last-child {
        height: 65px;    
    }

}
@media only screen and (max-width:640px) {
    .page-link-banners .banner-columns p br {
        display: none;
    }
    .page-link-banners .banner-columns {
        grid-template-columns: 1fr;
        max-width: 430px;
        width: 100%;
        margin: auto;
    }
    .page-link-banners .banner-columns .ban-pc {
        display: none;
    }
    .page-link-banners .banner-columns .wp-block-columns {
        grid-template-columns: minmax(auto, 40%) minmax(auto, 60%);
        gap: .6rem;
        padding: 10px;
        border-radius: 10px;
    }
    .page-link-banners .banner-columns p {
        font-size: 1.3rem;
    }
    .page-link-banners .banner-columns .wp-block-columns img {
        border-radius: 8px;
    }
    .page-link-banners .banner-columns p>a {
        display: inline-flex;
        width: 100%;
        height: 140px;
        align-items: center;
    }
}
@media only screen and (max-width:470px) {
    .page-link-banners .banner-columns .wp-block-columns {
        gap: .8rem;
    }
    .page-link-banners .banner-columns .wp-block-columns .wp-block-column:last-child::after {
        display: none;
    }

}
@media only screen and (max-width:429px) {
    .page-link-banners .banner-columns .wp-block-columns {
        gap: .5rem;
    }
    .page-link-banners .banner-columns p {
        font-size: 1.2rem;
    }
    .page-link-banners .banner-columns p>a {
        height: 120px;
    }
}
@media only screen and (max-width:370px) {
    .page-link-banners .banner-columns p>a {
        height: auto;
    }
}
/*end/ ページ下バナー */


/*下層ページ共通/*/
.line-yellow-border {
    font-weight: bold;
    background: linear-gradient(transparent 50%, var(--sub-light-1) 50%);
    display: table;
    margin: auto auto 6px;
    line-height: 1.1;
}
.accent-txt {
    color: var(--accent-color);
}
.go-link-box {
    text-align: right;
    display: block;
}
.go-link-box a {
    background: var(--main-light-2);
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 5px;
    font-size: .9rem;
    font-weight: bold;
}
.go-link-box a::after {
    font-family: FontAwesome;
    content: "\f105";
    margin-left: 10px;
}
.go-link-box a:hover {
    background: var(--main-light-3);
}

/*--------------------------------------------
毛髪分析について「自治体の方へ」
--------------------------------------------*/
.local-government-page-wrap .to-link {
    word-break: break-all;
    line-height: 1.5;
    margin-bottom: .1rem;
}
.local-government-page-wrap .to-link a {
    color: var(--text-color);
    font-size: .9rem;
}
.local-government-page-wrap .to-link a::after {
    font-family: FontAwesome;
    content: "\f08e";
}
.local-government-page-wrap .txt-op-win {
    font-size: 0.9rem;
    margin-bottom: 1rem;
}
/* 共通 */
.catch_and_lead {
    margin-bottom: -1.7rem;
}
.catch_and_lead h2 {
    display: inline-block;
    font-size: 1.5rem;
    color: var(--text-color) !important;
    margin: 0.83em auto 0.7em;
    padding-left: .25rem;
    padding-right: .25rem;
    background: linear-gradient(transparent 50%, #7bdcb58a 50%) !important;
    border: none;
    line-height: 1.6;
}
.catch_and_lead p {
    padding-left: 1.25rem;
    font-size: 1.1rem;
}

@media (max-width: 639px) {
    .catch_and_lead h2 {
        letter-spacing: 0;
    }
}

/* 実証実験について */
/* METI（経済産業省）SIB組成パック */
.local-government-page-wrap .experiment .img-oospf img {
    max-width: 250px;
    width: 100%;
}
.local-government-page-wrap .experiment .line-yellow-border,
.local-government-page-wrap .meti .line-yellow-border {
    text-align: left;
    margin-left: 0;
    display: inline;
    line-height: 1.5;
    margin-bottom: .5rem;
}

/*// ★共通：自治体・企業関係者 //*/
/* 毛髪分析「ソリューションチーム」仕組みとメンバー */
.solution-team {

}
@media screen and (min-width: 641px) {
    .solution-team .solution-team-sp {
        display: none;
    }
}
@media screen and (max-width: 640px) {
    .solution-team .solution-team-pc {
        display: none;
    }
    .solution-team .solution-team-sp img {
        max-width: 400px;
        width: 100%;
    }
}
/*// ★共通：自治体・企業関係者 //*/
/* 「事業化TEAM」 */

.team-coml .wp-block-column figure {
    margin-bottom: .5rem;
}
.team-coml .wp-block-column p {
    font-size: .82rem;
    line-height: 1.4;
    margin-bottom: .5rem;
}
.team-coml .wp-block-column p strong {
    font-size: .9rem;
}
.team-coml .wp-block-column p.name {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.7;
    margin-bottom: 0;
}
.team-coml .wp-block-column p:last-child {
    margin-bottom: 1.2rem;
}
.team-coml .wp-block-column img {
    padding-bottom: 0 !important;
}
.team-coml .four-columns {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px;
}
.team-coml .four-columns .wp-block-column {
    text-align: center;
}
.team-coml .two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 0 15px 15px 15px;
}
.team-coml .inner-two-columns {
    gap: 20px;
    margin-bottom: 0;
}
@media (max-width: 781px) and (min-width:641px) {
    .team-coml .inner-two-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

}
@media only screen and (max-width:640px) {
    .team-coml .four-columns,
    .team-coml .two-columns {
        grid-template-columns: 1fr 1fr;
        max-width: 520px;
        width: 100%;
        margin: auto;
        row-gap: 0;
    }
    .team-coml .wp-block-column {
        text-align: center;
    }
    .team-coml .inner-two-columns {
        gap: 0;
    }
    .team-coml .wp-block-column img {
        max-width: 180px;
        width: 100%;
    }

}
@media only screen and (min-width:641px) {
    .team-coml .wp-block-column p strong br {
        display: none;
    }
}
@media only screen and (max-width:464px) {
    .team-coml .wp-block-column p strong br {
        display: none;
    }
}

/* ---------------------------------------- */
/* 現時点で掲載OKがもらえていない方非表示設定
   　（山本 勇樹・Buzz Palmer） 
   許可が出たら削除してください               */
.team-coml .two-columns  {
    display: none;
}
/* ---------------------------------------- */


/*// ★共通：自治体・企業関係者 //*/
/* 「研究開発TEAM」 */
.team-r-and-d {
    /* 非表示中*/
    display: none;
}

/*// ★共通：自治体・企業関係者 //*/
/* 個人情報の保護 */
.protection-of-pi .logo-columns {
    gap: 20px;
    display: grid;
    grid-template-columns: minmax(auto, 300px)  80px minmax(auto, 300px);
}
.protection-of-pi .logo-columns .wp-block-column {
    text-align: center;
}
.protection-of-pi .logo-columns img {
    padding-bottom: 0 !important;
}
.protection-of-pi .logo-columns .logo-tis img {
    width: 100%;
    max-width: 250px;
}
.protection-of-pi .logo-columns .logo-tellme img {
    width: 80%;
    max-width: 180px;
}
.protection-of-pi .mutiply img {
    width: 100%;
    max-width: 50px;
}
.protection-of-pi .logo-columns .logo-tellme figure,
.protection-of-pi .logo-columns .logo-tis figure {
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;    
}
.protection-of-pi .logo-columns .mutiply figure {
    height: 174px;
    display: flex;
    justify-content: center;
    align-items: center;    
}
.protection-of-pi .logo-columns .logo-tis figure {
    border: solid 2px #12B1C640;
    padding: 10px;
    border-radius: 10px;
}
.protection-of-pi .logo-columns .logo-tellme figure {
    border: solid 2px #1C158440;
    padding: 10px;
    border-radius: 10px;
}
.protection-of-pi .tis-info .line-yellow-border {
    margin: 1rem auto;
    font-size: 1.5rem;
}
.protection-of-pi .tis-info p.go-link-box {
    margin-bottom: 2.5rem;
}

@media only screen and (max-width:640px) {
    .protection-of-pi .tis-info .line-yellow-border {
        margin: 10px auto;
    }
    .protection-of-pi .logo-columns .logo-tellme figure,
    .protection-of-pi .logo-columns .logo-tis figure {
        height: 80px;
    }
    .protection-of-pi .logo-columns .mutiply figure {
        height: 114px;
    }
    .protection-of-pi .logo-columns {        
        grid-template-columns: minmax(auto, 300px)  30px minmax(auto, 300px);
    }
    .protection-of-pi .tis-info p.go-link-box {
        margin-top: 2rem;
        margin-bottom: 2rem;
    }
}
@media only screen and (max-width:400px) {
    .protection-of-pi .tis-info .line-yellow-border {
        font-size: 1.3rem;
    }
}

/*end// ★共通：自治体・企業関係者 //*/

/* 健康無関心層の人たちの病気を未然に防ぎ、医療費を抑える */
.local-government-page-wrap .costs-down .reason-columns {
    gap: 10px;
}
.local-government-page-wrap .costs-down .reason-columns>div {
    background: var(--main-bg);
    padding: .5rem .5rem 0;
    border-radius: 10px;
    text-align: center;
}
.local-government-page-wrap .costs-down .reason-columns img {
    padding-bottom: 0 !important;
}
.local-government-page-wrap .costs-down .reason-columns .wp-block-columns {
    margin-bottom: 0;
    gap: 0;
}
.local-government-page-wrap .costs-down .costs-down-columns {
    display: grid;
    grid-template-columns: auto auto;
}
.local-government-page-wrap .costs-down .costs-down-columns .left-column img {
    max-width: 280px;
    width: 100%;
}
.local-government-page-wrap .costs-down .costs-down-columns .right-column img {
    max-width: 400px;
    width: 100%;
}
.local-government-page-wrap .costs-down .dialysis-box {
    background: var(--main-light-3);
    padding: 1.3rem;
    border-radius: 10px;
}
.local-government-page-wrap .costs-down .dialysis-box .wp-block-columns {
    display: grid;
    grid-template-columns: minmax(auto, 60%) minmax(auto, 40%);
    margin: 0;
    gap: 20px;
}
.local-government-page-wrap .costs-down .dialysis-box .wp-block-column {
    text-align: center;
}
.local-government-page-wrap .costs-down .wp-block-columns figure {
    margin-bottom: 0;
}
.local-government-page-wrap .costs-down .dialysis-box .graph-txt {
    font-size: .8rem;
    text-align: center;
    margin-bottom: 0;
    line-height: 1.5;
}
.local-government-page-wrap .costs-down .double-punch .pc,
.local-government-page-wrap .costs-down .double-punch .sp {
    margin-top: 2rem;
}
@media only screen and (max-width:781px) {
    .local-government-page-wrap .costs-down .reason-columns {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }
}
@media only screen and (min-width:641px) { 
    .local-government-page-wrap .costs-down .reason-columns .wp-block-columns {
        display: grid;
        grid-template-columns: 1fr;
    }
}
@media only screen and (max-width:640px) {
    .local-government-page-wrap .costs-down .reason-columns {
        grid-template-columns: 1fr 1fr;
    }
    .local-government-page-wrap .costs-down .reason-columns .wp-block-columns {
        display: grid;
        grid-template-columns: minmax(auto, 60%) minmax(auto, 40%);
    }
    .local-government-page-wrap .costs-down .img-fukidashi img {
        width: 90%;
    }
    .local-government-page-wrap .costs-down .costs-down-columns {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .local-government-page-wrap .costs-down .costs-down-columns>div {
        text-align: center;
    }
    .local-government-page-wrap .costs-down .dialysis-box .wp-block-columns {
        grid-template-columns: 1fr;
        row-gap: 2rem;
    }
    .local-government-page-wrap .costs-down .dialysis-box .inbox-left-column {

    }
    .local-government-page-wrap .costs-down .dialysis-box .inbox-right-column img {
        max-width: 320px;
        width: 100%;
    }
    .local-government-page-wrap .costs-down .double-punch .wp-block-image {
        text-align: center;
    }
    .local-government-page-wrap .costs-down .double-punch img {
        max-width: 500px;
        width: 100%;
    }
}
@media only screen and (max-width:300px) {
    .local-government-page-wrap .costs-down .reason-columns {
        grid-template-columns: 1fr;
    }
}

/* 美容院経営者が一体となって行う「グリマップ®」毛髪分析サービス */
.local-government-page-wrap .glymap .graph-compar {
    max-width: 650px;
    width: 100%;
    margin: auto;
}

/* 毛髪分析の利点 */
.local-government-page-wrap .benefit .benefit-columns,
.local-government-page-wrap .benefit .benefit-columns-sp {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: .5rem;
}
.local-government-page-wrap .benefit .wp-block-column img {
    padding-bottom: 0 !important;
}
.local-government-page-wrap .benefit .line-yellow-border {
    font-size: 1.25rem;
    font-weight: normal;
    line-height: 1.3;
}
@media only screen and (min-width:641px) {
    .local-government-page-wrap .benefit .benefit-columns-sp {
        display: none;
    }
}
@media only screen and (max-width:640px) {
    .local-government-page-wrap .benefit .benefit-columns {
        display: none;
    }
    .local-government-page-wrap .benefit .line-yellow-border {
        font-size: 1.1rem;
    }
}

/* 学会発表 */
.local-government-page-wrap .presentation .presen-columns {
    display: grid;
    grid-template-columns: minmax(auto, 60%) minmax(auto, 40%);
    gap: 20px;
    margin: 0 15px 15px 15px;
}
.local-government-page-wrap .presentation .presen-columns img {
    padding-bottom: 0px !important;
}
.local-government-page-wrap .presentation .presen-columns .speech-bubble {
    position: relative;
    padding: 13px 18px;
    width: 100%;
    max-width: 300px;
    color: #555;
    background: var(--unnamed-color-f8f8f8);
    border-radius: 5px;
    font-size: 0.8rem;
    margin: 1.5rem auto 2rem;
    line-height: 1.5;
}
.local-government-page-wrap .presentation .presen-columns .speech-bubble:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid var(--unnamed-color-f8f8f8);
}
.local-government-page-wrap .presentation .presen-columns .speech-bubble p {
    margin: 0;
    padding: 0;
}
@media only screen and (max-width:640px) {
    .local-government-page-wrap .presentation .presen-columns {
        grid-template-columns: 1fr;
    }
    .local-government-page-wrap .presentation .presen-columns .speech-bubble {
        margin: 1rem auto 2rem;
    }
    .local-government-page-wrap .presentation .presen-columns .img-certificate {
        max-width: 340px;
        width: 100%;
        margin: auto;
    }
}

/* 研究成果 共通*/
@media only screen and (min-width:641px) {
    .research-results .research-results-sp {
        display: none;
    }
}
@media only screen and (max-width:640px) {
    .research-results .research-results-pc {
        display: none;
    }
}
/* 事業化について */
.local-government-page-wrap .commercialization .coml-columns table tr:not(:last-child) {
    /* 非表示中 */
    display: none;
}
.local-government-page-wrap .commercialization .line-yellow-border {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
}
.local-government-page-wrap .commercialization .coml-columns img {
    padding-bottom: 0 !important;
}
.local-government-page-wrap .commercialization .coml-columns {
    gap: 20px;
    margin-bottom: 1.2rem;
}
.local-government-page-wrap .commercialization .inner-coml-columns {
    gap: 10px;
    margin-bottom: 0;
}
.local-government-page-wrap .commercialization .wp-block-column figure {
    margin-bottom: 0;
}
.local-government-page-wrap .commercialization .t-schedule {
    margin: auto 1rem .75rem;
    line-height: 1.5;
    font-size: 1.1rem;
    border-bottom: 3px solid var(--main-light-2);
    text-align: center;
    color: var(--main-dark-2);
}
.local-government-page-wrap .commercialization .coml-columns table {
    font-weight: bold;
    font-size: 1.05rem;
}
.local-government-page-wrap .commercialization .coml-columns table td img {
    padding: 0 !important;
}
.local-government-page-wrap .commercialization .coml-columns table td:first-child {
    width: 80px;
}
.local-government-page-wrap .commercialization .coml-columns table td:nth-child(2),
.local-government-page-wrap .commercialization .coml-columns table td:nth-child(5),
.local-government-page-wrap .commercialization .coml-columns table td:nth-child(8) {
    width: 60px;
    text-align: center;
}

@media only screen and (max-width:781px) {
    .local-government-page-wrap .commercialization .coml-columns {
        max-width: 600px;
        margin: auto;
    }
    .local-government-page-wrap .commercialization .inner-coml-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;;
    }
    .local-government-page-wrap .commercialization .coml-columns table {
        font-weight: bold;
        font-size: 1.05rem;
        max-width: 350px;
        width: 100%;
        margin: auto auto 1rem;
    }
    .local-government-page-wrap .commercialization .t-schedule {
        margin: .5rem 0 .75rem;

    }
}

/*--------------------------------------------
毛髪分析について「企業関係者の方へ」
--------------------------------------------*/

/* 「気づき」と「継続」のサイクルで健康を維持 */

.companies-page-wrap .cycle .banners {
    margin-top: 2rem;
    gap: 1.5rem;
}
.companies-page-wrap .cycle .banners figure {
    margin-bottom: .5em;
}
.companies-page-wrap .cycle .banners img,
.companies-page-wrap .cycle .chart-age img {
    padding-bottom: 0 !important;
}

.companies-page-wrap .cycle .banners p {
    line-height: 1.5;
    margin: auto 7px 0;
}
@media only screen and (max-width:781px) {
    .companies-page-wrap .cycle .banners {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }
}
@media only screen and (max-width:640px) {
    .companies-page-wrap .cycle .banners {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/*// ★共通：企業関係者の方へ・美容院関係者の方へ//*/
/* 「気づき」と「継続」のサイクルをシステム化 */
.systemization .flow-systemization {
    background: var(--main-bg);
    border-radius: 10px;
    padding: 1rem
}
.systemization .flow-systemization figure {
    margin-bottom: 0;
}
.systemization .flow-systemization img {
    padding-bottom: 0 !important;
}
.systemization .flow-columns {
    display: grid;
    grid-template-columns: 200px auto 110px;
    gap: .5rem;
    background: #fff;
    border-radius: 10px;
    padding: 1rem;
    margin-top: .5rem;
    margin-bottom: 0;
}
.systemization .flow-columns .url-column {
    display: flex;
    justify-content: center;
    align-items: center;
}
.systemization .flow-columns .url-column::after {
    font-family: FontAwesome;
    content: "\f0da";
    position: relative;
    left: 17px;
    font-size: 2.5rem;
    color: var(--main-color);
}
.systemization .flow-columns p.to-link {
    margin-bottom: 0;
    text-align: center;
    margin-left: 10px;
    font-weight: bold;
    font-size: 1.1rem;
}
.systemization .flow-columns .to-link a {
    font-size: .9rem;
}
.systemization .flow-columns .to-link a::after {
    font-family: FontAwesome;
    content: "\f08e";
}
.systemization .flow-columns .qr-column {
    text-align: right;
}
@media only screen and (max-width:640px) {
    .systemization .flow-columns {
        grid-template-columns: 1fr;
    }
    .systemization .flow-columns .qr-column,
    .systemization .flow-columns .url-column::after {
        display: none;
    }
    .systemization .flow-columns p.to-link {
        margin-left: 0;
    }
    .systemization .flow-columns .ss-column {
        text-align: center;
    }
    .systemization .flow-columns .ss-column img {
        max-width: 300px;
        width: 100%;
    }
}
@media only screen and (max-width:440px) {
    .systemization .flow-columns p.to-link {
        font-size: 1rem;
    }
}
/*提携提案*/
.companies-page-wrap .proposal-list {
    background: var(--main-bg);
    border-radius: 10px;
    padding: 1rem;
}
.companies-page-wrap .proposal-list li {
    margin-left: .8rem;
    padding-left: 15px;
    color: var(--main-dark-2);
    font-size: 1.1rem;
}
@media only screen and (max-width:460px) {
    .companies-page-wrap .proposal-list li {
        margin-left: 0;
        font-size: 1.05rem;
        line-height: 1.5;
        margin-bottom: 6px;
    }
}
/*毛髪分析技術は国も認定！*/
.companies-page-wrap .certifi-columns {
    gap: 1rem;
}
.companies-page-wrap .certifi-columns .wp-block-column {
    text-align: center;
    background: var(--accent-bg);
    padding: .6rem;
    border-radius: 8px;
}
.companies-page-wrap .certifi-columns figure,
.companies-page-wrap .certifi-columns p {
    margin-bottom: .2rem;
}
.companies-page-wrap .certifi-columns img {
    padding-bottom: 0 !important;
}

@media only screen and (max-width:781px) {
    .companies-page-wrap .certifi-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media only screen and (max-width:640px) {
    .companies-page-wrap .certifi-columns {
        grid-template-columns: 1fr;
    }
}

/*研究の歩み*/

.companies-page-wrap .steps>div {
    margin-left: 1rem;
}
.companies-page-wrap .steps p {
    margin-bottom: .65rem;
}
.companies-page-wrap .history p {
    line-height: 1.5;
    padding-left: 2.1rem;
    text-indent: -2.1rem;
}
.companies-page-wrap p.yellow-line {
    display: inline-block;
    background: var(--sub-light-2);
    padding: 2px 10px;
    font-size: .9rem;
    margin: .5rem auto 1.2rem;
}
.companies-page-wrap .steps li {
    line-height: 1.7;
    font-size: .8rem;

}
@media only screen and (max-width:640px) {
    .companies-page-wrap .steps>div {
        margin-left: 0;
        font-size: 1rem;
    }

}

/*受賞歴*/
.companies-page-wrap .awards-columns {
    gap: 1rem;
}
.companies-page-wrap .awards-columns .wp-block-column {
    text-align: center;
    background: var(--main-bg);
    padding: .6rem;
    border-radius: 8px;
}
.companies-page-wrap .awards-columns figure {
    margin-bottom: 0;
}
.companies-page-wrap .awards-columns .wp-block-column p:first-child {
    font-weight: bold;
    margin: .5rem auto;
    line-height: 1.5;
}
.companies-page-wrap .awards-columns .wp-block-column p:last-child {
    margin-bottom: .5rem;
    line-height: 1.5;
    font-size: 0.95rem;
}
.companies-page-wrap .awards-columns .green-line {
    display: inline-block;
    color: #fff;
    background: var(--main-color);
    line-height: 1.25;
    font-size: 1.2rem;
    font-weight: bold;
    padding: .5rem 0;
    width: 100%;
    max-width: 200px;
    margin-bottom: .8rem;
}
.companies-page-wrap .awards-columns img {
    max-width: 400px;
    width: 100%;
}

@media only screen and (max-width:781px) {
    .companies-page-wrap .awards-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media only screen and (max-width:640px) {
    .companies-page-wrap .awards-columns {
        grid-template-columns: 1fr;
    }
}


/* メディア掲載 */
.companies-page-wrap .media .media-columns {
    display: grid;
    grid-template-columns: minmax(auto, 42%) minmax(auto, 58%);
}
.companies-page-wrap .media .media-columns2 {
    display: grid;
    grid-template-columns: minmax(auto, 58%) minmax(auto, 42%);
}
.companies-page-wrap .media .media-columns .wp-block-column {
    text-align: center;
}
.companies-page-wrap .media .media-columns img {
    margin: auto;
    padding-bottom: 0 !important;
}
.news-title {
    padding: 13px 18px;
    width: 100%;
    max-width: 300px;
    color: #555;
    background: var(--unnamed-color-f8f8f8);
    border-radius: 5px;
    font-size: 0.8rem;
    margin: 1rem auto;
    line-height: 1.5;
    text-align: center;
}
.companies-page-wrap .media .line-yellow-border {
    text-align: left;
    margin-left: 0;
    line-height: 1.5;
    margin-bottom: .1rem;
    display: inline;
}
.companies-page-wrap .media .to-link a {
    color: var(--text-color);
    font-size: .9rem;
}
.companies-page-wrap .media .to-link a::after {
    font-family: FontAwesome;
    content: "\f08e";
}
.companies-page-wrap .media .news-link {
    margin-bottom: 3rem;
}
@media only screen and (max-width:640px) {
    .companies-page-wrap .media .media-columns,    
    .companies-page-wrap .media .media-columns2 {
        grid-template-columns: 1fr;
        max-width: 420px;
        gap: 1rem;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 1rem;
    }
    .companies-page-wrap .media .img-news2 img {
        width: 100%;
        max-width: 330px;
    }
    .companies-page-wrap .media .news-1 {
        order: 1;
    }
    .companies-page-wrap .media .news-2 {
        order: 2;
    }

}


/* ページ下バナー:お問合せエリア /
/*
 *  ページ下バナー
 * 自治体の方へ、企業関係者の方へ、美容院関係者の⽅へ　ページで使っています
 */

.contact-box .contact-columns {
    margin: 0 15px 15px 15px;
    display: grid;
    grid-template-columns: 150px  auto;
    border: solid var(--main-color) 2px;
    gap: 0;
}
.contact-box .contact-columns p {
    margin-bottom: 0;
}
.contact-box .contact-columns .left-column {
    padding: 1rem;
    color: #fff;
    background: var(--main-color);
    display: grid;
    place-items: center;
    font-weight: bold;
    font-size: 1.1rem;
}
.contact-box .contact-columns .right-column {
    padding: 1rem;
    background: var(--main-bg);
    color: var(--main-dark-1);
}
.contact-box p.company-name {
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1.5;
    border-bottom: 3px solid var(--main-light-2);
    margin-bottom: .25rem;
}
.contact-box p.staff-name {
    font-weight: bold;
    font-size: 0.98rem;
    margin-bottom: .5rem;
}
.contact-box .staff-name span {
    font-size: .8rem;
}
.contact-box p.address {

}
.contact-box p.mail-add {
    margin-bottom: .5rem;
}
.contact-box p.mail-add a {
    text-decoration: none;
}
.contact-box .to-contact {
    margin-top: .5rem;
}
.contact-box .to-contact a {
    display: inline-block;
    padding: 10px 20px;
    border: solid var(--main-light-1) 2px;
    background: #fff;
    border-radius: 40px;
    text-decoration: none;
    font-size: .9rem;
    font-weight: bold;
}
.contact-box .to-contact a:hover {
    background: var(--main-light-3);
}
.contact-box .to-contact a::before {
    content: "\f003";
    font: normal bold normal 14px/1 FontAwesome;
    margin-right: 10px;
}
@media only screen and (max-width:640px) {
    .contact-box .contact-columns {
        grid-template-columns: 1fr;
        margin: 0 0 1rem;
    }
    .contact-box .contact-columns .left-column {
        padding: .5rem;
    }
    .contact-box .to-contact {
        width: 100%;
        text-align: center;
    }
    .contact-box p.company-name {
        font-size: 1.1rem;
    }
    .contact-box p.address,
    .contact-box p.mail-add {
        font-size: .95rem;
        padding-left: 4.5em;
        text-indent: -4.5em;
    }
}
@media only screen and (min-width:461px) {
    .contact-box .add-br {
        display: none;
    }
}
@media only screen and (max-width:460px) {
    .contact-box p.address {
        line-height: 1.5;
    }
}
/*end/ ページ下バナー:お問合せエリア /


/*--------------------------------------------
毛髪分析について「美容院関係者の方へ」
--------------------------------------------*/

/* ⽑髪分析について「美容院関係者の⽅へ」 */
.hair-salons-page-wrap .logo-hair-analysis img {
    max-width: 600px;
    width: 100%;
}
.hair-salons-page-wrap .beauty-and-health {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.hair-salons-page-wrap .beauty-and-health .wp-block-columns,
.hair-salons-page-wrap .beauty-and-health .wp-block-columns p {
    margin-bottom: 0;
}
.hair-salons-page-wrap .beauty-and-health .beauty-columns,
.hair-salons-page-wrap .beauty-and-health .health-columns {
    display: grid;
    grid-template-columns: 110px auto;
    gap: 10px;
}
.hair-salons-page-wrap .beauty-and-health .circle-beauty,
.hair-salons-page-wrap .beauty-and-health .circle-health {
    display: block;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    text-align:center;
    line-height: 100px;
    color: #fff;
    font-weight: bold;
    font-family: A-OTF Shuei MaruGo Std;
    margin: auto;
}
.hair-salons-page-wrap .beauty-and-health .circle-beauty {
    background: #EB6761;
    font-size: 3rem;
}
.hair-salons-page-wrap .beauty-and-health .circle-health {
    background: #21ACA1;
    font-size: 2.2rem;
}

.hair-salons-page-wrap .beauty-and-health .txt-beauty,
.hair-salons-page-wrap .beauty-and-health .txt-health {
    position: relative;
    height: 100px;
    line-height: 1.25;
    font-weight: bold;
    font-size: 1.45rem;
}
.hair-salons-page-wrap .beauty-and-health .txt-beauty {
    color: #EB6761;
}
.hair-salons-page-wrap .beauty-and-health .txt-health {
    color: #21ACA1;
}

.hair-salons-page-wrap .beauty-and-health .txt-beauty span,
.hair-salons-page-wrap .beauty-and-health .txt-health span {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.hair-salons-page-wrap .box-green {
    background: var(--mix-bg);    
    border-radius: 5px;
    padding: 10px;
    font-size: .9rem;
}
@media only screen and (max-width:781px) {
    .hair-salons-page-wrap .beauty-and-health {
        gap: 2rem;
    }

}
@media only screen and (min-width:641px) {
    .hair-salons-page-wrap .beauty-and-health br {
        display: none;
    }
}
@media only screen and (max-width:640px) {
    .hair-salons-page-wrap .beauty-and-health {
        gap: 10px;
    }
    .hair-salons-page-wrap .beauty-and-health .txt-beauty,
    .hair-salons-page-wrap .beauty-and-health .txt-health {
        font-size: 1.3rem;
    }
}
@media only screen and (max-width:500px) {
    .hair-salons-page-wrap .beauty-and-health {
        gap: 5px;
    }
    .hair-salons-page-wrap .beauty-and-health .beauty-columns,
    .hair-salons-page-wrap .beauty-and-health .health-columns {
        grid-template-columns: 75px auto;
        gap: 5px;
    }
    .hair-salons-page-wrap .beauty-and-health .circle-beauty,
    .hair-salons-page-wrap .beauty-and-health .circle-health {
        display: block;
        width: 70px;
        height: 70px;
        line-height: 70px;
    }
    .hair-salons-page-wrap .beauty-and-health .circle-beauty {
        font-size: 2.5rem;
    }
    .hair-salons-page-wrap .beauty-and-health .circle-health {
        font-size: 1.8rem;
    }
    .hair-salons-page-wrap .beauty-and-health .txt-beauty,
    .hair-salons-page-wrap .beauty-and-health .txt-health {
        height: 70px;
        font-size: 1.2rem;
        line-height: 1.2;
    }
}
@media only screen and (max-width:400px) {
    .hair-salons-page-wrap .beauty-and-health .txt-beauty,
    .hair-salons-page-wrap .beauty-and-health .txt-health {
        font-size: 1.1rem;
    }
}
/* ３つの「S」を防いで１つの「D」を叶える */
.hair-salons-page-wrap  .three-s-one-d .img-three-s-one-d {
    padding: 1.5rem;
    background: var(--accent-bg);
    border-radius: 10px;
}
.hair-salons-page-wrap  .three-s-one-d .img-three-s-one-d img {
    padding-bottom: 0 !important;
}

.hair-salons-page-wrap .three-s-one-d .img-4koma-pc,
.hair-salons-page-wrap .three-s-one-d .img-4koma-sp {
    margin-top: 1.5rem;
    text-align: center;
}
.hair-salons-page-wrap .three-s-one-d .img-4koma-sp img {
    max-width: 400px;
    width: 100%;
}

@media only screen and (min-width:641px) {
    .hair-salons-page-wrap .three-s-one-d .img-4koma-sp {
        display: none;
    }
}
@media only screen and (max-width:640px) {
    .hair-salons-page-wrap .three-s-one-d .img-4koma-pc {
        display: none;
    }
}


/*--------------------------------------------
2025 ⼤阪万博出展案内
--------------------------------------------*/
.expo2025-page-wrap .to-links {
    margin-bottom: 1.5rem;
}
.expo2025-page-wrap .to-links p:not(:last-child) {
    margin-bottom: .25rem;
}
.expo2025-page-wrap .to-links a::after {
    font-family: FontAwesome;
    content: "\f08e";
}
.expo2025-page-wrap .to-links a {
    font-size: .95rem;
}

/*出展ブース*/
.expo2025-page-wrap .ex-booth .t-booth {
    padding: 0.25em 0.5em;
    color: #494949;
    background: transparent;
    border-left: solid 18px var(--main-light-1);
    line-height: 12px;
    font-weight: bold;    
}
.expo2025-page-wrap .ex-booth .t-booth:not(:first-child) {
    margin-top: 1.25rem;
}
.expo2025-page-wrap .ex-booth figure {
    margin-bottom: 0;
}
.expo2025-page-wrap .ex-companies {
    border: #21ACA1 solid 1px;
    margin-top: 1.5rem;

}
.expo2025-page-wrap .ex-companies .ex-box {
    background: var(--main-color);
    color: #fff;
    font-weight: bold;
    padding: 10px;
    margin-bottom: 10px;
}
.expo2025-page-wrap .ex-companies .ex-box p {
    margin-bottom: 0;
    padding: 0 8px;
    line-height: 1.5;
}
.expo2025-page-wrap .ex-companies .pj-title {
}
.expo2025-page-wrap .ex-companies p.pj-corporation {
    font-size: .8rem;
    margin-bottom: .2rem;
}
.expo2025-page-wrap .ex-companies .pj-company {
    font-size: 1.5rem;
}

.expo2025-page-wrap .ex-companies .wp-block-columns {
    gap: 10px;
    margin: auto 10px 10px;
    font-size: .85rem;
}
.expo2025-page-wrap .ex-companies .wp-block-column {
    padding: 10px;
    display: grid;
    place-items: center;
}
.expo2025-page-wrap .ex-companies .wp-block-column p {
    margin-bottom: 0;
    width: 100%;
}
.expo2025-page-wrap .ex-companies .wp-block-columns:nth-child(odd) .wp-block-column {
    background: var(--main-light-3);
}
.expo2025-page-wrap .ex-companies .wp-block-columns:nth-child(even) .wp-block-column {
    background: var(--main-light-2);
}
@media only screen and (max-width:781px) {
    .expo2025-page-wrap .ex-companies .ex-box p {
        padding: 0 4px;
    }
    .expo2025-page-wrap .ex-companies .wp-block-columns {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 6px;
        margin: auto 6px 6px;
    }

}
@media only screen and (max-width:640px) {
    .expo2025-page-wrap .ex-companies .ex-box {
        margin-bottom: 6px;
    }
    .expo2025-page-wrap .ex-companies .pj-company {
        font-size: 1.3rem;
    }
    
    .expo2025-page-wrap .ex-companies .wp-block-columns {
        grid-template-columns: 1fr 1fr;
        font-size: .75rem;
    }
    .expo2025-page-wrap .ex-companies .wp-block-column {
        padding: 6px;
    }
    .expo2025-page-wrap .ex-companies .wp-block-column br {
        display: none;        
    }
}



/*----------------------------------
問合せフォーム
----------------------------------*/
.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;
}


/*----------------------------------
プライバシーポリシー
----------------------------------*/
.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;
    }
    
}