@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
/*
.noto-sans jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.noto-serif jp-regular {
  font-family: "Noto Serif JP", serif;
  font-weight: 400 500 600 700;
  font-style: normal;
}
*/
/*===============================================================

common

===============================================================*/
.site-main {
    padding:0;
}
.site-main .main-inner {
    background:#ffffff;
    padding:30px;
}
.site-main .main-inner_top {
    margin-top:-58px !important;
    padding-top:100px;
}
.site-main .main-inner_page {
    background:linear-gradient(to bottom, #fceaeb, #ffffff);
    padding:0 30px 30px 30px;
}
@media only screen and (max-width: 980px) {
    .site-main {
        padding:0;
    }
}
@media only screen and (max-width: 768px) {
    .site-main .main-inner {
        padding:10px;
    }
}

.site-work {
    background:#ffffff;
}

.viewSp {
    display:none;
}

@media only screen and (max-width: 580px) {
    .viewPc {
        display:none;
    }
    .viewSp {
        display:block;
    }
}
.entry-header {
    background:url(../images/common/entry-headerBk.png) no-repeat top center;
    background-size:contain;
    text-align:center;
}
.entry-header .entry-title,
.entry-header h1.entry-title {
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:700;
    font-style:normal;
    font-size:clamp(2.2rem, 3.6vw, 3.6rem);
    background:url(../images/common/entry-titleBk.png) no-repeat top center;
    padding-top:200px;
    margin:0;
}
.entry-header .entry-title,
.entry-header h1.search-title {
    font-size:clamp(1.8rem, 2.2vw, 2.2rem);
}

/*　小見出し　
 =============================================================== */
/* 区切り ----------------------------------- */
/*　List
---------------------------------------- */
.nolist {
    list-style:none;
    padding:0;
    margin:0;
}

/*　改行
 =============================================================== */
.brSp {
    display:none;
}

@media only screen and (max-width: 768px) {
    .brSp {
        display:block;
    }
}
/*　画像スマホ切替
 =============================================================== */
.imgSp {
    display:none;
}

@media only screen and (max-width: 768px) {
    .imgSp {
        display:block;
    }
    .imgPc {
        display:none;
    }
}
/*　Wrap　
 =============================================================== */
.inWrap {
    max-width:800px;
    margin:0 auto;
}

/*　Flex
 =============================================================== */
.btn3Flex {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}
.btn3Flex .flex__item {
    width:calc(33.3% - 10px);
}
@media only screen and (max-width: 860px) {
    .btn3Flex .flex__item {
        width:calc(50% - 10px);
    }
}
@media only screen and (max-width: 540px) {
    .btn3Flex .flex__item {
        width:calc(100% - 10px);
    }
}

.h2_2026 {
    background:url(../images/common/h2_bk.png) no-repeat top center;
    text-align:center;
    color:#000000;
    font-size:clamp(2.2rem, 3vw, 3rem);
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    padding-top:180px;
    margin-bottom:30px;
}

h1.h2_2026_2,
.h2_2026_2 {
    font-size:clamp(2.2rem, 3vw, 3rem);
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    text-align:center;
    padding:0 0 100px 0;
    background:url(../images/common/h2_2026_2Bk.png) no-repeat bottom;
}
@media only screen and (max-width: 420px) {
    h1.h2_2026_2,
    .h2_2026_2 {
        background-size:contain;
    }
}

.gaiyoTtl {
    background:url(../images/common/gaiyoTtlBk.png) no-repeat center center;
    text-align:center;
    font-size:clamp(2.2rem, 3vw, 3rem);
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    padding:20px 15px;
}

/*法人検索*/
.searchButton {
    height:70px;
    margin-bottom:50px;
}
.searchButton.is-disabled a {
    pointer-events:none;
    cursor:default;
    border-bottom:solid 5px #999999;
    border-radius:50px;
}
.searchButton.is-disabled a::after {
    content:'公開準備中';
    font-family:inherit;
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255, 255, 255, 0.7);
    color:#333333;
    font-weight:700;
    font-size:2.4rem;
    padding-right:0;
    border-radius:50px;
}
.searchButton.is-disabled a:hover {
    border-bottom:solid 5px #999999;
    transform:none;
}

.searchButton a {
    position:relative;
    display:flex;
    justify-content:space-around;
    align-items:center;
    margin:auto;
    max-width:320px;
    padding:10px 10px 10px 35px;
    color:#333333;
    text-decoration:none;
    color:#ffffff;
    line-height:1.8;
    transition:0.3s ease-in-out;
    background:#35b1c5;
    border-radius:9999px;
    border-bottom:solid 5px #237684;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:3rem;
}
.searchButton a:after {
    font-family:'Font Awesome 5 Free';
    content:'\f002';
    font-weight:900;
    padding-right:0;
    /*文字との隙間*/
    color:#ffffff;
    /*アイコンの色*/
}

.searchButton a:hover {
    border-bottom:solid 2px #999999;
    transform:translateY(3px);
}

/*出展法人一覧*/
.houjinListButton {
    height:70px;
    position:relative;
}
.houjinListButton.is-disabled a {
    pointer-events:none;
    cursor:default;
    border-bottom:solid 5px #999999;
    color:#eeeeee;
}
.houjinListButton.is-disabled::after {
    content:'公開準備中';
    position:absolute;
    inset:0;
    background:rgba(255, 255, 255, 0.7);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:1.4rem;
    color:#333333;
    text-align:center;
    pointer-events:none;
}
.houjinListButton.is-disabled a:hover {
    border-bottom:solid 5px #999999;
    transform:none;
}

.houjinListButton a {
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:auto;
    max-width:300px;
    padding:10px 10px 10px 10px;
    text-decoration:none;
    text-align:center;
    color:#ffffff;
    line-height:1.8;
    transition:0.3s ease-in-out;
    background:#dd1c4a;
    border-radius:8px;
    border-bottom:solid 5px #a11810;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:1.6rem;
}
.houjinListButton a:after {
    position:absolute;
    right:10px;
    font-family:'Font Awesome 5 Free';
    content:'\f138';
    font-weight:900;
    padding-right:0;
    /*文字との隙間*/
    color:#ffffff;
    /*アイコンの色*/
}

.houjinListButton a:hover {
    border-bottom:solid 2px #999999;
    transform:translateY(3px);
}

/* 詳細ボタン */
.detailButton {
    text-align:center;
    width:100%;
}
.detailButton a {
    position:relative;
    display:inline-block;
    background:#dd1c4a;
    color:#ffffff;
    border-radius:8px;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:1.6rem;
    text-decoration:none;
    max-width:300px;
    text-align:center;
    padding:10px 35px;
    overflow:hidden;
    isolation:isolate;
    /* 既存の矢印 */
    /* ── キラッ（ホバー中のみ再生、戻りなし）── */
}
.detailButton a:after {
    position:absolute;
    right:10px;
    font-family:'Font Awesome 5 Free';
    content:'\f105';
    font-weight:900;
    color:#ffffff;
}
.detailButton a::before {
    content:'';
    position:absolute;
    top:-50%;
    left:-30%;
    width:40%;
    height:200%;
    pointer-events:none;
    background:linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 45%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0.55) 55%, rgba(255, 255, 255, 0) 100%);
    transform:skewX(-20deg) translateX(-150%);
    /* 初期位置（左外） */
    mix-blend-mode:screen;
    /* ここ重要：transitionは付けない→マウスアウト時に即リセット */
}
.detailButton a:hover::before,
.detailButton a:focus-visible::before {
    animation:shine 0.65s ease;
    /* 1回だけ再生、終わったら即初期化 */
}
.detailButton a:focus-visible {
    outline:2px solid rgba(255, 255, 255, 0.9);
    outline-offset:2px;
}
@media (prefers-reduced-motion: reduce) {
    .detailButton a::before {
        animation:none !important;
    }
    .detailButton a:hover::before,
    .detailButton a:focus-visible::before {
        animation:none;
    }
}

/* 左→右へ走るだけのキーフレーム（戻りなし） */
@keyframes shine {
    from {
        transform:skewX(-20deg) translateX(-150%);
    }
    to {
        transform:skewX(-20deg) translateX(350%);
    }
}
/* 親カテゴリのラベル全体をブロック表示 */
/* 子カテゴリを持つ親カテゴリのみ */
label.feas_clevel_01.has-children {
    display:block;
    font-weight:bold;
}
label.feas_clevel_01.has-children input[type=checkbox] {
    display:none;
}

/* すべてのチェックボックス付きラベルを対象 */
label.feas_clevel_01,
label.feas_clevel_02 {
    display:inline-flex;
    /* 横並びを維持 */
    align-items:center;
    /* 垂直中央揃え */
    gap:0.4em;
    /* チェックと文字の間隔 */
    white-space:nowrap;
    /* 改行させない */
    margin-right:1em;
    /* 横に並べたときの余白（任意） */
}

/*===============================================================

header

===============================================================*/
.site-branding {
    padding:10px;
}
.site-branding h1.site-logo {
    margin:0;
    padding:0;
}
.site-branding h1.site-logo img {
    vertical-align:top;
    max-width:520px;
}
.site-branding h1.site-logo .imgSp {
    display:none;
}
@media only screen and (max-width: 600px) {
    .site-branding h1.site-logo img {
        vertical-align:top;
        width:80%;
    }
    .site-branding h1.site-logo .imgSp {
        display:block;
    }
    .site-branding h1.site-logo .imgPc {
        display:none;
    }
}

@media only screen and (max-width: 768px) {
    .site-branding-top {
        padding:0 !important;
    }
}
/*===============================================================

gmnavi

===============================================================*/
.menuLogo {
    text-align:center;
}

.menuWrap {
    max-width:520px;
    margin:15px auto;
    background-color:#ffffff;
    border-radius:20px;
    padding:15px 20px 45px 20px;
}
.menuWrap a {
    display:block;
    border-bottom:1px dashed #666666;
    padding:15px 0;
    text-decoration:none;
    color:#dd1c4a;
    position:relative;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    transition:0.15s all;
}
.menuWrap a:after {
    position:absolute;
    font-family:'Font Awesome 5 Free';
    content:'\f054';
    font-weight:900;
    padding-right:5px;
    color:#dd1c4a;
    right:5px;
    transition:0.15s all;
}
.menuWrap a:hover {
    color:#35b1c5;
}
.menuWrap a:hover:after {
    right:0;
}
.menuWrap a.is-disabled {
    pointer-events:none;
    color:#aaaaaa !important;
}
.menuWrap a.is-disabled:after {
    display:none;
}
.menuWrap a.is-disabled::before {
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color:rgba(255, 255, 255, 0.7);
    border-radius:5px;
    z-index:1;
}
.menuWrap a.is-disabled::after {
    content:'公開準備中です';
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    color:#333333;
    font-size:0.9rem;
    font-weight:600;
    z-index:2;
    pointer-events:none;
}

/*　#g-nav5.openbtn5
=============================================================== */
#g-nav5 {
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position:fixed;
    z-index:-1;
    opacity:0;
    top:0;
    width:100%;
    height:100vh;
    transition:all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav5.panelactive {
    opacity:1;
    z-index:999;
}

/*ナビゲーションの縦スクロール*/
#g-nav5.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position:fixed;
    z-index:999;
    width:100%;
    height:100vh;
    /*表示する高さ*/
    overflow:auto;
    -webkit-overflow-scrolling:touch;
}

.site-gnavSp-container {
    height:100vh;
    background-color:#fceaeb;
    padding:60px 0;
}

