@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=Edu+TAS+Beginner:wght@400..700&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Zen+Maru+Gothic:wght@400;500;700;900&family=Zen+Old+Mincho&display=swap');
/*
.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-maru-gothic-medium {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-maru-gothic-bold {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.zen-maru-gothic-black {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;

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

common

===============================================================*/
/* 0) 念のためデフォ背景を透明にしておく（テーマ側で背景色があるなら上書き） */
html,
body {
    background:transparent !important;
}

/* 1) bodyに固定された全面レイヤーを置く */
body {
    position:relative;
    /* スタッキングコンテキスト */
}

/* 画面に貼り付く背景（スクロールしても動かない） */
body::before {
    content:'';
    position:fixed;
    inset:0;
    /* top:0; right:0; bottom:0; left:0; の省略 */
    z-index:-1;
    /* 背景より後で、コンテンツより手前にならないよう0に */
    pointer-events:none;
    /* クリック阻害防止 */
    /* 好みの画像に変更 */
    /* 高解像度対応したい場合は image-set を併用（任意） */
    /* background-image: image-set(url('../images/common/hero.jpg') 1x, url('../images/common/hero@2x.jpg') 2x); */
    background-image:url('../images/common/contentHeadBk2.png');
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
}

.bg-ceremony::before,
.bg-award::before {
    background-image:url('../images/common/awardBk.svg');
}

.bg-login::before {
    background-image:url('../images/common/contentHeadBk2.png');
}

.bg-news::before {
    background-image:url('../images/news/news-bg.jpg');
}

.bg-news-archive::before {
    background-image:url('../images/news/news-archive-bg.jpg');
}

.bg-events::before {
    background-image:url('../images/common/events-bg.jpg');
}

.bg-home::before {
    background-image:url('../images/common/home-hero.jpg');
}

.bg-contact::before {
    background-image:url('../images/common/contact-bg.jpg');
}

.bg-iwwg::before {
    background-image:url('../images/events/iwwg-bg.jpg');
}

/* コンテンツ部を太字に*/
.site-main {
    font-weight:bold !important;
}

/*　小見出し　
 =============================================================== */
/* 区切り ----------------------------------- */
.page-def {
    color:#ffffff;
}

/*　defaultの　h1,h2タイトル部
 ================================================ */