.site-gnavSp {
    margin:0;
    padding:0;
    list-style:none;
    padding:0;
    width:100%;
    background-color:#f8f8f8;
    border-radius:8px;
    box-shadow:0 4px 6px rgba(0, 0, 0, 0.1);
    max-width:320px;
}
.site-gnavSp li {
    border-bottom:1px solid #dddddd;
    position:relative;
}
.site-gnavSp li:last-child {
    border-bottom:none;
}
.site-gnavSp li a,
.site-gnavSp li label {
    display:block;
    padding:12px 16px;
    color:#dd1c4a;
    text-decoration:none;
    font-size:16px;
    transition:background 0.3s;
    cursor:pointer;
}
.site-gnavSp li a:hover,
.site-gnavSp li label:hover {
    background:#e0e0e0;
}
.site-gnavSp li ul {
    list-style:none;
    padding:0;
    margin:0;
    background:#ffffff;
    max-height:0;
    overflow:hidden;
    transition:max-height 0.3s ease-in-out;
}
.site-gnavSp li ul li {
    border-bottom:none;
}
.site-gnavSp li ul li a {
    padding-left:24px;
    font-size:14px;
    color:#666666;
}
.site-gnavSp li input[type=checkbox] {
    display:none;
}
.site-gnavSp li input[type=checkbox]:checked ~ ul {
    max-height:500px;
}
.site-gnavSp li label {
    position:relative;
    padding-right:40px;
}
.site-gnavSp li label::after {
    content:'▼';
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    font-size:12px;
    transition:transform 0.3s;
    color:#fcebec;
}
.site-gnavSp li input[type=checkbox]:checked + label::after {
    transform:translateY(-50%) rotate(180deg);
}

/*========= ボタンのためのCSS ===============*/
.openbtn5 {
    position:fixed;
    z-index:9999;
    /*ボタンを最前面に*/
    top:2px;
    right:2px;
    cursor:pointer;
    width:57px;
    height:57px;
    background-color:#ffffff;
    border:2px solid #dd1c4a;
    border-radius:6px;
}

/*×に変化*/
.openbtn5 span {
    display:inline-block;
    transition:all 0.4s;
    position:absolute;
    left:14px;
    height:3px;
    border-radius:2px;
    background-color:#dd1c4a;
    width:45%;
}

.openbtn5 span:nth-of-type(1) {
    top:15px;
}

.openbtn5 span:nth-of-type(2) {
    top:23px;
}

.openbtn5 span:nth-of-type(3) {
    top:31px;
}

.openbtn5.active span:nth-of-type(1) {
    top:18px;
    left:18px;
    transform:translateY(6px) rotate(-45deg);
    width:30%;
}

.openbtn5.active span:nth-of-type(2) {
    opacity:0;
}

.openbtn5.active span:nth-of-type(3) {
    top:30px;
    left:18px;
    transform:translateY(-6px) rotate(45deg);
    width:30%;
}

@media only screen and (max-width: 580px) {
    .openbtn5 {
        width:42px;
        height:42px;
    }
    .openbtn5 span {
        left:10px;
    }
    .openbtn5 span:nth-of-type(1) {
        top:10px;
    }
    .openbtn5 span:nth-of-type(2) {
        top:18px;
    }
    .openbtn5 span:nth-of-type(3) {
        top:26px;
    }
    .openbtn5.active span:nth-of-type(1) {
        top:12px;
        left:9px;
        transform:translateY(6px) rotate(-45deg);
        width:50%;
    }
    .openbtn5.active span:nth-of-type(2) {
        opacity:0;
    }
    .openbtn5.active span:nth-of-type(3) {
        top:24px;
        left:9px;
        transform:translateY(-6px) rotate(45deg);
        width:50%;
    }
}
/*===============================================================

footer

===============================================================*/
.footerWrap {
    background:#fdfbf7;
}

.footer-info {
    display:flex;
}
.footer-info .info-logo {
    text-align:center;
    font-family:'M PLUS Rounded 1c', sans-serif;
    padding:30px 5px 15px 5px;
}
.footer-info .info-logo h2 {
    font-size:2.2rem;
}
.footer-info .info-logo a {
    color:#333333;
    text-decoration:none;
}
.footer-info .info-detail {
    line-height:1;
    padding:30px 15px 15px 15px;
}
.footer-info .info-detail dl {
    margin-bottom:15px;
    font-size:1.4rem;
}
.footer-info .info-detail dl dt {
    float:left;
    display:inline-block;
    width:60px;
    text-align:center;
    padding:3px 5px;
    border-radius:5px;
    font-weight:normal;
}
.footer-info .info-detail dl dd {
    margin-left:70px;
    padding-top:3px;
}

.footerFlex {
    display:flex;
    list-style:none;
    margin:0;
}
.footerFlex li {
    margin-right:1em;
    font-size:1.4rem;
}
.footerFlex li a {
    color:#333333;
    text-decoration:none;
}
.footerFlex li a:hover {
    text-decoration:none;
    color:#dd1c4a;
}

@media only screen and (max-width: 980px) {
    /*　footer-m
  =============================================================== */
    .site-footer {
        margin-bottom:0;
    }
    .site-footer2 {
        padding-bottom:56px;
        border-bottom:1px solid #ffffff;
    }
    .footerLink {
        bottom:0;
        position:fixed;
        display:block;
        width:100%;
        text-align:center;
        z-index:150;
    }
    .footerLink .footerBtnFlex {
        display:flex;
        justify-content:center;
        align-items:center;
        background:#dd1c4a;
        line-height:1.2;
    }
    .footerLink .footerBtnFlex .footerBtn__item {
        width:33.3%;
        text-align:center;
    }
    .footerLink .footerBtnFlex .footerBtn__item a {
        color:#ffffff;
        display:block;
        padding:0.5em 0;
    }
    .footerLink .footerBtnFlex .footerBtn__item a:hover {
        text-decoration:none;
    }
    .footerLink .footerBtnFlex .footerBtn__item1 {
        background:#35b1c5;
    }
    .footerLink .footerBtnFlex .footerBtn__item2 {
        background:#7ad8db;
    }
    .footerLink .footerBtnFlex .footerBtn__item3 {
        background:#fcebec;
    }
}
@media only screen and (max-width: 600px) {
    .footer-info {
        display:block;
    }
}
.tel-number {
    color:#333333 !important;
    text-decoration:none !important;
}

.site-footer .site-info {
    padding:5px;
    background:#35b1c5;
    text-align:center;
    color:#ffffff;
}

@media only screen and (max-width: 768px) {
    .site-footer {
        padding-bottom:70px;
    }
}
.sideNav {
    position:fixed;
    right:0;
    top:65px;
    z-index:1000;
}
.sideNav ul {
    list-style:none;
    padding:0;
    margin:0;
}
.sideNav ul li {
    position:relative;
}
.sideNav ul li a {
    display:block;
    transition:0.15s all;
}
.sideNav ul li a:hover {
    opacity:0.8;
}
.sideNav ul li.is-disabled a {
    pointer-events:none;
}
.sideNav ul li.is-disabled::after {
    content:'公開準備中';
    position:absolute;
    inset:0;
    background:rgba(255, 255, 255, 0.7);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:bold;
    font-size:14px;
    color:#333333;
    writing-mode:vertical-rl;
    text-orientation:mixed;
    letter-spacing:0.1em;
    line-height:1;
    white-space:nowrap;
    pointer-events:none;
}
.sideNav ul li.is-disabled img {
    filter:grayscale(1);
    opacity:0.6;
}
.sideNav ul li.is-disabled a:hover {
    opacity:1;
}
@media only screen and (max-width: 768px) {
    .sideNav {
        display:none;
    }
}

.footerNav {
    display:none;
}

@media only screen and (max-width: 768px) {
    .footerNav {
        display:block;
        position:fixed;
        width:100%;
        bottom:0;
    }
    .footerNavFlex {
        border-top:1px solid #ffffff;
        list-style:none;
        margin:0;
        padding:0;
        display:flex;
        width:100%;
    }
    .footerNavFlex .nav__item {
        width:33.3333%;
        text-align:center;
        position:relative;
    }
    .footerNavFlex .nav__item a {
        text-align:center;
        display:block;
        background-color:#279f1e;
        color:#ffffff;
        padding:15px 0;
        text-decoration:none;
    }
    .footerNavFlex .nav__item.is-disabled a {
        pointer-events:none;
    }
    .footerNavFlex .nav__item.is-disabled::after {
        content:'公開準備中';
        position:absolute;
        inset:0;
        background:rgba(255, 255, 255, 0.7);
        display:flex;
        align-items:center;
        justify-content:center;
        font-weight:bold;
        font-size:13px;
        color:#333333;
        pointer-events:none;
        text-align:center;
        line-height:1.4;
    }
    .footerNavFlex .nav__item.is-disabled a {
        color:#999999;
    }
    .footerNavFlex .nav__item2 a {
        background:#35b1c5;
    }
    .footerNavFlex .nav__item3 a {
        background:#f29408;
    }
}
.footer_info {
    border-top:1px dashed #cccccc;
    border-bottom:1px dashed #cccccc;
    padding:15px 0;
}
.footer_info .inTxt {
    text-align:center;
    font-size:1.4rem;
}
.footer_info .inTxt p {
    margin:0;
}
.footer_info .inTxt .inSpan1 {
    display:inline-block;
    margin-right:20px;
}
@media only screen and (max-width: 768px) {
    .footer_info .inTxt {
        text-align:left;
    }
    .footer_info .inTxt p {
        margin-bottom:0.5em;
    }
    .footer_info .inTxt .inSpan1 {
        display:block !important;
        margin-right:0;
        margin-bottom:0.5em;
    }
}

/*===============================================================

parts

===============================================================*/
/* page-top
========================================================================== */
a.page-top {
    position:fixed;
    bottom:40px;
    right:8px;
            border-radius:50px;
    -webkit-border-radius:50px;
       -moz-border-radius:50px;
    -ms-filter:'alpha(opacity=80)';
      -moz-opacity:1;
    -khtml-opacity:1;
           opacity:1;
    z-index:10000;
}

/*　パンくずリスト
========================================================================== */
.breadcrumbs {
    font-size:1.4rem;
}
.breadcrumbs a {
    color:#333333;
}
.breadcrumbs a:hover {
    color:#dd1c4a;
}

/*　singleページのナビゲーション
========================================================================== */
.nav-links {
    display:flex;
    justify-content:space-around;
    font-size:14px;
    margin:10px 0;
    padding:10px;
}
.nav-links a {
    color:#333333;
    text-decoration:none;
}
.nav-links a:hover {
    color:#fcebec;
}
.nav-links .nav-previous,
.nav-links .nav-next {
    margin:10px;
}

/*　ページャー　wp-pagenavi
=============================================================== */
.wp-pagenavi {
    /*
  clear: both;
  text-align: center;
  margin-top: 60px;
  */
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    justify-content:center;
    align-items:center;
    max-width:100%;
    padding:8px;
    box-sizing:border-box;
}

.wp-pagenavi a,
.wp-pagenavi span {
    color:#999999;
    background-color:#ffffff;
    border:solid 1px #e0e0d2;
    padding:8px 15px !important;
    margin:0 2px;
    white-space:nowrap;
       -moz-border-radius:3px;
    -webkit-border-radius:3px;
            border-radius:3px;
    -webkit-transition:0.2s ease-in-out;
       -moz-transition:0.2s ease-in-out;
         -o-transition:0.2s ease-in-out;
            transition:0.2s ease-in-out;
    text-align:center;
    text-decoration:none;
}

.wp-pagenavi a:hover {
    color:#ffffff;
    background-color:#7ad8db;
    border-color:#cccccc !important;
}

.wp-pagenavi span.current {
    color:#ffffff;
    background-color:#dd1c4a;
    border-color:#dd1c4a;
    font-weight:bold;
}

@media only screen and (max-width: 768px) {
    .wp-pagenavi {
        flex-wrap:wrap;
        gap:6px;
        padding:10px;
        justify-content:center;
        overflow-x:hidden;
    }
    .wp-pagenavi a,
    .wp-pagenavi span {
        font-size:13px;
        padding:6px 10px;
    }
}
/* search
========================================================================== */
#searchform {
    margin-bottom:32px;
}
#searchform input {
    font-size:18px;
    padding:2px 12px;
}
#searchform input:focus {
    outline:none;
}

/* ggmap
========================================================================== */
.ggmap {
    clear:both;
    position:relative;
    padding-bottom:56.25%;
    padding-top:30px;
    height:0;
    overflow:hidden;
    margin-top:16px;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:94%;
    display:inline;
}

/* youtube
========================================================================== */
.youtube {
    clear:both;
    position:relative;
    padding-bottom:56.25%;
    padding-top:0;
    height:0;
    overflow:hidden;
    margin-top:0;
}

.youtube video,
.youtube iframe,
.youtube object,
.youtube embed {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:inline;
}

/*youtube 中央揃え*/
.wp-block-embed-youtube {
    text-align:center;
    /* ブロック全体を中央揃え */
}

.wp-block-embed-youtube iframe {
    display:block;
    /* ブラウザのデフォルト動作を防ぐ */
    margin:0 auto;
    /* iframeを中央揃え */
}

/*  scroll-hint
========================================================================== */
@keyframes scroll-hint-appear {
    0% {
        transform:translateX(40px);
        opacity:0;
    }
    10% {
        opacity:1;
    }
    50%,
    100% {
        transform:translateX(-40px);
        opacity:0;
    }
}
.scroll-hint.is-right-scrollable {
    background:linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
    background:linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
    background:linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
    position:absolute;
    top:calc(50% - 25px);
    left:calc(50% - 60px);
    box-sizing:border-box;
    width:120px;
    height:80px;
    border-radius:5px;
    transition:opacity 0.3s;
    opacity:0;
    background:rgba(0, 0, 0, 0.7);
    text-align:center;
    padding:20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    max-height:100%;
    pointer-events:none;
}

.scroll-hint-text {
    font-size:10px;
    color:#ffffff;
    margin-top:5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity:0.8;
}

.scroll-hint-icon:before {
    display:inline-block;
    width:40px;
    height:40px;
    color:#ffffff;
    vertical-align:middle;
    text-align:center;
    content:'';
    background-size:contain;
    background-position:center center;
    background-repeat:no-repeat;
    background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
    content:'';
    width:34px;
    height:14px;
    display:block;
    position:absolute;
    top:10px;
    left:50%;
    margin-left:-20px;
    background-repeat:no-repeat;
    background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
    opacity:0;
    transition-delay:2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
    opacity:1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
    animation:scroll-hint-appear 1.2s linear;
    animation-iteration-count:2;
}

.scroll-hint-icon-white {
    background-color:#ffffff;
    box-shadow:0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
    background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
    background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
    color:#000000;
}

/*  入稿フォーム
========================================================================== */
h1.draftTtl {
    position:relative;
    line-height:1.4;
    padding:0.25em 1em;
    display:inline-block;
    top:0;
    margin-top:50px;
}

h1.draftTtl {
    position:relative;
    padding:0.5em 1em;
    color:#333333;
}

h1.draftTtl::before,
h1.draftTtl::after {
    display:inline-block;
    position:absolute;
    width:10px;
    height:100%;
    border:3px solid #0c2275;
    box-sizing:border-box;
    content:'';
}

h1.draftTtl::before {
    top:0;
    left:0;
    border-right:none;
}

h1.draftTtl::after {
    bottom:0;
    right:0;
    border-left:none;
}

.site-footer-draft {
    background-color:#0c2275;
    color:#ffffff;
    padding:0.5em;
}

.draftWrap {
    border:4px solid #eeeeee;
    text-align:center;
    padding:2em 2em 4em 2em;
    border-radius:15px;
}
.draftWrap h2 {
    color:#dd1c4a;
    margin:2em 0;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
}

/* =========================================
   Draft Box - refined spacing & image sizing
   ========================================= */
.draftBox {
    --bg:#f7f7f9;
    --fg:#222222;
    --muted:#666666;
    --accent:#3e7ad9;
    max-width:880px;
    min-height:clamp(420px, 60vh, 700px);
    margin:clamp(24px, 6vw, 64px) auto;
    padding:clamp(20px, 4vw, 48px);
    background:radial-gradient(1200px 800px at 50% -20%, #ffffff 0%, var(--bg) 70%);
    color:var(--fg);
    border-radius:16px;
    box-shadow:0 2px 12px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.6);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    /* 全体の縦中央 */
    text-align:center;
    /* ベースは詰め気味に */
    gap:clamp(8px, 1.6vw, 14px);
    animation:draftFade 0.5s ease-out both;
}
.draftBox img {
    display:block;
    width:100%;
    max-width:520px;
    /* 最大520px */
    height:auto;
    /* それ以下は100%で可変 */
    object-fit:contain;
    filter:drop-shadow(0 8px 20px rgba(0, 0, 0, 0.06));
    user-select:none;
    pointer-events:none;
    /* 画像→見出しの間をさらにタイトに */
    margin-bottom:clamp(2px, 0.8vw, 6px);
}
.draftBox h1 {
    font-size:clamp(20px, 3.2vw, 28px);
    font-weight:700;
    letter-spacing:0.02em;
    line-height:1.25;
    position:relative;
}
.draftBox h1::after {
    content:'';
    display:block;
    width:56px;
    height:2px;
    margin:clamp(4px, 0.8vw, 8px) auto 0;
    /* 下線も控えめに */
    background:linear-gradient(90deg, var(--accent), transparent 80%);
    border-radius:2px;
    opacity:0.85;
}
.draftBox p {
    font-size:clamp(14px, 2.2vw, 16px);
    line-height:1.9;
    color:var(--muted);
    max-width:56ch;
    margin-inline:auto;
    /* 段落の頭は少しだけ余裕 */
    margin-top:clamp(6px, 1.2vw, 10px);
}
@media (max-width: 420px) {
    .draftBox {
        min-height:68vh;
    }
}
@media (prefers-color-scheme: dark) {
    .draftBox {
        --bg:#0f1116;
        --fg:#e8e8ea;
        --muted:#b4b6bb;
        --accent:#86a8ff;
        background:radial-gradient(1200px 800px at 50% -20%, #161a22 0%, var(--bg) 70%);
        box-shadow:0 2px 18px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.02);
    }
    .draftBox h1::after {
        opacity:0.9;
    }
}

@keyframes draftFade {
    from {
        opacity:0;
        transform:translateY(4px);
    }
    to {
        opacity:1;
        transform:translateY(0);
    }
}
/*===============================================================

form

===============================================================*/
input[type=file] {
    border:0 solid #cccccc;
}

/*テキスト--------------------------------------*/
input[type=email],
input[type=text],
input[type=search],
textarea {
    width:100%;
    border-radius:4px;
    box-sizing:border-box;
    border:1px solid #cccccc;
    background:#ffffff;
            appearance:none;
    -webkit-appearance:none;
       -moz-appearance:none;
    padding:6px 6px 10px;
    font-size:2rem;
    margin:5px 0;
}

input[type=search] {
    width:70%;
}

select,
input[type=search],
textarea,
input[type=text]:focus {
    outline:0;
}

/*チェックボックス--------------------------------------*/
/*リセット */
input[type=checkbox] {
    height:20px;
    width:20px;
    padding-top:10px;
    margin-right:5px;
}

/* チェックボックスデザイン */
input[type=checkbox] {
    cursor:pointer;
    padding-left:0;
    vertical-align:middle;
}

.wpcf7-list-item-label {
    vertical-align:middle;
    display:inline-block;
    line-height:1.5;
}

input[type=radio] {
    font-size:1.8rem;
    border-radius:50%;
    margin-right:0.25rem;
    line-height:0.71428571;
    border:1px solid #cccccc;
    width:15px;
    height:15px;
    vertical-align:middle;
}

input[type=radio]:checked::before {
    margin:-0.4rem 0 0 -1.3rem;
    height:2.5rem;
    width:2.5rem;
}

/*セレクトボックス--------------------------------------*/
.select {
    display:inline-flex;
    align-items:center;
    position:relative;
}

.select::after {
    position:absolute;
    right:15px;
    width:10px;
    height:7px;
    background-color:#535353;
    clip-path:polygon(0 0, 100% 0, 50% 100%);
    content:'';
    pointer-events:none;
}

select {
    appearance:none;
    min-width:260px;
    height:2.8em;
    padding:0.4em calc(0.8em + 30px) 0.4em 0.8em;
    border:1px solid #cccccc;
    border-radius:3px;
    background-color:#ffffff;
    color:#333333;
    font-size:1em;
    cursor:pointer;
    background:rgba(255, 255, 255, 0.9) url(../images/common/selectBk.png) no-repeat right;
    margin-bottom:5px;
    margin-right:5px;
}

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

_form.scss

*******************************************************************************/
.Form {
    margin-top:0;
    margin-left:auto;
    margin-right:auto;
    max-width:100%;
    padding:10px;
}
.Form table th {
    position:relative;
    padding-right:70px !important;
}
.Form table th .Form-Item-Label-Required {
    position:absolute;
    top:50%;
    right:0;
            transform:translateY(-50%);
    -webkit-transform:translateY(-50%);
        -ms-transform:translateY(-50%);
    border-radius:6px;
    margin-right:8px;
    padding-top:4px;
    padding-bottom:4px;
    width:48px;
    display:inline-block;
    text-align:center;
    background:red;
    color:#ffffff;
    font-size:14px;
}
.Form table th .Form-Item-Label-Any {
    position:absolute;
    top:50%;
    right:0;
            transform:translateY(-50%);
    -webkit-transform:translateY(-50%);
        -ms-transform:translateY(-50%);
    border-radius:6px;
    margin-right:8px;
    padding-top:8px;
    padding-bottom:8px;
    width:48px;
    display:inline-block;
    text-align:center;
    background:#cccccc;
    color:#333333;
    font-size:14px;
}
.Form table td img {
    max-width:100%;
}
.Form p {
    margin-bottom:0 !important;
}
.Form .Form-Item {
    border-top:1px solid #cccccc;
    padding-top:24px;
    padding-bottom:24px;
    width:100%;
    display:flex;
    align-items:center;
}
.Form .Form-Item-school {
    margin-bottom:32px;
    overflow:hidden;
}
.Form .Form-Item2 {
    border-top:1px solid #cccccc;
    padding-top:24px;
    padding-bottom:24px;
    width:100%;
    display:block;
    align-items:center;
}
.Form .Form-Item:nth-child(5) {
    border-bottom:1px solid #cccccc;
}
.Form .Form-Item-Label {
    width:100%;
    max-width:300px;
    letter-spacing:0.05em;
    font-weight:bold;
    font-size:18px;
    background:#cccccc;
    height:100%;
}
.Form .Form-Item-Label2 {
    width:100%;
    letter-spacing:0.05em;
    font-weight:bold;
    font-size:14px;
    display:block;
    padding:24px 0;
}
.Form .Form-Item-Input {
    border:1px solid #cccccc;
    border-radius:6px;
    margin-left:0;
    padding-left:1em;
    padding-right:1em;
    height:48px;
    flex:1;
    width:100%;
    /*max-width: 410px;*/
    background:#ffffff;
    font-size:18px;
}
.Form .Form-Item-Input2 {
    border:1px solid #cccccc;
    border-radius:6px;
    margin-left:0;
    padding-left:1em;
    padding-right:1em;
    height:48px;
    flex:1;
    width:220px;
    max-width:410px;
    background:#ffffff;
    font-size:18px;
}
.Form .Form-Item-Input3 {
    border:1px solid #cccccc;
    border-radius:6px;
    margin-left:0;
    padding-left:1em;
    padding-right:1em;
    height:48px;
    width:80%;
    background:#eaedf2;
    font-size:18px;
}
.Form .Form-Item-Input4 {
    margin-left:0;
    padding-left:1em;
    padding-right:1em;
    height:48px;
    flex:1;
    width:100%;
    /*max-width: 410px;*/
    background:#ffffff;
    font-size:16px;
}
.Form .Form-Item-Input-tel3,
.Form .Form-Item-Input-tel2,
.Form .Form-Item-Input-tel1 {
    border:1px solid #cccccc;
    border-radius:6px;
    margin-left:0;
    padding-left:1em;
    padding-right:1em;
    height:48px;
    flex:1;
    width:90px;
    max-width:410px;
    background:#ffffff;
}
.Form .Form-Item-Input-year {
    border:1px solid #cccccc;
    border-radius:6px;
    margin-left:0;
    padding-left:1em;
    padding-right:1em;
    height:48px;
    flex:1;
    width:90px;
    max-width:410px;
    background:#ffffff;
}
.Form .formselect {
    -webkit-appearance:none;
       -moz-appearance:none;
            appearance:none;
    width:100%;
    height:48px;
    background:#eaedf2;
    position:relative;
    z-index:1;
    padding:0 40px 0 10px;
    border-radius:2px;
    background:rgba(255, 255, 255, 0.9) url(../images/common/selectBk.png) no-repeat right;
    border-radius:6px;
}
.Form select {
    margin-bottom:10px;
}
@media only screen and (max-width: 580px) {
    .Form .formBlock {
        display:block;
        margin-bottom:5px;
    }
}
.Form .formselectW120 {
    width:120px;
}
.Form .formselectW200 {
    width:200px;
}
.Form .form3Box {
    width:100%;
}
.Form .Form-Item-Label.isMsg {
    margin-top:8px;
    margin-bottom:auto;
}
.Form .Form-Item-Textarea {
    border:1px solid #dddddd;
    border-radius:6px;
    padding-left:1em;
    padding-right:1em;
    height:160px;
    flex:1;
    width:100%;
    font-size:18px;
}
.Form .Form-Btn {
    border-radius:6px;
    margin-top:32px;
    margin-left:auto;
    margin-right:auto;
    padding-top:20px;
    padding-bottom:20px;
    width:280px;
    display:inline;
    letter-spacing:0.05em;
    background:#dd1c4a;
    color:#ffffff;
    font-weight:bold;
    font-size:20px;
}
.Form .Form-Btn2 {
    border-radius:6px;
    margin-top:32px;
    margin-left:auto;
    margin-right:auto;
    padding-top:20px;
    padding-bottom:20px;
    width:180px;
    display:inline;
    letter-spacing:0.05em;
    background:#0c2275;
    color:#ffffff;
    font-weight:bold;
    font-size:20px;
}