.page-def h1.page-title {
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:800;
    font-style:normal;
    color:#ffffff;
    font-size:clamp(2.2rem, 5vw, 5rem);
    line-height:1 !important;
    margin:5% 0;
    line-height:1.5 !important;
}
.page-def h2.awardH2 {
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:800;
    font-style:normal;
    color:#aa7800;
    font-size:clamp(2.2rem, 3.8vw, 3.8rem);
    line-height:1 !important;
    margin:20px auto 20px;
    display:block;
    padding-bottom:0.5em;
    border-bottom:4px solid transparent;
    border-image:linear-gradient(90deg, #ffff82, #80440c) 1;
}

/*　投稿の　h1,h2タイトル部
 ================================================ */
.cat-awardnews h1.entry-title,
.cat-awardnews h1.entry-title {
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:800;
    font-style:normal;
    color:#aa7800;
    font-size:clamp(2rem, 3.2vw, 3.2rem);
    line-height:1 !important;
    margin:5% 0 0;
    line-height:1.5 !important;
}

/*　汎用リンク用ボタン
 =============================================================== */
.awardLink {
    margin:15px auto;
    padding:0;
    max-width:640px;
    list-style:none;
}
.awardLink li {
    margin:30px 0;
}

.yearLink {
    margin:15px auto;
    padding:0;
    max-width:640px;
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    justify-self:center;
    align-items:center;
    width:100%;
    gap:10px;
}
.yearLink li {
    margin:30px 0;
    padding:0;
    width:calc(25% - 10px) !important;
    text-align:center;
}
.yearLink li a {
    position:relative;
    display:block;
    background:#aa7800;
    color:#ffffff !important;
    display:block;
    padding:10px 20px 5px 20px;
    text-align:center;
}
.yearLink li a:hover {
    background:#ddc999;
    color:#aa7800;
}
.yearLink li a:after {
    position:absolute;
    font-family:'Font Awesome 5 Free';
    content:'\f105';
    font-weight:900;
    padding-right:5px;
    color:#ffffff;
    top:12px;
    right:5px;
}

.listLink {
    margin:15px auto;
    padding:0;
    list-style:none;
}
.listLink li {
    margin:30px 0;
}

/* 汎用リンクボタンベース */
.link-button {
    --circle-bg:#e8e3d0;
    --circle-size:40px;
    position:relative;
    display:flex;
    align-items:center;
    padding:10px 60px 10px 0;
    min-height:var(--circle-size);
    text-decoration:none;
    font-weight:500;
    line-height:1;
}
.link-button .button-text {
    font-size:1.8rem;
}
.link-button .button-arrow-wrapper {
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:var(--circle-size);
    height:var(--circle-size);
    border-radius:50%;
    background:var(--circle-bg);
    display:grid;
    place-items:center;
    pointer-events:none;
}
.link-button .button-arrow {
    position:absolute;
    left:-5px;
    width:25px;
    height:1px;
    background:#000000;
    transform:translateX(0);
    transition:transform 0.3s ease-out;
}
.link-button .button-arrow::after {
    content:'';
    position:absolute;
    top:-4px;
    right:0;
    width:8px;
    height:8px;
    border-top:1px solid #000000;
    border-right:0 solid currentColor;
    transform:rotate(45deg);
}
.link-button:hover .button-arrow {
    transform:translateX(10px);
}

/* モディファイア：award配色に変更（文字色＋丸の色） */
.link-button.is-award {
    color:#aa7800;
    --circle-bg:#f0e6c9;
}
.link-button.is-award:hover {
    color:#ddc999;
}

/* モディファイア：def配色に変更（文字色＋丸の色） */
.link-button.is-def {
    color:#ffffff;
    --circle-bg:#ffffff;
}
.link-button.is-def:hover {
    color:#cccccc;
}

/*　汎用お知らせ用リンク
 =============================================================== */
.newsWrap a {
    position:relative;
    display:block;
    text-decoration:none;
    margin:0 auto 1em;
    padding:5px 0 5px 20px;
    max-width:90%;
    color:#333333;
    background:#f5f5f5;
    border:1px solid #cccccc;
    transition:0.15s all;
}
@media only screen and (max-width: 980px) {
    .newsWrap a {
        max-width:100%;
    }
}
.newsWrap a:hover {
    background:#e9e9e9;
}
.newsWrap a i {
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    color:#ffffff;
    font-size:2.8rem;
    line-height:1;
    pointer-events:none;
}
.newsWrap dl {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0;
    padding:8px 0;
}
.newsWrap dt {
    flex:1 1 auto;
    margin:0;
}
.newsWrap dd {
    flex:0 0 130px;
    width:130px;
    margin:0;
    text-align:left;
    white-space:nowrap;
    position:relative;
    /* i の絶対配置は a 側にしているので任意 */
}

/* ========== テーマ別モディファイア========== */
/* Award 用 */
.newsWrap.newsWrap--award a {
    background:#f2ebd9;
    border:1px solid #ddc999;
    color:#333333;
}

.newsWrap.newsWrap--award a:hover {
    background:#ddc999;
}

.newsWrap.newsWrap--award a i {
    color:#ffffff;
}

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

header

===============================================================*/
.rightblock .search-form {
    display:none;
    /*display: flex;*/
    align-items:center;
}
.rightblock .search-field {
    padding:4px 6px;
    font-size:14px;
}
.rightblock .search-submit {
    background:#333333 !important;
    color:#ffffff;
    border:none;
    padding:8px 14px !important;
    font-size:14px;
    cursor:pointer;
    margin-left:4px;
}
.rightblock .search-submit:hover {
    background:#000000;
}

@media only screen and (max-width: 640px) {
    .rightblock .search-form {
        display:none;
    }
}
/*===============================================================

gmnavi

===============================================================*/
.site-gnav {
    list-style:none;
    margin:0 0 0 0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:500;
}
.site-gnav li a {
    text-decoration:none;
    color:#009935;
}

/*==ナビゲーション全体の設定*/
nav.glNaviPc {
    color:#009935;
    text-align:left;
}
nav.glNaviPc ul.site-gnav {
    list-style:none;
    margin:px 0 0 0;
    padding:0;
    display:flex;
    align-items:flex-end;
    gap:15px;
}
nav.glNaviPc ul.site-gnav li a {
    display:inline-block;
    text-decoration:none;
    color:#009935;
    font-size:1.8rem;
}
nav.glNaviPc ul.site-gnav li.has-mega {
    position:relative;
}
nav.glNaviPc ul.site-gnav li.has-mega > a {
    position:relative;
    padding-right:1.6em;
}
nav.glNaviPc ul.site-gnav li.has-mega > a::before,
nav.glNaviPc ul.site-gnav li.has-mega > a::after {
    content:'';
    position:absolute;
    top:50%;
    right:0.4em;
    width:8px;
    height:2px;
    background-color:#009935;
    transform-origin:center;
    transition:transform 0.3s ease;
}
nav.glNaviPc ul.site-gnav li.has-mega > a::before {
    transform:translateY(-50%) rotate(45deg);
}
nav.glNaviPc ul.site-gnav li.has-mega > a::after {
    transform:translateY(-50%) rotate(-45deg);
    right:0.1em;
}
nav.glNaviPc ul.site-gnav li.has-mega.active > a::before {
    transform:translateY(-50%) rotate(-45deg);
}
nav.glNaviPc ul.site-gnav li.has-mega.active > a::after {
    transform:translateY(-50%) rotate(45deg);
}

/* ── メガメニュー本体 ───────────────────────── */
.mega-menu {
    /* 非表示時 = 少し上に隠れている */
    opacity:0;
    transform:translateY(-30px);
    /* ← 上方へオフセット（縮小はしない） */
    visibility:hidden;
    pointer-events:none;
    transition:opacity 0.4s ease, transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
    /* 表示時 */
    /* 以降はレイアウトなど前回と同じ ---------------------- */
    position:fixed;
    left:0;
    width:100vw;
    top:0;
    top:118px;
    /* JS でヘッダー高を上書き */
    z-index:998;
    background-color:rgba(23, 42, 136, 0.8);
    padding:15px 0;
}
.mega-menu.active {
    opacity:1;
    transform:translateY(0);
    /* 0 まで滑らかに下りてくる */
    visibility:visible;
    pointer-events:auto;
}
.mega-menu .mega-inner {
    max-width:1300px;
    margin:0 auto;
    padding:0 32px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(210px, 210px));
    gap:15px;
    justify-content:center;
    align-items:center;
    justify-items:center;
    /* 子リンクの遅延フェード */
}
.mega-menu .mega-inner a {
    border:1px solid ccc;
    background:#ffffff;
    display:block;
    text-decoration:none;
    color:#222222;
    opacity:0;
    transform:translateY(10px);
    animation:fadeUp 0.45s forwards;
    width:100%;
    /* カード幅を揃えたい場合は指定 */
    text-align:center;
    /* 文字列を中央揃え             */
}
.mega-menu .mega-inner a:nth-child(1) {
    animation-delay:0.05s;
}
.mega-menu .mega-inner a:nth-child(2) {
    animation-delay:0.1s;
}
.mega-menu .mega-inner a:nth-child(3) {
    animation-delay:0.15s;
}
.mega-menu .mega-inner a:nth-child(4) {
    animation-delay:0.2s;
}
.mega-menu .mega-inner a:nth-child(5) {
    animation-delay:0.25s;
}
.mega-menu .mega-inner a:nth-child(6) {
    animation-delay:0.3s;
}
.mega-menu .mega-inner a:nth-child(7) {
    animation-delay:0.35s;
}
.mega-menu .mega-inner a:nth-child(8) {
    animation-delay:0.4s;
}
.mega-menu .mega-inner a:nth-child(9) {
    animation-delay:0.45s;
}
.mega-menu .mega-inner a:nth-child(10) {
    animation-delay:0.5s;
}
.mega-menu .mega-inner a:nth-child(11) {
    animation-delay:0.55s;
}
.mega-menu .mega-inner a:nth-child(12) {
    animation-delay:0.6s;
}
.mega-menu .mega-inner a:nth-child(13) {
    animation-delay:0.65s;
}
.mega-menu .mega-inner a:nth-child(14) {
    animation-delay:0.7s;
}
.mega-menu .mega-inner a:nth-child(15) {
    animation-delay:0.75s;
}
.mega-menu .mega-inner a:nth-child(16) {
    animation-delay:0.8s;
}
.mega-menu .mega-inner a:nth-child(17) {
    animation-delay:0.85s;
}
.mega-menu .mega-inner a:nth-child(18) {
    animation-delay:0.9s;
}
.mega-menu .mega-inner a:nth-child(19) {
    animation-delay:0.95s;
}
.mega-menu .mega-inner a:nth-child(20) {
    animation-delay:1s;
}
.mega-menu .mega-inner a img {
    width:100%;
}
.mega-menu .mega-inner a span {
    display:block;
    margin:4px auto;
}
.mega-menu .mega-inner a:hover {
    transform:translateY(-4px);
}