/*.feas-submit-button,*/
.search-submit,
.search-Btn {
    border-radius:6px;
    display:inline-block;
    background:#dd1c4a !important;
    color:#ffffff !important;
    font-weight:bold;
    font-size:16px;
    padding:15px 25px 15px !important;
    cursor:pointer;
}

.form-lower dt {
    font-size:85%;
}
.form-lower dd {
    margin-bottom:16px;
}

@media screen and (max-width: 768px) {
    .Form {
        margin-top:40px;
    }
    .Form .Form-Item {
        padding-left:14px;
        padding-right:14px;
        padding-top:16px;
        padding-bottom:16px;
        flex-wrap:wrap;
    }
    .Form .Form-Item-Label {
        max-width:inherit;
        display:flex;
        align-items:center;
        font-size:15px;
    }
    .Form .Form-Item-Label.isMsg {
        margin-top:0;
    }
    .Form .Form-Item-Label-Required {
        border-radius:4px;
        padding-top:4px;
        padding-bottom:4px;
        width:32px;
        font-size:10px;
    }
    .Form .Form-Item-Label-Any {
        border-radius:4px;
        padding-top:4px;
        padding-bottom:4px;
        width:32px;
        font-size:10px;
    }
    .Form .Form-Item-Input {
        margin-left:0;
        height:40px;
        flex:inherit;
        font-size:15px;
    }
    .Form .Form-Item-Textarea {
        margin-top:18px;
        margin-left:0;
        height:200px;
        flex:inherit;
        font-size:15px;
    }
    .Form .Form-Btn {
        margin-top:24px;
        padding-top:8px;
        padding-bottom:8px;
        width:160px;
        font-size:16px;
    }
    .Form .Form-Btn2 {
        margin-top:24px;
        padding-top:8px;
        padding-bottom:8px;
        width:160px;
        font-size:16px;
    }
}
/* カレンダー入力フィールドのサイズを調整 */
input[type=date] {
    font-size:16px;
    /* フォントサイズ */
    height:40px;
    /* 高さ */
    padding:10px;
    /* 内側の余白 */
    width:100%;
    /* 幅を調整（必要に応じて変更） */
    box-sizing:border-box;
    /* パディング込みでサイズ計算 */
}

/* カレンダーアイコンの調整（モダンブラウザでサポート） */
input[type=date]::-webkit-calendar-picker-indicator {
    font-size:20px;
    /* アイコンのサイズ */
}

.wpcf7-form-control.wpcf7-submit {
    cursor:pointer;
    /* マウスオーバー時に指マークになる */
}

/*フォームテーブル*/
.formRes {
    border:3px solid #dd1c4a;
    padding:0 30px 30px 30px !important;
    margin-bottom:60px;
    background-color:#ffffff;
}
@media only screen and (max-width: 580px) {
    .formRes {
        padding:0 10px 10px 10px !important;
    }
}
.formRes h1.entry-title {
    margin:0 auto;
    background-color:#dd1c4a;
    color:#ffffff;
    display:inline-block;
    padding:10px 20px;
    border-radius:0 0 20px 20px;
}
.formRes table {
    margin-top:30px;
}
.formRes table th {
    background:#dd1c4a;
    color:#ffffff;
    width:25%;
    font-weight:normal;
    padding:15px;
    border-bottom:1px solid #cccccc;
    text-align:left;
}
.formRes table td {
    border-bottom:1px solid #cccccc;
    padding:15px 0 15px 15px;
}
@media screen and (max-width: 768px) {
    .formRes table th,
    .formRes table td {
        width:100%;
        display:block;
    }
    .formRes table td {
        border-bottom:0 solid #cccccc;
        padding:15px 15px 15px 15px;
    }
}

.formRes2 {
    border:3px solid #0c2275;
    padding:0 30px 30px 30px !important;
    margin-bottom:60px;
    background-color:#ffffff;
}
@media only screen and (max-width: 580px) {
    .formRes2 {
        padding:0 10px 10px 10px !important;
    }
}
.formRes2 h1.entry-title {
    margin:0 auto;
    background-color:#0c2275;
    color:#ffffff;
    display:inline-block;
    padding:10px 20px;
    border-radius:0 0 20px 20px;
}
.formRes2 table {
    margin-top:30px;
}
.formRes2 table th {
    background:#0c2275;
    color:#ffffff;
    width:25%;
    font-weight:normal;
    padding:15px;
    border-bottom:1px solid #cccccc;
    text-align:left;
}
.formRes2 table td {
    border-bottom:1px solid #cccccc;
    padding:15px 0 15px 15px;
}
@media screen and (max-width: 768px) {
    .formRes2 table th,
    .formRes2 table td {
        width:100%;
        display:block;
    }
    .formRes2 table td {
        border-bottom:0 solid #cccccc;
        padding:15px 15px 15px 15px;
    }
}

div.wpcf7 .wpcf7-spinner {
    display:block;
}

#cf7-confirm {
    background:#f9f9f9;
    padding:20px;
    border-radius:10px;
    text-align:center;
    display:none;
}
#cf7-confirm h3 {
    margin-bottom:15px;
}
#cf7-confirm table td {
    text-align:left;
}

input[type=submit],
button[type=submit] {
    cursor:pointer;
}

/*　小見出し　
 =============================================================== */
/* 最寄り駅 ----------------------------------- */
.rail_station {
    height:200px;
}

.multiselect {
    height:200px;
}

/*===============================================================

search

===============================================================*/
/* 親カテゴリのラベル全体をブロック表示 */
/* 子カテゴリを持つ親カテゴリのみ */
label.feas_clevel_01.has-children {
    display:block;
    font-weight:bold;
}
label.feas_clevel_01.has-children input[type=checkbox] {
    display:none;
}

/* すべてのチェックボックス付きラベルを対象 */
label.feas_clevel_01,
label.feas_clevel_02 {
    display:inline-flex;
    align-items:center;
    gap:0.4em;
    white-space:nowrap;
    margin-right:1em;
}

/*　エリアの色分け
=============================================================== */
.grand-child-cat {
    display:inline-block;
    padding:2px 6px;
    margin-right:4px;
    font-size:1.2rem;
}

.detailCat {
    margin-bottom:20px;
}
.detailCat .grand-child-cat {
    display:inline-block;
    padding:2px 6px;
    margin:4px 8px;
    font-size:2rem;
    border-radius:8px;
}

.booth2-1,
.booth1-1 {
    /* 元: #ff9e9e → 濃いレッドに */
    background:#f76696; /* コントラスト比 ≒ 4.85:1 */
    color:#ffffff;
}

.booth2-2,
.booth1-2 {
    /* 元: #9eceff → 濃いブルーに */
    background:#0072e5; /* コントラスト比 ≒ 4.63:1 */
    color:#ffffff;
}

.booth2-3,
.booth1-3 {
    /* 元: #d9d713 → 濃いイエローグリーンに */
    background:#9cad3b; /* コントラスト比 ≒ 4.53:1 */
    color:#ffffff;
}

.booth2-4,
.booth1-4 {
    /* 元: #4ccf8e → 濃いグリーンに */
    background:#227f51; /* コントラスト比 ≒ 4.97:1 */
    color:#ffffff;
}

.booth2-5,
.booth1-5 {
    /* 元: #ff9eff → 濃いマゼンタに */
    background:#d100d1; /* コントラスト比 ≒ 4.53:1 */
    color:#ffffff;
}

.booth2-6,
.booth1-6 {
    /* 元: #f9b878 → 濃いオレンジに */
    background:#b25c08; /* コントラスト比 ≒ 4.74:1 */
    color:#ffffff;
}

.booth2-7,
.booth1-7 {
    /* 元: #9e9eff → 濃いブルーバイオレットに */
    background:#6161ff; /* コントラスト比 ≒ 4.50:1 */
    color:#ffffff;
}

/*==================================================
アコーディオンのためのcss
===================================*/
/*アコーディオン全体*/
.accordion-area {
    list-style:none;
    width:100%;
    margin:0 auto;
    /*アコーディオンタイトル*/
    /*アコーディオンで現れるエリア*/
}
.accordion-area .title {
    position:relative;
    cursor:pointer;
    font-size:clamp(1.8rem, 2.4vw, 2.4rem);
    transition:all 0.5s ease;
    border-bottom:1px solid #000000;
    margin-top:30px;
    margin-bottom:0;
    padding:1.5rem 2rem 1.5rem 0;
    font-weight:bold;
    text-align:center;
    color:#dd1c4a;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    padding-top:40px;
    /*
  .click {
      color:$color1;
      position: absolute;
      bottom: -33px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  }
  .click:hover {
      opacity: 0.8;
  }
  */
}
.accordion-area .title .click {
    position:absolute;
    bottom:-35px;
    left:50%;
            transform:translateX(-50%);
    -webkit-transform:translateX(-50%);
        -ms-transform:translateX(-50%);
}
.accordion-area .box {
    display:none;
    /*はじめは非表示*/
    background:#ffffff;
    margin:0 0 0 0;
    padding:60px 15px 15px 15px;
    border:1px solid #cccccc;
    border-radius:0 0 15px 15px;
}

.accordion-area li {
    margin:10px 0;
}

.title::after {
    position:absolute;
    text-align:center;
    content:url(../images/common/click2.png);
    color:#ffffff;
    width:140px;
    height:35px;
    border-radius:0 0 5px 5px;
    background-color:#35b1c5;
    position:absolute;
    bottom:-36px;
    left:50%;
            transform:translateX(-50%);
    -webkit-transform:translateX(-50%);
        -ms-transform:translateX(-50%);
}

.title.close::after {
    content:'×';
}

@media only screen and (max-width: 768px) {
    .accordion-area .title {
        font-size:2rem;
        padding:3% 3% 3% 0;
        transition:all 0.5s ease;
    }
    .accordion-area .title i {
        bottom:-26px;
    }
    .accordion-area .title::after {
        height:35px;
        padding-top:6px;
    }
    .accordion-area .box {
        display:none;
        /*はじめは非表示*/
        background:#f3f3f3;
        margin:0 0 3% 0;
        padding:40px 3% 3% 3%;
    }
}
/*==================================================
アコーディオン内のスタイル
===================================*/
.detailSrch-box {
    padding:20px;
}
.detailSrch-box input[type=checkbox] {
    width:20px;
    height:20px;
    margin-right:6px;
    margin-left:6px;
    vertical-align:middle;
}
.detailSrch-box label {
    margin:1%;
}