/* 子リンクのフェードアップ */
@keyframes fadeUp {
    to {
        opacity:1;
        transform:translateY(0);
    }
}
/* キーフレーム -------------------------- */
@keyframes fadeUp {
    to {
        opacity:1;
        transform:translateY(0);
    }
}
/* 開いている見出しリンクの色変化（任意） */
.site-gnav .has-mega.active > a {
    color:#435bb7;
}

/* ── サイトナビ（クリック時に色変化させたい時）────── */
.site-gnav .has-mega.active > a {
    color:#435bb7;
    /* お好みで */
}

.glNaviSp {
    display:none;
}

@media only screen and (max-width: 480px) {
    .glNaviSp {
        display:none;
        /*　#g-nav5.openbtn5
    =============================================================== */
        /*アクティブクラスがついたら透過なしにして最前面へ*/
        /*ナビゲーションの縦スクロール*/
        /*========= ボタンのためのCSS ===============*/
        /*×に変化*/
    }
    .glNaviSp #g-nav5 {
        /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
        position:fixed;
        z-index:-1;
        opacity:0;
        top:0;
        width:100%;
        height:100vh;
        transition:all 0.3s;
    }
    .glNaviSp #g-nav5.panelactive {
        opacity:1;
        z-index:999;
    }
    .glNaviSp #g-nav5.panelactive #g-nav-list {
        /*ナビの数が増えた場合縦スクロール*/
        position:fixed;
        z-index:999;
        width:100%;
        height:100vh;
        /*表示する高さ*/
        overflow:auto;
        -webkit-overflow-scrolling:touch;
    }
    .glNaviSp .site-gnavSp-container {
        display:flex;
        justify-content:center;
        align-items:start;
        height:100vh;
        background-color:#3bb37d;
        padding:60px 0;
    }
    .glNaviSp .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;
    }
    .glNaviSp .site-gnavSp li {
        border-bottom:1px solid #dddddd;
        position:relative;
    }
    .glNaviSp .site-gnavSp li:last-child {
        border-bottom:none;
    }
    .glNaviSp .site-gnavSp li a,
    .glNaviSp .site-gnavSp li label {
        display:block;
        padding:12px 16px;
        color:#009935;
        text-decoration:none;
        font-size:16px;
        transition:background 0.3s;
        cursor:pointer;
    }
    .glNaviSp .site-gnavSp li a:hover,
    .glNaviSp .site-gnavSp li label:hover {
        background:#e0e0e0;
    }
    .glNaviSp .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;
    }
    .glNaviSp .site-gnavSp li ul li {
        border-bottom:none;
    }
    .glNaviSp .site-gnavSp li ul li a {
        padding-left:24px;
        font-size:14px;
        color:#666666;
    }
    .glNaviSp .site-gnavSp li input[type=checkbox] {
        display:none;
    }
    .glNaviSp .site-gnavSp li input[type=checkbox]:checked ~ ul {
        max-height:500px;
    }
    .glNaviSp .site-gnavSp li label {
        position:relative;
        padding-right:40px;
    }
    .glNaviSp .site-gnavSp li label::after {
        content:'▼';
        position:absolute;
        right:16px;
        top:50%;
        transform:translateY(-50%);
        font-size:12px;
        transition:transform 0.3s;
        color:#39b062;
    }
    .glNaviSp .site-gnavSp li input[type=checkbox]:checked + label::after {
        transform:translateY(-50%) rotate(180deg);
    }
    .glNaviSp .openbtn5 {
        position:fixed;
        z-index:9999;
        /*ボタンを最前面に*/
        top:0;
        right:0;
        cursor:pointer;
        width:70px;
        height:70px;
        background:#009935;
    }
    .glNaviSp .openbtn5 div.inTxt {
        position:absolute;
        display:inline-block;
        color:#ffffff;
        font-size:1.2rem;
        bottom:10px;
        left:20px;
    }
    .glNaviSp .openbtn5 span {
        display:inline-block;
        transition:all 0.4s;
        position:absolute;
        left:20px;
        height:3px;
        border-radius:2px;
        background-color:#ffffff;
        width:45%;
    }
    .glNaviSp .openbtn5 span:nth-of-type(1) {
        top:18px;
    }
    .glNaviSp .openbtn5 span:nth-of-type(2) {
        top:26px;
    }
    .glNaviSp .openbtn5 span:nth-of-type(3) {
        top:34px;
    }
    .glNaviSp .openbtn5.active span:nth-of-type(1) {
        top:24px;
        left:26px;
        transform:translateY(6px) rotate(-45deg);
        width:30%;
    }
    .glNaviSp .openbtn5.active span:nth-of-type(2) {
        opacity:0;
    }
    .glNaviSp .openbtn5.active span:nth-of-type(3) {
        top:36px;
        left:26px;
        transform:translateY(-6px) rotate(45deg);
        width:30%;
    }
}
/*===============================================================

footer

===============================================================*/
.site-footer {
    margin-top:80px !important;
    padding:30px 0;
    border-top:1px solid #333333;
    text-align:center;
}
.site-footer img {
    max-width:380px;
}

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

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

/*　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:#39b062;
}
.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:#435bb7;
    border-color:#cccccc !important;
}

.wp-pagenavi span.current {
    color:#ffffff;
    background-color:#009935;
    border-color:#009935;
    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;
}

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

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

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

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

_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: 480px) {
    .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:#009935;
    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:#39b062;
    color:#ffffff;
    font-weight:bold;
    font-size:20px;
}

.feas-submit-button,
.search-submit,
.search-Btn {
    border-radius:6px;
    display:inline-block;
    background:#009935 !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 #009935;
    padding:0 30px 30px 30px !important;
    margin-bottom:60px;
    background-color:#ffffff;
}
@media only screen and (max-width: 480px) {
    .formRes {
        padding:0 10px 10px 10px !important;
    }
}
.formRes h1.entry-title {
    margin:0 auto;
    background-color:#009935;
    color:#ffffff;
    display:inline-block;
    padding:10px 20px;
    border-radius:0 0 20px 20px;
}
.formRes table {
    margin-top:30px;
}
.formRes table th {
    background:#009935;
    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;
    }
}

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

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

Top

===============================================================*/
/*　新着部
 =============================================================== */
.newsFlex {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:start;
    margin-top:2em;
    gap:20px;
}
@media only screen and (max-width: 768px) {
    .newsFlex {
        display:block;
    }
}
.newsFlex .news__item1 {
    width:180px;
}
.newsFlex .news__item1 h2 {
    font-size:3.6rem;
    color:#009935;
}
.newsFlex .news__item1 h2 .ja {
    display:block;
    font-size:1.4rem;
}
.newsFlex .news__item2 {
    width:calc(100% - 200px);
}
.newsFlex .news__item2 dl {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:start;
    margin-bottom:30px;
    border-bottom:1px solid #cccccc;
    padding:0.5em 0 1em;
}
.newsFlex .news__item2 dl dt {
    width:180px;
}
.newsFlex .news__item2 dl dt .newsCat {
    font-size:1.4rem;
    background:#cccccc;
    color:#009935;
    display:inline-block;
    border-radius:15px;
    padding:1px 15px;
    margin:0 4px;
}
.newsFlex .news__item2 dl dd {
    width:calc(100% - 180px);
    margin:0;
}
.newsFlex .news__item2 dl dd a {
    text-decoration:none;
    line-height:1.5;
    color:#009935;
    transition:0.15s all;
}
.newsFlex .news__item2 dl dd a:hover {
    color:#435bb7;
}
@media only screen and (max-width: 768px) {
    .newsFlex {
        display:block;
    }
    .newsFlex .news__item1 {
        width:100%;
    }
    .newsFlex .news__item2 {
        width:100%;
    }
    .newsFlex .news__item2 dl {
        display:block;
    }
    .newsFlex .news__item2 dl dd,
    .newsFlex .news__item2 dl dt {
        width:100%;
    }
}

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

Login

===============================================================*/
.memberWrap {
    padding:5% 0;
}