.detailSrch-under > .feas_clevel_01 {
    display:block;
    font-family:'M PLUS Rounded 1c', sans-serif;
    font-size:20px;
    font-weight:bold;
}

.detailSrch-under > .feas_clevel_01::before {
    content:'■';
    color:#dd1c4a;
    font-weight:bold;
    margin-right:5px;
}

.detailSrch-under > .feas_clevel_01 input {
    display:none;
}

.detailTtl {
    display:block;
    font-family:'M PLUS Rounded 1c', sans-serif;
    font-size:20px;
    font-weight:bold;
}

.detailTtl::before {
    content:'■';
    color:#dd1c4a;
    font-weight:bold;
    margin-right:5px;
}

/*　フリーワード検索＆ブース検索用
=============================================================== */
.freeSrch-flex3 {
    display:flex;
    justify-content:stretch;
    margin-bottom:25px;
}
.freeSrch-flex3 .flex3Item {
    text-align:center;
    width:33%;
    margin:0 1%;
    padding:8px;
}

@media (max-width: 980px) {
    .freeSrch-flex3 {
        display:flex;
        justify-content:stretch;
    }
}
@media (max-width: 768px) {
    .freeSrch-flex3 {
        display:block;
        justify-content:stretch;
    }
    .freeSrch-flex3 .flex3Item {
        width:100%;
    }
    .freeSrch-flex3 .flex3Item a {
        border-radius:10px;
        margin:0 auto 0;
    }
    .freeSrch-flex3 .flex3Item a i {
        display:none;
    }
}
.stationSrch {
    margin-bottom:30px;
}
.stationSrch .inner {
    width:100%;
    background:#ffffff;
    padding:0 0 0 0;
    box-shadow:2px 2px 4px -3px #777777;
    border-radius:0 0 20px 20px;
    border-top:0 solid #cccccc;
    border-right:1px solid #cccccc;
    border-bottom:1px solid #cccccc;
    border-left:1px solid #cccccc;
}
.stationSrch h2 {
    background:#dd1c4a;
    color:#ffffff;
    padding:0.5em 0;
    margin-bottom:1em;
    border:1px solid #dd1c4a;
}
.stationSrch form {
    margin-bottom:30px;
}

.freeSrch-flex2 {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:stretch;
}
.freeSrch-flex2 .flex2Item {
    text-align:center;
    width:50%;
    padding:15px;
    display:flex;
}
.freeSrch-flex2 .flex2Item .inner {
    width:100%;
    background:#ffffff;
    padding:0 0;
    box-shadow:2px 2px 4px -3px #777777;
    border-radius:0 0 20px 20px;
    border-top:0 solid #cccccc;
    border-right:1px solid #cccccc;
    border-bottom:1px solid #cccccc;
    border-left:1px solid #cccccc;
}
.freeSrch-flex2 .flex2Item .inner h2 {
    background:#dd1c4a;
    color:#ffffff;
    padding:0.5em 0;
    border:1px solid #dd1c4a;
}
.freeSrch-flex2 .flex2Item .inner .inBox {
    padding:30px 10px;
}

form#feas-searchform-1 input[type=text] {
    width:80%;
    padding:5px;
}

.booth-search {
    margin-bottom:15px;
}

form#feas-searchform-2 select {
    padding:5px 20px 5px 10px;
    background:rgba(255, 255, 255, 0.9) url(../images/common/selectBk.png) no-repeat right;
}
form#feas-searchform-2 select.ajax_0_1 {
    margin-right:5px;
}

@media only screen and (max-width: 580px) {
    form#feas-searchform-2 select {
        width:100%;
        margin:3px 0;
        text-align:center;
    }
    form#feas-searchform-2 select.ajax_0_1 {
        margin-right:5px;
    }
}
.itemSubmit {
    /* 2カラムで中央分割 */
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    column-gap:clamp(8px, 2vw, 24px);
    /* 見た目（任意） */
    margin-inline:auto;
    max-width:640px;
    /* スマホでは縦並びに（中央揃え） */
}
@media (max-width: 640px) {
    .itemSubmit {
        grid-template-columns:1fr;
        row-gap:10px;
    }
    .itemSubmit > input[type=reset],
    .itemSubmit > input[type=submit] {
        justify-self:center;
    }
}

input[type=reset] {
    position:relative;
    display:flex;
    justify-content:space-around;
    align-items:center;
    margin:0 5px;
    color:#ffffff;
    transition:0.3s ease-in-out;
    font-weight:600;
    background-color:#aaaaaa;
    background-image:url(../images/common/reset-icon.png);
    background-repeat:no-repeat;
    background-position:center left 20px;
    border-radius:50px;
    border:0.2rem solid #aaaaaa;
    box-shadow:0.2rem 0.2rem 0 0.1rem #cccccc;
    padding:20px 5px;
    width:280px !important;
    font-size:1.6rem;
    margin:0 auto 0;
}

input[type=reset]:hover {
    cursor:pointer;
    transform:translate3d(0.2rem, 0.2rem, 0);
    box-shadow:none;
    opacity:1;
    transition:all 0.2s;
    border:0.2rem solid #aaaaaa;
}

input[type=submit].feas-submit-button {
    position:relative;
    display:flex;
    justify-content:space-around;
    align-items:center;
    margin:0 5px;
    color:#ffffff;
    transition:0.3s ease-in-out;
    font-weight:600;
    background-color:#35b1c5;
    background-image:url(../images/common/search-icon.png);
    background-repeat:no-repeat;
    background-position:center left 20px;
    border-radius:50px;
    border:0.2rem solid #35b1c5;
    box-shadow:0.2rem 0.2rem 0 0.1rem #7ad8db;
    padding:20px 5px;
    width:280px;
    font-size:1.6rem;
    margin:0 auto 0;
}

input[type=submit].feas-submit-button:hover {
    cursor:pointer;
    transform:translate3d(0.2rem, 0.2rem, 0);
    box-shadow:none;
    opacity:1;
    transition:all 0.2s;
    border:0.2rem solid #35b1c5;
}

.feas-submit-button:before {
    font-style:normal;
    font-variant:normal;
    text-rendering:auto;
    -webkit-font-smoothing:antialiased;
    font-family:'Font Awesome 5 Free';
    font-weight:900;
    content:'\f138';
    margin-right:5px;
    color:#ffffff !important;
}

#submitWrap {
    text-align:center;
    padding:0;
    margin:120px auto 0;
    display:flex;
    justify-content:center;
    max-width:700px;
}

.seach-icon {
    position:relative;
    display:inline-block;
    margin-top:30px;
}
.seach-icon i {
    position:absolute;
    top:50%;
    left:30px;
            transform:translateY(-50%);
    -webkit-transform:translateY(-50%);
        -ms-transform:translateY(-50%);
    z-index:1000;
    color:#ffffff;
}

@media only screen and (max-width: 868px) {
    .freeSrch-flex2 {
        display:block;
    }
    .freeSrch-flex2 .flex2Item {
        width:100%;
        margin:0;
        margin-bottom:15px;
    }
    .freeSrch-flex2 .flex2Item .inner {
        height:auto;
    }
}
@media only screen and (max-width: 580px) {
    #submitWrap {
        position:fixed;
        bottom:48px;
        left:0;
        align-items:center;
        justify-content:center;
        border-bottom:1px solid #ffffff;
        opacity:0;
        z-index:100;
        text-align:center;
        width:100%;
        max-width:100%;
        padding:5px;
        margin:0;
        border-top:0 solid #dd1c4a;
        background-color:#f6f7f9;
    }
    #submitWrap input[type=reset] {
        width:170px !important;
        border-radius:0 !important;
        border:0.2rem solid #cccccc !important;
        box-shadow:0rem 0rem 0 0rem #cccccc !important;
        border-radius:8px !important;
        padding:15px 5px !important;
        margin-right:5px !important;
    }
    #submitWrap input[type=submit].feas-submit-button {
        box-shadow:none;
        display:inline-block;
        width:calc(100% - 170px);
        border-radius:8px !important;
        padding:15px 5px !important;
    }
    #submitWrap .feas-submit-button {
        border-radius:0;
        box-shadow:none;
        width:100%;
        margin:0;
    }
    #submitWrap input[type=submit].feas-submit-button:hover {
        transform:translate3d(0.2rem, 0.2rem, 0);
        box-shadow:none;
    }
}
.searchAreaBtn {
    display:inline-block;
    padding:4px;
    border:2px solid #7ad8db;
    color:#7ad8db;
    font-weight:bold;
    background:#ffffff;
}
.searchAreaBtn:hover {
    color:#7ad8db;
    border:2px dotted #7ad8db;
}
.searchAreaBtn .btn__inner {
    display:inline-block;
    border:1px solid #7ad8db;
    width:100%;
    padding:6px;
    background-color:#ffffff;
    transition:0.3s all;
    position:relative;
}
.searchAreaBtn .btn__inner i {
    position:absolute;
    right:10px;
    top:14px;
}
.searchAreaBtn .btn__inner:hover {
    transition:0.3s all;
    color:#ffffff;
    background-color:#7ad8db;
}

.search-flex {
    margin:50px 0 0 0;
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    justify-content:space-between;
    list-style:none;
    gap:15px;
}
.search-flex > li {
    width:calc(33.3333% - 15px);
    background-color:#ffffff;
    border:1px solid #cccccc;
    border-radius:0;
    padding-bottom:50px;
    position:relative;
}
.search-flex > li .image-fit,
.search-flex > li .move-fit {
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
}
.search-flex > li .image-fit img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.search-flex > li .move-fit iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:none;
}
.search-flex > li .detail-btn {
    width:200px;
    padding:5px 0;
    background-color:#dd1c4a;
    color:#ffffff;
    position:absolute;
    bottom:15px;
    left:50%;
            transform:translateX(-50%);
    -webkit-transform:translateX(-50%);
        -ms-transform:translateX(-50%);
    text-align:center;
    transition:0.15S all;
    border-radius:30px;
    text-decoration:none;
    border:1px solid #dd1c4a;
}
.search-flex > li .detail-btn:hover {
    transition:0.3S all;
    background-color:#ffffff;
    color:#dd1c4a;
    border:1px solid #dd1c4a;
    text-decoration:none;
}
.search-flex > li .tarmBoothWrap {
    margin-top:-6px;
}
.search-flex > li .search-tarmBooth {
    color:#ffffff;
    background:#f6f7f9;
    display:inline-block;
    font-size:1.2rem;
    padding:0 10px;
}
.search-flex > li .search-tarmBooth a {
    color:#ffffff;
}
.search-flex > li .area1 {
    background:#ff9e9e;
}
.search-flex > li .area2 {
    background:#9eceff;
}
.search-flex > li .area3 {
    background:#d9d713;
}
.search-flex > li .area4 {
    background:#4ccf8e;
}
.search-flex > li .area5 {
    background:#ff9eff;
}
.search-flex > li .area6 {
    background:#f9b878;
}
.search-flex > li .area7 {
    background:#9e9eff;
}
.search-flex > li .search-tarmBooth2 {
    background:red;
}
.search-flex > li h2 {
    line-height:0.8;
    margin-bottom:1em;
    height:40px;
}
.search-flex > li h2 a {
    font-size:1.8rem;
    color:#dd1c4a;
    line-height:1.5;
    text-decoration:none;
}
.search-flex > li .search-txt {
    line-height:1.5;
    font-size:1.6rem;
    text-align:left;
    margin-bottom:20px;
}
.search-flex > li a.search-tarmItem {
    display:inline-block;
    padding:0 5px;
    border:1px solid #35b1c5;
    background:#35b1c5;
    color:#ffffff;
    font-size:1.2rem;
    margin:1%;
    text-decoration:none;
    border-radius:5px;
}
.search-flex > li a.search-tarmItem:hover {
    background:#ffffff;
    color:#35b1c5;
    text-decoration:none;
}
.search-flex > li .search-inner {
    padding:15px;
}
@media only screen and (max-width: 980px) {
    .search-flex > li {
        width:calc(50% - 15px);
    }
}
@media only screen and (max-width: 768px) {
    .search-flex {
        gap:10px;
    }
    .search-flex > li {
        width:calc(50% - 10px);
    }
    .search-flex > li .search-txt {
        font-size:1.4rem !important;
    }
}
@media only screen and (max-width: 580px) {
    .search-flex {
        gap:0;
    }
    .search-flex > li {
        width:calc(100% - 0px);
        margin-bottom:30px;
    }
}