.page-login {
    color:#ffffff;
}
.page-login h1.entry-title {
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:800;
    font-style:normal;
    color:#ffffff;
    font-size:clamp(2.2rem, 5vw, 5rem);
    line-height:1 !important;
    margin:5% 0;
    text-shadow:2px 3px 3px rgba(0, 0, 0, 0.4);
}
.page-login h2 {
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:800;
    font-style:normal;
    color:#ffffff;
    font-size:clamp(2.2rem, 3.8vw, 3.8rem);
    line-height:1 !important;
    margin:5% auto 0;
    display:block;
    padding-bottom:0.5em;
    border-bottom:4px solid transparent;
    border-image:linear-gradient(90deg, #54b881, #ffffff) 1;
}
.page-login .jaTxt {
    padding:20px;
}
.page-login .engTxt {
    padding:20px;
    background:#ffffff;
    border-radius:5px;
    color:#333333;
}

/*　ログイン部
 =============================================================== */
.longinMember,
.memberLogin {
    max-width:520px;
    margin:0 auto;
}

.btn,
a.btn,
button.btn {
    font-size:1.6rem;
    font-weight:700;
    line-height:1.5;
    position:relative;
    display:inline-block;
    padding:1rem 4rem;
    cursor:pointer;
    -webkit-user-select:none;
       -moz-user-select:none;
        -ms-user-select:none;
            user-select:none;
    -webkit-transition:all 0.3s;
            transition:all 0.3s;
    text-align:center;
    vertical-align:middle;
    text-decoration:none;
    letter-spacing:0.1em;
    color:#212529;
    border-radius:0.5rem;
}

.btn-wrap-pc-sp {
    max-width:435px;
    margin:0 auto 20px;
}

a.btn-pc-sp {
    line-height:1.4;
    width:49.5%;
    padding:1.25rem 0;
    color:white;
}

a.btn--outline {
    display:inline-block;
    padding:0.5em 1.5rem;
    color:#333333;
    background:#cccccc;
}
a.btn--outline:hover {
    background:#aaaaaa;
}

a.btn--contact i.fa-position-left {
    font-size:3rem;
    left:2rem;
}

a.btn--contact :hover {
    color:#ffffff;
}

a.btn--tel {
    display:block;
    margin-top:15px;
    padding:1rem 0;
    color:#ffffff;
    background:#009944;
    -webkit-box-shadow:0 5px 0 #008039;
            box-shadow:0 5px 0 #008039;
}

a.btn--tel i {
    font-size:2rem;
}

a.btn--tel i.fa-position-left {
    font-size:3rem;
    left:2rem;
}

a.btn--tel .number {
    line-height:1;
    display:inline-block;
    margin-top:0.5rem;
    padding:0.25rem 2rem;
    letter-spacing:0;
    color:#009944;
    border-radius:0.5rem;
    background:#ffffff;
}

a.btn--tel:hover {
    color:#ffffff;
}

.fa-position-left {
    position:absolute;
    top:calc(50% - 0.5em);
    left:1rem;
}

.fa-position-right {
    position:absolute;
    top:calc(50% - 0.5em);
    right:1rem;
}

/*　ログインフォーム　表示アコーディオン
 =============================================================== */
/*アコーディオン全体*/
.accordion-areaNews {
    list-style:none;
    width:100%;
    margin:0 auto;
    /*アコーディオンタイトル*/
    /*アイコンの＋と×*/
    /*　closeというクラスがついたら形状変化　*/
    /*アコーディオンで現れるエリア*/
}
.accordion-areaNews li {
    margin:10px 0;
}
.accordion-areaNews .title {
    position:relative;
    /*+マークの位置基準とするためrelative指定*/
    cursor:pointer;
    font-weight:normal;
    padding:1% 1% 1% 40px;
    transition:all 0.5s ease;
    border:1px solid #cccccc;
    border-radius:5px;
    background:#666666;
    color:#ffffff;
}
.accordion-areaNews .title::before,
.accordion-areaNews .title::after {
    position:absolute;
    content:'';
    width:15px;
    height:2px;
    background-color:#ffffff;
}
.accordion-areaNews .title::before {
    top:48%;
    right:15px;
    transform:rotate(0deg);
}
.accordion-areaNews .title::after {
    top:48%;
    right:15px;
    transform:rotate(90deg);
}
.accordion-areaNews .title.close::before {
    transform:rotate(45deg);
}
.accordion-areaNews .title.close::after {
    transform:rotate(-45deg);
}
.accordion-areaNews .box {
    display:none;
    /*はじめは非表示*/
    background:#f3f3f3;
    margin:0;
    padding:3%;
}

.logintitle {
    position:relative;
    /*+マークの位置基準とするためrelative指定*/
    cursor:pointer;
    font-weight:normal;
    padding:1% 1% 1% 40px;
    transition:all 0.5s ease;
    border:1px solid #cccccc;
    border-radius:5px;
    background:#666666;
    color:#ffffff;
}

/*アコーディオンで現れるエリア*/
.loginbox {
    display:block;
    /*はじめは非表示*/
    background:#ffffff;
    margin:0;
    padding:3%;
    border-radius:8px;
    border:1px dashed #39b062;
    color:#333333;
}

/*　アコーディオンログインフォーム
 =============================================================== */
#accordion-loginform .login-username,
#accordion-loginform .login-password,
#accordion-loginform .login-remember {
    margin-bottom:1rem;
}
#accordion-loginform label {
    display:block;
    font-weight:600;
    margin-bottom:0.35rem;
    color:#555555;
}
#accordion-loginform input[type=text],
#accordion-loginform input[type=email],
#accordion-loginform input[type=password] {
    width:100%;
    padding:0.75rem 0.9rem;
    border:1px solid rgba(0, 0, 0, 0.12);
    border-radius:0.5rem;
    background:#fafafa;
    transition:border-color 0.2s, box-shadow 0.2s;
    font-size:1.6rem;
}
#accordion-loginform input[type=text]:focus,
#accordion-loginform input[type=email]:focus,
#accordion-loginform input[type=password]:focus {
    outline:none;
    border-color:#39b062;
    box-shadow:0 0 0 3px rgba(210, 0, 16, 0.15);
    background:#ffffff;
}
#accordion-loginform .login-remember {
    display:flex;
    align-items:center;
    gap:0.5rem;
}
#accordion-loginform .login-remember input[type=checkbox] {
    width:1.05rem;
    height:1.05rem;
    accent-color:#39b062;
}
#accordion-loginform .login-remember label {
    margin:0;
}

/* アコーディオン内のログイン送信ボタンだけを上書き */
/* アコーディオンのログイン送信ボタンだけに適用 */
#accordion-submit {
    /* まず既存の見た目をリセット寄りに */
            appearance:none;
    -webkit-appearance:none;
    border:none !important;
    /* 相手の input[type=submit] を打ち消し */
    border-radius:0.65rem !important;
    /* 丸み */
    background:#39b062;
    color:#ffffff !important;
    /* レイアウト＆タイポ */
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:15px 2.5em;
    font-weight:700;
    font-size:1.6rem;
    letter-spacing:0.03em;
    cursor:pointer;
}

#accordion-submit:hover {
    background:#009935;
}

#accordion-submit:active {
    transform:translateY(1px);
    box-shadow:0 4px 10px rgba(210, 0, 16, 0.2);
    filter:brightness(0.95);
}

#accordion-submit:focus {
    outline:none;
    box-shadow:0 0 0 4px rgba(210, 0, 16, 0.25), 0 6px 15px rgba(210, 0, 16, 0.25);
}

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

award

===============================================================*/
/*　Award　h1,h2タイトル部
 ================================================ */