.feas_wrap_options {
    display:none !important;
}

/*===============================================================

top

===============================================================*/
/*　小見出し　
 =============================================================== */
/* 区切り ----------------------------------- */
.newsWrap {
    background:#ffffff;
    border-radius:20px;
    padding:30px;
}
.newsWrap dl {
    border-bottom:1px dotted #cccccc;
    padding:0.5em 0;
}
.newsWrap dl dt {
    color:#dd1c4a;
}
.newsWrap dl dd {
    margin:0;
    padding:0;
}
.newsWrap dl dd a {
    color:#333333;
    text-decoration:none;
}
.newsWrap dl dd a:hover {
    color:#dd1c4a;
}

.mainV {
    text-align:center;
    background:#ffffff;
    background-size:cover;
    position:relative;
    padding:10px;
}
.mainV .mainV_sp {
    display:none;
}
.mainV img {
    margin:0 auto;
}
.mainV .jusanPc {
    display:inline-block;
    position:absolute;
    top:0;
    right:60px;
    width:clamp(160px, 20vw, 298px);
}
.mainV .jusanPc .jusanWrap {
    position:relative;
}
.mainV .jusanPc .jusanWrap a img {
    transform:0.15s all;
}
.mainV .jusanPc .jusanWrap a:hover img {
    opacity:0.9;
}
.mainV .jusanPc.is-disabled .jusanWrap::after {
    content:'公開準備中';
    position:absolute;
    inset:0;
    background:rgba(255, 255, 255, 0.7);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:bold;
    color:#333333;
}
.mainV .jusanPc.is-disabled a {
    pointer-events:none;
}
.mainV .jusanPc.is-disabled .shake-btn {
    animation:none;
    cursor:default;
    filter:grayscale(1);
}
.mainV .jusanSp {
    display:none;
}
.mainV .jusanSp .jusanWrap {
    position:relative;
}
.mainV .jusanSp.is-disabled .jusanWrap::after {
    content:'公開準備中';
    position:absolute;
    inset:0;
    background:rgba(255, 255, 255, 0.7);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:bold;
    color:#333333;
}
.mainV .jusanSp.is-disabled a {
    pointer-events:none;
}
.mainV .jusanSp.is-disabled .shake-btn {
    animation:none;
    cursor:default;
    filter:grayscale(1);
}
.mainV .mainV_pc {
    width:80%;
}
.mainV .mainV_pc2 {
    width:90%;
}
@media only screen and (max-width: 768px) {
    .mainV {
        padding:0;
    }
    .mainV .mainV_sp {
        display:block;
    }
    .mainV .mainV_pc {
        display:none !important;
    }
    .mainV .mainV_pc2 {
        display:none !important;
    }
    .mainV .jusanPc {
        display:none;
    }
    .mainV .jusanSp {
        display:block;
    }
}

/* 通常状態 */
.shake-btn {
    display:inline-block; /* 念のため */
    transition:transform 0.15s ease-out;
}

/* マウスオーバー時：下に数pxだけ動く */
.shake-btn:hover {
    transform:translateY(3px); /* 3pxだけ下へ（お好みで調整） */
}

/* ========================
   mainV の PC 画像を
   ブラウザ高さに応じて縮小
   ======================== */
.mainV .mainV_pc,
.mainV .mainV_pc2 {
    display:block;
    max-width:100%;
    height:auto;
}

.separator {
    background-color:#35b1c5;
    padding:0 0;
    color:#ffffff;
}
.separator .inTtl {
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:clamp(1.8rem, 2.4vw, 2.4rem);
    text-align:center;
    margin-bottom:0.5em;
}
@media only screen and (max-width: 768px) {
    .separator {
        display:none !important;
    }
}

.separatorSp {
    display:none;
}

@media only screen and (max-width: 768px) {
    .separatorSp {
        display:block;
        background-color:#35b1c5;
        padding:15px 0;
        color:#ffffff;
        margin-bottom:30px;
    }
    .separatorSp .inTtl {
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:600;
        font-style:normal;
        font-size:clamp(1.8rem, 2.4vw, 2.4rem);
        text-align:center;
    }
}
.secWelcom {
    background:linear-gradient(to bottom, #fceaeb, #ffffff);
}

.backMark {
    background:url(../images/top/backMark.png) repeat-y top center;
    background-size:cover;
    padding-bottom:50px;
}

.backMark2 {
    background:url(../images/top/backMark.png) repeat-y top center;
    background-size:contain;
    padding-bottom:50px;
}

.welSec p {
    margin:8px 0;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:500;
    font-style:normal;
    text-align:center;
}

@media only screen and (max-width: 768px) {
    .welSec p {
        text-align:left;
    }
}
.entryWrap {
    margin:2em 0;
    text-align:center;
}
.entryWrap a {
    transition:0.15s all;
}
.entryWrap a:hover {
    opacity:0.7;
}
.entryWrap img {
    margin:0 auto;
}
.entryWrap .imgSp {
    display:none;
}
.entryWrap .imgPc {
    display:block;
}
@media only screen and (max-width: 768px) {
    .entryWrap .imgSp {
        display:block;
    }
    .entryWrap .imgPc {
        display:none;
    }
}

.gaiyoFlex {
    display:flex;
    gap:30px;
    margin-top:30px !important;
}
.gaiyoFlex .flex__itemL {
    width:60%;
}
.gaiyoFlex .flex__itemR {
    width:40%;
}
@media only screen and (max-width: 768px) {
    .gaiyoFlex {
        display:block;
        gap:0;
    }
    .gaiyoFlex .flex__itemL {
        width:100%;
    }
    .gaiyoFlex .flex__itemR {
        width:100%;
        text-align:center;
    }
}

dl.listDl {
    display:flex;
    border-bottom:1px dashed #cccccc;
    padding:15px 15px 15px 15px;
}
dl.listDl dt {
    width:130px;
}
dl.listDl dt span {
    background:#dd1c4a;
    color:#ffffff;
    display:block;
    text-align:center;
    border-radius:30px;
}
dl.listDl dd {
    width:calc(100% - 130px);
    margin:0 0 0 15px;
    padding:0;
    font-weight:bold;
}
@media only screen and (max-width: 580px) {
    dl.listDl {
        display:block;
    }
    dl.listDl dt {
        width:100%;
        margin-bottom:20px;
    }
    dl.listDl dt span {
        padding:8px 0;
    }
    dl.listDl dd {
        width:100%;
    }
}

.secSearch {
    background:#fceaeb;
    padding:3% 0 3% 0;
    text-align:center;
}
.secSearch .inTtl {
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:clamp(1.8rem, 2.4vw, 2.4rem);
    margin-bottom:30px;
}

.houjinListWrap {
    margin-top:-36px;
}
@media only screen and (max-width: 860px) {
    .houjinListWrap {
        background:#fceaeb;
        padding-bottom:30px;
    }
}

.secTokucho {
    margin-bottom:50px;
}
@media only screen and (max-width: 768px) {
    .secTokucho {
        padding-top:50px;
    }
}

.tokuchoFlex {
    display:flex;
    flex-wrap:wrap;
    gap:30px;
}
.tokuchoFlex .flex__item {
    width:calc(50% - 30px);
}
.tokuchoFlex .flex__item h3 {
    text-align:center;
    color:#dd1c4a;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:clamp(1.8rem, 2.2vw, 2.2rem);
    margin:15px auto;
}
@media only screen and (max-width: 580px) {
    .tokuchoFlex .flex__item {
        width:calc(100% - 0px);
    }
}

.tokuchoBox h3 {
    text-align:center;
    color:#dd1c4a;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:clamp(1.8rem, 2.2vw, 2.2rem);
    margin:15px auto;
}
.tokuchoBox .tokuchoSpFlex {
    display:flex;
    flex-wrap:wrap;
    gap:15px;
}
.tokuchoBox .tokuchoSpFlex .flex__item {
    width:calc(50% - 15px);
}

.secWalk {
    margin-top:50px;
}

.walkFlex {
    display:flex;
    flex-wrap:wrap;
    gap:50px;
    align-items:stretch;
}
.walkFlex .flex__item {
    width:calc(33.3% - 50px);
    background:url(../images/top/walkBk.png) no-repeat center center;
    background-size:contain;
    margin-bottom:50px;
    display:flex;
    flex-direction:column;
}
.walkFlex .flex__item img {
    width:100%;
    max-width:480px;
    margin:0 auto;
}
.walkFlex .flex__item h3 {
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-weight:600;
    font-size:clamp(1.8rem, 2vw, 2rem);
    margin:15px auto;
}
.walkFlex .flex__item .inTxt {
    border-radius:10px;
    flex:1 1 auto;
    display:flex;
    align-items:flex-start;
}
.walkFlex .flex__item .inTxt p {
    margin-bottom:0;
}
.walkFlex .flex__item2 {
    background:none;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    background:url(../images/top/walk_img6.png) no-repeat center center;
    background-size:contain;
}
.walkFlex .flex__item2 p {
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:clamp(1.6rem, 2vw, 2rem);
    /* ▼ 行間を広げる（単位なしが推奨） */
    line-height:1.9 !important;
    /* ▼ 折り返しを促す幅制限（必要に応じて調整） */
    max-width:28em;
    /* もしくは 80% など */
    margin:0 auto;
    /* ▼ 長文の見栄え向上（任意） */
    text-wrap:pretty;
    /* 対応ブラウザで美しく改行 */
    overflow-wrap:anywhere;
    /* 万一のはみ出し対策 */
}
@media only screen and (max-width: 980px) {
    .walkFlex .flex__item {
        width:calc(50% - 50px);
    }
}
@media only screen and (max-width: 980px) and (max-width: 768px) {
    .walkFlex {
        gap:25px;
    }
    .walkFlex .flex__item {
        width:calc(50% - 25px);
    }
}
@media only screen and (max-width: 980px) {
    .walkFlex .flex__item2 {
        background:none;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:0;
        background:url(../images/top/walk_img6.png) no-repeat center center;
        background-size:contain;
    }
    .walkFlex .flex__item2 p {
        text-align:center;
        font-family:'Noto Sans JP', sans-serif;
        font-optical-sizing:auto;
        font-weight:600;
        font-style:normal;
        font-size:clamp(1.6rem, 2vw, 2rem);
        /* ▼ 行間を広げる（単位なしが推奨） */
        line-height:1.9 !important;
        /* ▼ 折り返しを促す幅制限（必要に応じて調整） */
        max-width:28em;
        /* もしくは 80% など */
        margin:0 auto;
        /* ▼ 長文の見栄え向上（任意） */
        text-wrap:pretty;
        /* 対応ブラウザで美しく改行 */
        overflow-wrap:anywhere;
        /* 万一のはみ出し対策 */
    }
}

.walk-accordion {
    list-style:none;
    width:100%;
    max-width:900px;
    margin:0 auto;
    /* アコーディオン中身（初期は閉じる） */
}
.walk-accordion li {
    margin:10px 0;
}
.walk-accordion section {
    border:0 solid #cccccc;
}
.walk-accordion .walk-title {
    position:relative;
    cursor:pointer;
    font-weight:normal;
    padding:10px 5px 10px 15px;
    margin:0 !important;
    color:#000000;
    text-align:left;
    font-family:'Noto Sans JP', sans-serif;
    font-weight:600;
    font-size:clamp(1.5rem, 2vw, 2rem);
    margin-bottom:30px;
    transition:0.3s all;
    border:1px solid #dd1c4a;
}
.walk-accordion .walk-title span {
    display:inline-block;
    color:#dd1c4a;
    margin-right:5px;
}
.walk-accordion .walk-title i.fa-circle-plus {
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    transition:transform 0.3s ease;
    color:#dd1c4a;
    font-size:2rem;
}
.walk-accordion .walk-title.close i.fa-circle-plus {
    transform:translateY(-50%) rotate(45deg);
}
.walk-accordion .walk-box {
    display:none;
    background:url(../images/top/walkBk.png) no-repeat center center;
    background-size:contain;
    margin:0 3% 3% 3%;
    padding:3%;
}

.secOutgoing {
    margin-top:60px;
}

.outgoingFlex {
    display:flex;
    flex-wrap:wrap;
    gap:30px;
    align-items:stretch;
    justify-content:center;
    margin:0 0 50px 0;
}
.outgoingFlex .flex__item {
    position:relative;
    box-sizing:border-box;
    width:calc(33.3% - 30px);
    background-size:contain;
    display:flex;
    flex-direction:column;
    border:1px solid #cccccc;
    padding:24px;
    background-image:url('../images/common/left1.png'), url('../images/common/right1.png'), url('../images/common/left2.png'), url('../images/common/right2.png');
    background-repeat:no-repeat, no-repeat, no-repeat, no-repeat;
    background-position:left top, right top, left bottom, right bottom;
    background-size:31px 31px, 31px 31px, 31px 31px, 31px 31px;
}
.outgoingFlex .flex__item a {
    text-decoration:none;
    color:#333333;
    display:flex;
    flex-direction:column;
    width:100%;
}
.outgoingFlex .flex__item a h3 {
    color:#dd1c4a;
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-weight:600;
    font-size:clamp(1.8rem, 2vw, 2rem);
    margin-bottom:30px;
    transition:0.3s all;
}
.outgoingFlex .flex__item a h3 .inSpan {
    display:block;
}
.outgoingFlex .flex__item a .inTxt {
    margin-top:auto;
}
.outgoingFlex .flex__item a i {
    position:absolute;
    bottom:20px;
    color:#dd1c4a;
    font-size:2.6rem;
    left:50%;
            transform:translateX(-50%);
    -webkit-transform:translateX(-50%);
        -ms-transform:translateX(-50%);
    transition:0.3s all;
}
.outgoingFlex .flex__item a:hover h3 {
    color:#35b1c5;
}
.outgoingFlex .flex__item a:hover i {
    color:#35b1c5;
}
@media only screen and (max-width: 980px) {
    .outgoingFlex {
        gap:30px;
        margin-bottom:0;
    }
    .outgoingFlex .flex__item {
        width:calc(50% - 30px);
    }
    .outgoingFlex .flex__item .inTxt {
        margin-bottom:50px;
    }
}
@media only screen and (max-width: 768px) {
    .outgoingFlex {
        gap:15px;
    }
    .outgoingFlex .flex__item {
        width:calc(50% - 15px);
    }
}
@media only screen and (max-width: 580px) {
    .outgoingFlex {
        gap:0;
    }
    .outgoingFlex .flex__item {
        width:calc(100% - 0px);
        margin-bottom:15px;
        padding:5px 24px 10px;
    }
    .outgoingFlex .flex__item a h3 {
        margin-bottom:15px;
    }
    .outgoingFlex .flex__item a i {
        bottom:10px;
    }
    .outgoingFlex .flex__item .inTxt {
        margin-bottom:30px;
    }
}

/*===============================================================

single

===============================================================*/
.detail-header {
    text-align:center;
    max-width:800px;
    margin:30px auto;
}

.pr-catch {
    font-size:clamp(1.8rem, 2.4vw, 2.4rem);
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    color:#dd1c4a;
    text-align:center;
    margin:30px 0 15px;
}

.pr-txt {
    text-align:center;
    margin:15px 0;
}

.pointWrap h3 {
    background-color:#35b1c5;
    color:#ffffff;
    display:inline-block;
    margin:15px auto;
    padding:15px;
    border-radius:10px;
}

.prFlex {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:20px;
    margin-top:60px;
}
.prFlex .pr__item {
    position:relative;
    width:calc(33.333333% - 20px);
    border:1px dashed #dd1c4a;
    border-radius:8px;
    background:#ffffff;
    text-align:center;
    padding:50px 10px 20px 10px;
}
.prFlex .pr__item .pointTtl {
    top:-80px;
    position:absolute;
    background:url(../images/common/pointBk1.png) no-repeat center center !important;
    padding:50px 30px 50px 15px;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:800;
    font-style:normal;
    color:#ffffff;
    font-size:3rem;
    width:202px;
    left:50%;
            transform:translateX(-50%);
    -webkit-transform:translateX(-50%);
        -ms-transform:translateX(-50%);
}
@media only screen and (max-width: 650px) {
    .prFlex .pr__item {
        margin-bottom:60px;
        width:calc(100% - 0px);
    }
}

.marker {
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:800;
    font-style:normal;
    background:linear-gradient(transparent 60%, #f8fba7 0%);
    display:inline;
    padding:0 1px 0;
}

.detailSec {
    margin:60px 0;
}
@media only screen and (max-width: 768px) {
    .detailSec {
        margin:0 0 60px;
    }
}

h2.singleTtl2026 {
    display:inline-block;
    color:#dd1c4a;
    margin:15px 0;
    background:url(../images/common/detailTtlBk.png) no-repeat center left;
    padding:10px 30px 10px 100px;
}

.detail-recWrap {
    padding:25px 35px 50px 35px;
    margin:30px 0 30px;
    line-height:2;
    background:#ffffff;
    background-image:url('../images/common/left1.png'), url('../images/common/right1.png'), url('../images/common/left2.png'), url('../images/common/right2.png');
    background-repeat:no-repeat, no-repeat, no-repeat, no-repeat;
    background-position:left top, right top, left bottom, right bottom;
    background-size:31px 31px, 31px 31px, 31px 31px, 31px 31px;
}
.detail-recWrap .recWrap-ttl {
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:800;
    font-style:normal;
    color:#dd1c4a;
    font-size:clamp(1.8rem, 2vw, 2rem);
    margin-bottom:30px;
}

/* table
========================================================================== */
/* resDetail  ----------------------------------- */
/*
.resDetail {
    table {
        border-collapse: collapse;
        border: 3px solid #DDD3C5;

    }
}
    */
.resDetail table {
    width:100%;
    border-collapse:collapse;
}
.resDetail table tr {
    border-bottom:1px dashed #999999 !important;
}
.resDetail th {
    color:#dd1c4a;
    font-weight:bold;
    line-height:1.5;
    padding:15px 0;
    text-align:left !important;
    width:220px;
    vertical-align:top;
}
.resDetail th span {
    display:inline-block;
    color:#ffffff;
    background:#dd1c4a;
    text-align:center;
    width:100%;
    border-radius:5px;
    padding:10px 15px;
}
.resDetail td {
    padding:15px 15px 15px 35px;
    line-height:1.5;
    text-align:left;
}
.resDetail td a {
    color:#dd1c4a;
    text-decoration:none;
}
.resDetail td a:hover {
    color:#35b1c5;
}

@media only screen and (max-width: 768px) {
    .resDetail tr {
        width:100%;
        display:block;
    }
    .resDetail th {
        width:100%;
        display:block !important;
        padding:15px 0 0 0;
    }
    .resDetail td {
        width:100%;
        display:block;
        border-top:none;
        padding:20px 0;
    }
}
.normalTable table,
.normalTable td,
.normalTable th {
    border-collapse:collapse;
}

.normalTable table {
    border-collapse:collapse;
    border:3px solid #dd1c4a;
}
.normalTable table th,
.normalTable table td {
    border-collapse:collapse;
    border:1px solid #dd1c4a;
}
.normalTable th {
    background:#fceaeb;
    text-align:center;
    padding:8px 2px;
}
.normalTable td {
    padding:8px 2px;
}
.normalTable th.thW30 {
    width:33%;
}
.normalTable th.thW20 {
    width:20%;
}

/*===============================================================

work

===============================================================*/
/*　メインビジュアル
 =============================================================== */
.site-work h3.mainTtl {
    background:#e35064;
    margin:1em auto;
    border-radius:50px;
    padding:15px 30px;
    color:#ffffff;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:700;
    font-style:normal;
    max-width:520px;
    font-size:clamp(2.2rem, 3vw, 3rem);
}

.work__mainV {
    position:relative;
}
.work__mainV img.work__mainV_img {
    width:100%;
}
.work__mainV .work__mainV_moji {
    position:absolute;
    top:50%;
    left:50%;
            transform:translate(-50%, -50%);
    -webkit-transform:translate(-50%, -50%);
        -ms-transform:translate(-50%, -50%);
    max-width:452px;
    opacity:0;
    /* 初期状態は透明 */
    animation:fadeIn 2s ease-in-out forwards;
}
@media only screen and (max-width: 768px) {
    .work__mainV .work__mainV_moji {
        max-width:280px;
    }
}
@media only screen and (max-width: 768px) {
    .work__mainV .work__mainV_moji {
        max-width:220px;
    }
}
@keyframes fadeIn {
    0% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
}

.work_readWrap {
    position:relative;
    padding:2em 4em;
    width:100%;
    max-width:1110px;
    margin:-100px auto 0;
    background-color:#ffffff;
    border-radius:30px;
}
@media only screen and (max-width: 980px) {
    .work_readWrap {
        padding:2em 5px 0.5em;
        margin:-40px auto 0;
    }
}
@media only screen and (max-width: 580px) {
    .work_readWrap {
        padding:2em 5px 0.5em;
        margin:-15px auto 0;
        border-radius:15px;
    }
}
.work_readWrap h2 {
    font-family:'Noto Serif JP', serif;
    font-weight:400;
    font-style:normal;
    color:#dd1c4a;
    font-size:clamp(2.2rem, 4vw, 4rem);
    text-align:center;
}
@media only screen and (max-width: 768px) {
    .work_readWrap h2 {
        font-size:2.4rem;
    }
}
.work_readWrap h3 {
    background:#bf6e71;
    border-radius:50px;
    color:#ffffff;
    font-family:'Noto Sans JP', sans-serif;
    font-weight:bold;
    text-align:center;
    padding:0.75em 0.5em;
    font-size:2.4rem;
    display:inline-block;
    margin:0 auto 1em;
    width:100%;
    max-width:520px;
}
@media only screen and (max-width: 768px) {
    .work_readWrap h3 {
        font-size:2rem;
    }
}

.workRead_text {
    margin:0 auto;
    line-height:2;
    max-width:960px;
}

/*　福祉のすすめ
 =============================================================== */
.workreadFlex {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}
.workreadFlex .susume__item {
    width:50%;
    padding:15px;
    display:flex;
}
.workreadFlex .susume__item .innerWrap {
    width:100%;
    --border-color:black;
    /*カッコの色*/
    padding:0 2em 1.5em;
    /*内側余白*/
    position:relative;
}
.workreadFlex .susume__item .innerWrap::after,
.workreadFlex .susume__item .innerWrap::before {
    content:'';
    height:100%;
    width:0.75em;
    position:absolute;
    bottom:0;
    border-top:1px solid var(--border-color);
    border-bottom:1px solid var(--border-color);
}
.workreadFlex .susume__item .innerWrap::before {
    border-left:1px solid var(--border-color);
    left:0;
}
.workreadFlex .susume__item .innerWrap::after {
    border-right:1px solid var(--border-color);
    right:0;
}
@media only screen and (max-width: 768px) {
    .workreadFlex {
        display:block;
    }
    .workreadFlex .susume__item {
        width:100%;
    }
}

.susumeTtl {
    position:relative;
    /*疑似要素の基準*/
    font-size:clamp(2rem, 2.6vw, 2.6rem);
    text-align:center;
    line-height:1;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:700;
    font-style:normal;
}
@media only screen and (max-width: 768px) {
    .susumeTtl {
        font-size:22px;
    }
}

.susumeTtl::before {
    /*数字を擬似要素で表現*/
    content:attr(data-number);
    /*データ属性の読み込み*/
    display:block;
    margin-bottom:36px;
    color:#e35064;
    font-size:40px;
}

.susumeTtl::after {
    /*線を擬似要素で表現*/
    content:'';
    position:absolute;
    top:45px;
    left:50%;
    /*左右中央配置*/
    transform:translateX(-50%);
    /*左右中央配置*/
    width:1px;
    height:20px;
    background-color:#e35064;
}

.susumeTxt {
    margin-top:2rem;
    font-size:1.8rem;
    line-height:1.5;
}

/*　ナビゲーション
 =============================================================== */
.workNav {
    display:block;
    width:100%;
    margin:60px 0;
}

/*お仕事紹介ナビゲーション*/
.workNavFlex {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}
.workNavFlex .workNav__item {
    width:33.3%;
    padding:10px;
}
.workNavFlex .workNav__item .navTtl {
    padding:0.8rem 0;
    margin-bottom:0.2rem;
    background-image:linear-gradient(90deg, #46aadc 0 50%, #dedede 50%);
    background-repeat:no-repeat;
    background-size:100% 6px;
    background-position:bottom;
    color:#333333;
    font-size:1.8rem;
    font-family:'Noto Sans JP', sans-serif;
}
.workNavFlex .workNav__item .navTtl1 {
    background-image:linear-gradient(90deg, #e35064 0 50%, #dedede 50%);
}
.workNavFlex .workNav__item .navTtl2 {
    background-image:linear-gradient(90deg, #35b1c5 0 50%, #dedede 50%);
}
.workNavFlex .workNav__item .navTtl3 {
    background-image:linear-gradient(90deg, #ff9900 0 50%, #dedede 50%);
}
.workNavFlex .workNav__item a {
    display:inline-block;
    margin-right:20px;
    color:#333333;
    text-decoration:none;
}
.workNavFlex .workNav__item a i {
    color:#e35064;
    margin-right:5px;
}
.workNavFlex .workNav__item2 a i {
    color:#35b1c5;
    margin-right:5px;
}
.workNavFlex .workNav__item3 a i {
    color:#ff9900;
    margin-right:5px;
}
@media only screen and (max-width: 768px) {
    .workNavFlex {
        display:block;
    }
    .workNavFlex .workNav__item {
        width:100%;
    }
}

/*　お仕事コンテンツ部
 =============================================================== */
.marginClear {
    margin-top:0 !important;
    margin-bottom:0 !important;
}

.workContent {
    border:4px solid #e35064;
    background:#ffffff;
    border-radius:20px;
    margin-top:60px;
    padding:30px;
}
.workContent h2 {
    font-size:clamp(2.2rem, 3vw, 3rem);
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    text-align:center;
    padding:0 0 100px 0;
    background:url(../images/work/h2_2026_cont1Bk.png) no-repeat bottom;
}
@media only screen and (max-width: 420px) {
    .workContent h2 {
        padding:0 0 80px 0;
        background-size:80% auto;
        background-position:bottom center;
    }
}
.workContent .subTtl {
    font-size:clamp(1.8rem, 2.4vw, 2.4rem);
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    margin-bottom:30px;
}
@media only screen and (max-width: 580px) {
    .workContent {
        border:4px solid #dd1c4a;
        padding:30px 0;
    }
    .workContent .ribonTtl2 {
        font-size:1.8rem;
        line-height:1.5;
    }
}

.wrokContFlex1 {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    margin-bottom:60px;
    align-items:center;
}
.wrokContFlex1 .workcont__itemL {
    position:relative;
    width:65%;
    padding:15px;
}
.wrokContFlex1 .workcont__itemR {
    width:35%;
    padding:0 15px;
}
@media only screen and (max-width: 980px) {
    .wrokContFlex1 {
        display:block;
    }
    .wrokContFlex1 .workcont__itemR,
    .wrokContFlex1 .workcont__itemL {
        width:100%;
    }
}
@media only screen and (max-width: 580px) {
    .wrokContFlex1 {
        margin-bottom:20px;
    }
}

.wrokContFlex2 .workcont__itemL {
    order:2;
}
.wrokContFlex2 .workcont__itemR {
    order:1;
}

.wrokContFlex50 {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    margin-bottom:60px;
}
.wrokContFlex50 .workcont__item {
    width:50%;
}
@media only screen and (max-width: 768px) {
    .wrokContFlex50 {
        display:block;
    }
    .wrokContFlex50 .workcont__item {
        width:100%;
    }
}

/* コンテンツ内BOX ----------------------------------- */
.workContent .contWrap {
    background:#fceaeb;
    padding:20px 20px 20px 20px;
    text-align:left;
    border-radius:20px;
}
.workContent .contWrap h3 {
    text-align:center;
    color:#dd1c4a;
    font-size:clamp(1.8rem, 2.4vw, 2.4rem);
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    margin-bottom:24px;
}
.workContent .contWrap .contTtl {
    background:#e35064;
    color:#ffffff;
    display:inline-block;
    padding:10px 30px;
    border-radius:8px;
}
.workContent .contWrap .contTxt {
    margin-bottom:30px;
}
.workContent .contWrap ul {
    list-style:none;
    margin:0 0 0 24px;
    padding:0;
    display:flex;
    flex-wrap:wrap;
}
.workContent .contWrap ul li {
    margin:15px 5px 0 0;
    padding:0 20px 0 0;
    position:relative;
}
.workContent .contWrap ul li::before {
    position:absolute;
    content:'⚫︎';
    color:#dd1c4a;
    font-size:1em;
    /* 黒丸の大きさに差異があるので調整 */
    margin-right:1em;
    top:0;
    left:-16px;
}

.workContent2 {
    border:4px solid #35b1c5;
}
.workContent2 h2 {
    background:url(../images/work/h2_2026_cont2Bk.png) no-repeat bottom;
}
@media only screen and (max-width: 420px) {
    .workContent2 h2 {
        padding:0 0 80px 0;
        background-size:80% auto;
        background-position:bottom center;
    }
}
.workContent2 .contWrap {
    background:#e0f3f6;
}
.workContent2 .contWrap h3 {
    color:#185b65;
}
.workContent2 .contWrap .contTtl {
    background:#35b1c5;
}
.workContent2 .contWrap ul li::before {
    color:#35b1c5;
}

.workContent3 {
    border:4px solid #ff9900;
}
.workContent3 h2 {
    background:url(../images/work/h2_2026_cont3Bk.png) no-repeat bottom;
}
@media only screen and (max-width: 420px) {
    .workContent3 h2 {
        padding:0 0 80px 0;
        background-size:80% auto;
        background-position:bottom center;
    }
}
.workContent3 .contWrap {
    background:#f9f2da;
}
.workContent3 .contWrap h3 {
    color:#e58900;
}
.workContent3 .contWrap .contTtl {
    background:#ff9900;
}
.workContent3 .contWrap ul li::before {
    color:#ff9900;
}

/* 福祉ブック ----------------------------------- */
.secbook {
    margin:60px 0 0;
    padding:60px 0;
    border-top:1px solid #f1f1f1;
}
.secbook h2 {
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-weight:bold;
    color:#dd1c4a;
    margin-bottom:2em;
}
@media only screen and (max-width: 580px) {
    .secbook {
        padding:30px 5px;
    }
}

.bookFlex {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
}
.bookFlex .book__item {
    width:30% !important;
    padding:15px;
    text-align:center;
    border:1px solid #cccccc;
    background-image:url('../images/common/left1.png'), url('../images/common/right1.png'), url('../images/common/left2.png'), url('../images/common/right2.png');
    background-repeat:no-repeat, no-repeat, no-repeat, no-repeat;
    background-position:left top, right top, left bottom, right bottom;
    background-size:31px 31px, 31px 31px, 31px 31px, 31px 31px;
}
.bookFlex .book__item a {
    transition:0.15s all;
}
.bookFlex .book__item a:hover {
    opacity:0.8;
}
@media only screen and (max-width: 580px) {
    .bookFlex {
        display:block;
    }
    .bookFlex .book__item {
        width:100% !important;
        margin-bottom:30px;
    }
}

/*下矢印吹き出し*/
.fukidashiUnder {
    display:flex;
    justify-content:center;
    position:relative;
    max-width:360px;
    margin-bottom:15px;
    padding:0.8em 1.2em;
    border-radius:5px;
    background-color:#e35064;
    color:#ffffff;
    margin:0 auto 30px;
    font-family:'Noto Sans JP', sans-serif;
    font-weight:bold;
    font-size:clamp(1.6rem, 1.8vw, 1.8rem);
}

/*
.fukidashiUnder::before {
    position: absolute;
    bottom: -15px;
    width: 30px;
    height: 15px;
    background-color: $color5;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}
    */
/*===============================================================

jusan

===============================================================*/
.jusan__mainV_pc {
    display:block;
    margin:0 auto;
}

.jusan__mainV_sp {
    display:none;
}

@media only screen and (max-width: 768px) {
    .jusan__mainV_pc {
        display:none;
    }
    .jusan__mainV_sp {
        display:block;
        margin:0 auto;
    }
}
.jusan__mainV {
    text-align:center !important;
    background:#fff67f;
    width:96%;
    margin:0 auto;
    border-radius:20px;
    padding-bottom:30px;
}

.jusanTtl2026 {
    background:url(../images/common/h2_bk.png) no-repeat top center;
    text-align:center;
    color:#000000;
    font-size:clamp(2.2rem, 3vw, 3rem);
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    padding-top:180px;
    margin-bottom:30px;
}

.itemBoxWrap {
    background:#fceaeb;
    border-radius:15px;
    padding:50px 30px;
    margin:50px 0;
}
@media only screen and (max-width: 580px) {
    .itemBoxWrap {
        padding:20px 10px;
    }
}

.jusanItemTtl2026 {
    font-size:clamp(2.2rem, 3vw, 3rem);
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    text-align:center;
    padding:0 0 100px 0;
    background:url(../images/common/h2_2026_2Bk.png) no-repeat bottom;
}
@media only screen and (max-width: 420px) {
    .jusanItemTtl2026 {
        background-size:contain;
    }
}

.jusanPrice {
    background:#35b1c5;
    display:inline-block;
    margin:30px auto;
    padding:10px 15px;
    border-radius:10px;
    color:#ffffff;
}

.itemWrap {
    padding:20px;
    background-color:#ffffff;
    background-image:url('../images/common/left1.png'), url('../images/common/right1.png'), url('../images/common/left2.png'), url('../images/common/right2.png');
    background-repeat:no-repeat, no-repeat, no-repeat, no-repeat;
    background-position:left top, right top, left bottom, right bottom;
    background-size:31px 31px, 31px 31px, 31px 31px, 31px 31px;
}
.itemWrap .jusanFlex {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:15px;
}
.itemWrap .jusanFlex .flex__img {
    width:45%;
}
.itemWrap .jusanFlex .flex__txt {
    width:calc(55% - 15px);
    line-height:2;
}
.itemWrap .jusanFlex .flex__txt p {
    line-height:2 !important;
}
.itemWrap.itemWrap2 .jusanFlex {
    flex-direction:row-reverse;
}
@media only screen and (max-width: 980px) {
    .itemWrap .jusanFlex .flex__txt {
        line-height:1.5;
    }
    .itemWrap .jusanFlex .flex__txt p {
        line-height:1.5 !important;
    }
}
@media only screen and (max-width: 768px) {
    .itemWrap .jusanFlex {
        display:block;
    }
    .itemWrap .jusanFlex .flex__img {
        width:100%;
        text-align:center;
    }
    .itemWrap .jusanFlex .flex__txt {
        width:100%;
    }
}

.itemHojinLink {
    text-align:center;
    margin-top:30px;
}
.itemHojinLink a {
    font-size:clamp(1.6rem, 2vw, 2rem);
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    color:#dd1c4a;
    text-decoration:none;
}
.itemHojinLink a:hover {
    color:#35b1c5;
}