.page-award .entry-header {
    padding:5px 0;
    margin-bottom:70px;
}
.page-award h1.entry-title--outstanding-paper-award,
.page-award h1.entry-title--material-cycles-academic-papers-and-award,
.page-award h1.entry-title {
    display:block;
    width:fit-content;
    margin:5% auto;
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:800;
    font-style:normal;
    color:#aa7800;
    font-size:clamp(2.2rem, 5vw, 5rem);
    line-height:1.2 !important;
    padding:clamp(16px, 2vw, 32px) clamp(16px, 3vw, 24px);
    position:relative;
}
.page-award h1.entry-title {
    display:block;
}
.page-award h1.entry-title--material-cycles-academic-papers-and-award {
    padding:clamp(16px, 2vw, 32px) clamp(16px, 3vw, 18px) clamp(0px, 12vw, 0px);
    /* === タイトル文字“だけ”キラッ（左→右）=== */
}
.page-award h1.entry-title--material-cycles-academic-papers-and-award::before,
.page-award h1.entry-title--material-cycles-academic-papers-and-award::after {
    content:'';
    position:absolute;
    bottom:0;
    width:clamp(70px, 18vw, 180px);
    aspect-ratio:1/1;
    background-repeat:no-repeat;
    background-size:contain;
    pointer-events:none;
}
.page-award h1.entry-title--material-cycles-academic-papers-and-award::before {
    right:100%;
    margin-right:clamp(8px, 1.5vw, 16px);
    background-image:image-set(url(../images/award/awardBk1.png) 1x, url(../images/award/awardBk1@2x.png) 2x);
}
.page-award h1.entry-title--material-cycles-academic-papers-and-award::after {
    left:100%;
    margin-left:clamp(8px, 1.5vw, 16px);
    background-image:image-set(url(../images/award/awardBk2.png) 1x, url(../images/award/awardBk2@2x.png) 2x);
}
.page-award h1.entry-title--material-cycles-academic-papers-and-award .shine {
    position:relative;
    display:inline-block;
    overflow:hidden;
    color:inherit;
}
.page-award h1.entry-title--material-cycles-academic-papers-and-award .shine::after {
    content:attr(data-text);
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 44%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 0) 56%, rgba(255, 255, 255, 0) 100%);
    background-repeat:no-repeat;
    background-size:100% 100%;
    -webkit-background-clip:text;
            background-clip:text;
    -webkit-text-fill-color:transparent;
    transform:translateX(-140%);
    animation:pageAwardShineMoveLTR 3.2s cubic-bezier(0.24, 0.11, 0.15, 0.99) infinite;
    will-change:transform;
}
.page-award h1.entry-title--outstanding-paper-award {
    padding:clamp(16px, 2vw, 32px) clamp(16px, 3vw, 0px) clamp(0px, 12vw, 0px);
    /* === タイトル文字“だけ”キラッ（左→右）=== */
}
.page-award h1.entry-title--outstanding-paper-award::before,
.page-award h1.entry-title--outstanding-paper-award::after {
    content:'';
    position:absolute;
    bottom:0;
    width:clamp(60px, 12vw, 120px);
    aspect-ratio:1/1;
    background-repeat:no-repeat;
    background-size:contain;
    pointer-events:none;
}
.page-award h1.entry-title--outstanding-paper-award::before {
    right:100%;
    margin-right:clamp(8px, 1.5vw, 16px);
    background-image:image-set(url(../images/award/award2Bk1.png) 1x, url(../images/award/award2Bk1@2x.png) 2x);
}
.page-award h1.entry-title--outstanding-paper-award::after {
    left:100%;
    margin-left:clamp(8px, 1.5vw, 16px);
    background-image:image-set(url(../images/award/award2Bk2.png) 1x, url(../images/award/award2Bk2@2x.png) 2x);
}
.page-award h1.entry-title--outstanding-paper-award .shine {
    position:relative;
    display:inline-block;
    overflow:hidden;
    color:inherit;
}
.page-award h1.entry-title--outstanding-paper-award .shine::after {
    content:attr(data-text);
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 44%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 0) 56%, rgba(255, 255, 255, 0) 100%);
    background-repeat:no-repeat;
    background-size:100% 100%;
    -webkit-background-clip:text;
            background-clip:text;
    -webkit-text-fill-color:transparent;
    transform:translateX(-140%);
    animation:pageAwardShineMoveLTR 3.2s cubic-bezier(0.24, 0.11, 0.15, 0.99) infinite;
    will-change:transform;
}
@media only screen and (max-width: 640px) {
    .page-award h1.entry-title--material-cycles-academic-papers-and-award::before,
    .page-award h1.entry-title--material-cycles-academic-papers-and-award::after {
        width:clamp(56px, 22vw, 180px);
    }
    .page-award h1.entry-title--outstanding-paper-award::before,
    .page-award h1.entry-title--outstanding-paper-award::after {
        width:clamp(56px, 22vw, 80px);
    }
}
@media only screen and (max-width: 480px) {
    .page-award h1.entry-title--material-cycles-academic-papers-and-award::before,
    .page-award h1.entry-title--material-cycles-academic-papers-and-award::after {
        width:clamp(46px, 22vw, 50px);
    }
    .page-award h1.entry-title--outstanding-paper-award::before,
    .page-award h1.entry-title--outstanding-paper-award::after {
        width:clamp(46px, 22vw, 50px);
    }
}
.page-award h2.awardH2 {
    display:block !important;
    margin:20px auto;
    text-align:center;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:800;
    font-style:normal;
    color:#aa7800;
    font-size:clamp(2.2rem, 3vw, 3rem);
    line-height:1 !important;
    padding-bottom:0.5em;
    border-bottom:4px solid transparent;
    border-image:linear-gradient(90deg, #ffff82, #80440c) 1;
}

/* ==============================
   左 → 右 の“キラッ”（1回通過 → 待機）
   速度や待機はここで調整可能
============================== */
@keyframes pageAwardShineMoveLTR {
    /* 待機時間（左の外で待つ）：メリハリを出す */
    0%,
    70% {
        transform:translateX(-140%);
    }
    /* 一度だけ左→右に通過（“キラッ”本体） */
    85% {
        transform:translateX(140%);
    }
    /* 右の外で待機（見えない）→ 次のサイクルへ */
    100% {
        transform:translateX(140%);
    }
}
/* ユーザーが動きを減らす設定なら停止 */
@media (prefers-reduced-motion: reduce) {
    h1.entry-title--material-cycles-academic-papers-and-award .shine::after,
    h1.entry-title--outstanding-paper-award .shine::after {
        animation:none;
    }
}
/*　Award　スライダーのためのscss
 ================================================ */
.slider-bleed {
    margin-bottom:80px;
}

/* フルブリード化（親のw1000等を突破して画面いっぱいに） */
.slider {
    list-style:none;
    margin:0;
    padding:0;
    /* ここがキモ */
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    /* 画像・スライドの余白を完全に消す */
    /* 矢印を端に寄せたい場合（任意） */
}
.slider .slick-slide {
    margin:0;
    padding:0;
}
.slider li {
    list-style:none;
}
.slider img {
    display:block;
    width:100%;
    height:auto;
}
.slider .slick-prev,
.slider .slick-next {
    z-index:2;
    top:50%;
    transform:translateY(-50%) rotate(45deg);
}
.slider .slick-prev {
    left:8px;
    transform:translateY(-50%) rotate(-135deg);
}
.slider .slick-next {
    right:8px;
}

/*　Award　お知らせ
 ================================================ */
/*
.newsWrap {

    a {
        position: relative; // ← i をこの中で絶対配置する
        text-decoration: none;
        background: $awardcolor3;
        display: block;
        margin: 0 auto 1em;
        padding: 5px 0px 5px 20px;
        color: #333;
        transition: .15s all;
        max-width: 90%;
        border: 1px solid $awardcolor2;

        @media only screen and (max-width: $screen-l) {
            max-width: 100%;
        }

        &:hover {
            background: $awardcolor2;
        }

        // ここに置くと「リンクの中で」縦中央になる
        i {
            position: absolute;
            right: 10px !important;
            top: 50%;
            transform: translateY(-50%); // ← 縦中央
            color: #fff;
            font-size: 2.8rem;
            line-height: 1; // ベースラインの影響防止
            pointer-events: none; // クリックの邪魔をしない
        }
    }

    dl {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin: 0;
        padding: 8px 0;
    }

    dt {
        flex: 1 1 auto;
        margin: 0;
        // 省略時は以下を有効化
        // min-width: 0;
        // a { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
    }

    dd {
        flex: 0 0 130px;
        width: 130px;
        margin: 0;
        text-align: left;
        white-space: nowrap;
    }
}
*/
.viewMore a {
    text-decoration:none;
    color:#333333;
    transition:0.15s all;
}
.viewMore a i {
    top:3px;
    color:#aa7800;
    margin-left:10px;
    font-size:2.2rem;
    transition:0.15s all;
}
.viewMore a:hover {
    color:#aa7800;
}
.viewMore a:hover i {
    color:#ddc999;
}

/*Award ページのシンプルなボタン*/
.awardBtn {
    text-align:center;
}
.awardBtn a {
    display:block;
    padding:0.5em 1em;
    margin:1em auto;
    text-decoration:none;
    background:#f2ebd9;
    color:#333333;
    max-width:320px !important;
    border:1px solid #ddc999;
}
.awardBtn a:hover {
    background:#aa7800;
    color:#ffffff;
}

/*　Awardトップのブロックメニュー
 ================================================ */
.awardMenu {
    margin-bottom:50px;
}

.awardMenu1 {
    margin:80px 0 0 0;
}
.awardMenu1 a {
    position:relative;
    display:grid;
    place-items:center;
    padding:40px 0;
    background:url('../images/common/btn_awardBk.png') center/cover no-repeat;
    text-align:center;
    font-size:clamp(2.2rem, 3vw, 3rem);
    text-decoration:none;
    color:#ffffff;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    transition:0.15s all;
}
.awardMenu1 a i {
    position:absolute;
    right:30px;
}
.awardMenu1 a:hover {
    color:#aa7800;
    background:url('../images/common/btn_awardBk2.png') center/cover no-repeat;
}

.awardMenu1.awardMenu1-2 {
    margin-bottom:30px;
}
.awardMenu1.awardMenu1-2 a {
    padding:80px 0;
}
@media only screen and (max-width: 558px) {
    .awardMenu1.awardMenu1-2 a {
        padding:50px 70px 50px 20px;
    }
}
.awardMenu1.awardMenu1-2 a i {
    color:#ddc58e;
    position:absolute;
    right:30px;
}
.awardMenu1.awardMenu1-2 a:hover i {
    color:#ffffff;
}

.awardMenu2 {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:24px;
    margin:1em 0;
    /* $screen-m 以下：2カラム＋Menu1風の余白で高さ調整（正方形解除） */
    /* 640px 以下は 1カラム（前回の指定をそのまま残す） */
}
.awardMenu2 a {
    position:relative;
    display:grid;
    place-items:center;
    place-content:center;
    grid-auto-rows:min-content;
    text-align:center;
    line-height:1.2;
    font-size:clamp(1.8rem, 2.6vw, 2.6rem);
    text-decoration:none;
    color:#ffffff;
    background:url('../images/common/btn_awardBk.png') center/cover no-repeat;
    transition:0.15s all;
    padding:20px 0;
    font-family:'Noto Sans JP', sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
}
.awardMenu2 a i.fa-circle-chevron-right {
    position:absolute;
    right:15px;
    transform:translateX(-50%);
    pointer-events:none;
    font-size:3rem;
    color:#ddc58e;
}
.awardMenu2 a:hover {
    color:#aa7800;
    background:url('../images/common/btn_awardBk2.png') center/cover no-repeat;
}
.awardMenu2 a:hover i {
    color:#ffffff;
}
.awardMenu2 a span {
    display:block;
}
@media only screen and (max-width: 980px) {
    .awardMenu2 {
        gap:12px;
    }
}
@media only screen and (max-width: 768px) {
    .awardMenu2 {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:12px;
    }
    .awardMenu2 a {
        aspect-ratio:auto;
        padding:50px 0;
        row-gap:0.2em;
    }
    .awardMenu2 a i.fa-circle-chevron-right {
        left:50%;
        right:auto;
        top:auto;
        bottom:15px;
        transform:translateX(-50%);
        font-size:2.4rem;
    }
}
@media only screen and (max-width: 640px) {
    .awardMenu2 {
        grid-template-columns:1fr;
    }
    .awardMenu2 a {
        padding:25px 0;
    }
    .awardMenu2 a i.fa-circle-chevron-right {
        left:auto;
        right:30px;
        top:50%;
        bottom:auto;
        transform:translateY(-50%);
    }
}

/*　Celemonyトップのスライドイン設定
 ================================================ */
/* セクションはフルブリード（画面端まで） */
.awardTalks {
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding-block:10px;
}

/* 各ブロック */
.awardTalk {
    width:100vw;
    margin-bottom:60px !important;
    /* カード本体：横幅は画面に応じて可変、左右端に寄せる */
    /* 画像とメタ情報の塊は同じ幅で揃える（中身の寄せ替えをしやすく） */
    /* 画像 */
    /* 情報（Name / Presentation Title） */
    /* ── 寄せ方 ─────────────────────────── */
    /* 上のボックス：カードは左端から、中身（画像・テキスト）はカード右側に寄せる */
    /* 下のボックス：カードは右端から、中身はカード左側に寄せる */
}
.awardTalk__card {
    width:min(1300px, 78vw);
    padding:clamp(20px, 3.2vw, 28px);
    background:linear-gradient(180deg, rgba(213, 181, 104, 0.95), rgba(167, 117, 10, 0.95));
    border-radius:6px;
    overflow:hidden;
}
.awardTalk__media,
.awardTalk__meta {
    width:min(70%, 760px);
}
.awardTalk__media {
    margin:0 0 clamp(18px, 3vw, 24px);
}
.awardTalk__media img {
    display:block;
    width:100%;
    height:auto;
    border-radius:2px;
}
.awardTalk__meta {
    margin:0;
}
.awardTalk__row {
    display:flex;
    align-items:center;
    gap:14px;
    margin:10px 0;
}
.awardTalk__label {
    flex:0 0 auto;
    min-width:140px;
    margin:0;
    font-size:1.6rem;
    letter-spacing:0.02em;
    color:#ffffff;
    opacity:0.9;
}
.awardTalk__value {
    flex:1 1 auto;
    margin:0;
    color:#ffffff;
    line-height:1.6;
    border-left:2px solid rgba(255, 255, 255, 0.7);
    padding-left:14px;
}
.awardTalk--left > .awardTalk__card {
    margin-left:0;
    margin-right:auto;
}
.awardTalk--left .awardTalk__media,
.awardTalk--left .awardTalk__meta {
    margin-left:auto;
    margin-right:clamp(16px, 3vw, 24px);
}
.awardTalk--right > .awardTalk__card {
    margin-left:auto;
    margin-right:0;
}
.awardTalk--right .awardTalk__media,
.awardTalk--right .awardTalk__meta {
    margin-left:clamp(16px, 3vw, 24px);
    margin-right:auto;
}

/* レスポンシブ */
@media only screen and (max-width: 880px) {
    .awardTalk__card {
        width:min(1100px, 86vw);
    }
    .awardTalk__media,
    .awardTalk__meta {
        width:min(76%, 700px);
    }
    .awardTalk__label {
        min-width:120px;
        font-size:1.6rem;
    }
}
@media only screen and (max-width: 640px) {
    .awardTalk__card {
        width:min(1100px, 94vw);
    }
    .awardTalk__media,
    .awardTalk__meta {
        width:100%;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    .awardTalk__row {
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
    }
    .awardTalk__value {
        border-left:none;
        padding-left:0;
    }
}
/*　固定ページ内のアコーディオン
 ================================================ */
/* アコーディオン全体 */
/*
.accordion-area_inPage {
    list-style: none;
    width: 100%;
    margin: 0 auto;
    padding: 0;

    li {
        margin: 10px 0;
    }

    section {
        border-bottom: 1px solid $awardcolor1;
        padding: 0;


        .title {
            position: relative; 
            cursor: pointer;
            font-weight: normal;
            padding: 15px 10px 10px 50px;
            transition: all .5s ease;


            &::before,
            &::after {
                position: absolute;
                content: '';
                width: 15px;
                height: 2px;
                background-color: #333;
            }

            &::before {
                top: 30px;
                left: 15px;
                transform: rotate(0deg);
            }

            &::after {
                top: 30px;
                left: 15px;
                transform: rotate(90deg);
            }


            &.close {
                &::before {
                    transform: rotate(45deg);
                }

                &::after {
                    transform: rotate(-45deg);
                }
            }
        }


        .box {
            display: none; 
            background: #f3f3f3;
            margin: 0 3% 3% 3%;
            padding: 3%;
        }
    }
}
*/
.accordion-area_inPage {
    list-style:none;
    width:100%;
    margin:0 auto;
    padding:0;
}
.accordion-area_inPage li {
    margin:10px 0;
}
.accordion-area_inPage section {
    border-bottom:1px solid #aa7800;
    padding:0;
}
.accordion-area_inPage section .title {
    position:relative;
    cursor:pointer;
    font-weight:normal;
    padding:15px 10px 10px 50px;
    transition:color 0.3s ease;
    /* ← 旧: 線で作る疑似要素はオフにする */
    /* Font Awesome の丸＋アイコン */
    /* 開いている状態（あなたのJSが .close を付けている想定） */
}
.accordion-area_inPage section .title::before,
.accordion-area_inPage section .title::after {
    content:none;
}
.accordion-area_inPage section .title i.fa-circle-plus {
    position:absolute;
    left:15px;
    top:30px;
    transform:translateY(-50%) rotate(0deg);
    font-size:22px;
    color:#aa7800;
    transition:transform 0.25s ease;
    pointer-events:none;
}
.accordion-area_inPage section .title.close i.fa-circle-plus {
    transform:translateY(-50%) rotate(45deg);
}
.accordion-area_inPage section .box {
    display:none;
    background:#f3f3f3;
    margin:0 3% 3%;
    padding:3%;
}

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

single

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

/*　ページャー
 =============================================================== */
.pager {
    margin:40px 0;
}
.pager .flexContainer {
    display:flex;
    border-top:1px solid #cccccc;
    border-bottom:1px solid #cccccc;
    background-color:rgba(255, 255, 255, 0.8);
}
.pager .flexContainer > div {
    width:33.333%;
    text-align:center;
}
.pager .flexContainer > div a {
    display:block;
    width:100%;
    height:100%;
    padding:20px;
    text-decoration:none;
    color:#333333;
    font-weight:bold;
    transition:all 0.3s ease;
}
.pager .flexContainer > div a:hover {
    opacity:0.8;
    text-decoration:underline;
}
.pager .flexContainer .prev,
.pager .flexContainer .back {
    border-right:1px solid #cccccc;
}
