@charset "utf-8";

/*
Theme Name:
Description: 
Author: エイジェック広報部
License: Copyright AGEKKE GROUP All Rights Reserved.
*/
/* ======================================================
/*               ◆ デフォルト ◆
/* ====================================================== 
/* リセットCSS */
html,
body,
div,
span,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
del,
em,
img,
small,
strong,
sub,
i,
dl,
dt,
ol,
ul,
li,
form,
label,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
dt,
dd,
article,
aside,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
time,
mark,
audio,
video {
    background: transparent;
    border: 0;
    letter-spacing: 0.5px;
    margin: 0;
    outline: 0;
    padding: 0;
}

/* font*/
p,
h1,
h2,
ul,
ol,
body {
    margin: 0px;
    padding: 0px;
    color: #373737
}

p {
    font-size: 16px;
    line-height: 1.6em
}

a {
    outline: none;
    font-size: 15px;
    text-decoration: none;
    transition-property: all;
    transition: 0.2s linear;
    color: black
}

/*a:hover{text-decoration:none;color:#fff}*/
ul {
    list-style-type: none
}

body {
    font-family: ヒラギノ角ゴシック, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    width: 100%;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: none;
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4 {
    margin-bottom: 0;
    margin-top: 0;
}

h1 {
    font-family: ヒラギノ角ゴ StdN W8, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*content*/
.content {
    max-width: 1200px;
    margin: 0 auto
}

@media screen and (max-width:1250px) {
    .content {
        width: 95%;
        margin: 0 auto;
    }
}






/*アンカーリンク調節*/
.anchor {
    display: block;
    padding-top: 80px;
    margin-top: -80px;
}


/*影*/
.shadow {
    box-shadow: 1.5px 1.5px 1.5px 1.5px #8a8a8a;
    -webkit-box-shadow: 1.5px 1.5px 1.5px 1.5px #8a8a8a;
    -moz-box-shadow: 1.5px 1.5px 1.5px 1.5px #8a8a8a;
}

/*i-phone横用処理*/
@media screen and (max-width:700px) {
    body {
        -webkit-text-size-adjust: 100%;
    }

    .content {
        max-width: 95%
    }
}

/*only-pc only-nav*/
@media screen and (min-width:641px) {
    .only-mov {
        display: none
    }
}

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

    .only-mov {
        display: block
    }
}


/*ハンバーガーメニュー*/
@media screen and (min-width:1025px) {
    .globalnavi .only-mov {
        display: none
    }
}

@media screen and (max-width:1024px) {
    .globalnavi .only-pc {
        display: none
    }

    .globalnavi .only-mov {
        display: block
    }
}




/*float*/
.fro {
    float: left;
}

.fro-r {
    float: right;
}

.over-f {
    overflow: hidden;
}

.top-1 {
    margin-top: 1%
}

.top-2 {
    margin-top: 2%
}

.top-3 {
    margin-top: 3%
}

.top-5 {
    margin-top: 5%
}

.top-10 {
    margin-top: 10%
}

.btm-1 {
    margin-bottom: 1%
}

.btm-2 {
    margin-bottom: 2%
}

.btm-3 {
    margin-bottom: 3%
}

.btm-4 {
    margin-bottom: 4%
}

.btm-5 {
    margin-bottom: 5%
}

.btm-10 {
    margin-bottom: 10%
}

.btm-15 {
    margin-bottom: 15%
}

.btmp-5 {
    padding-bottom: 5%
}

.btmp-10 {
    padding-bottom: 10%
}

.btmp-15 {
    padding-bottom: 15%
}

.btm-7 {
    margin-bottom: 7%
}

.btm-8 {
    margin-bottom: 8%
}

.btm-10 {
    margin-bottom: 10%
}

.btm-13 {
    margin-bottom: 13%
}

.btm-20 {
    margin-bottom: 20%
}

.mar-r1 {
    margin-right: 1%
}

.mar-r2 {
    margin-right: 2%
}

.mar-r4 {
    margin-right: 4%
}

.mar-r5 {
    margin-right: 5%
}

.mar-r10 {
    margin-right: 10%
}

.topp-50p {
    padding-top: 50px;
}

.topp-70p {
    padding-top: 70px;
}

.topp-3 {
    padding-top: 3%;
}

.topp-8 {
    padding-top: 8%;
}

.topp-10 {
    padding-top: 10%;
}

.topp-15 {
    padding-top: 15%;
}

.wid-3 {
    width: 3%
}

.wid-4 {
    width: 4%
}

.wid-10 {
    width: 10%
}

.wid-20 {
    width: 20%
}

.wid-25 {
    width: 25%
}

.wid-15 {
    width: 15%
}

.wid-35 {
    width: 35%
}

.wid-40 {
    width: 40%
}

.wid-45 {
    width: 45%
}

.wid-48 {
    width: 48%
}

.wid-50 {
    width: 50%
}

.wid-60 {
    width: 60%
}

.wid-70 {
    width: 70%
}

.wid-75 {
    width: 75%
}

.wid-80 {
    width: 80%
}

.wid-100 {
    width: 100%
}

.center {
    text-align: center;
}

.right {
    text-align: right;
}

.left {
    text-align: left;
}

.between {
    justify-content: space-between;
}

/*背景色*/
.back-white {
    background-color: white
}

.back-gray {
    background-color: #b3a9a0
}

/*文字*/
.font-b {
    font-weight: bold
}

.font-w {
    color: white
}

.font-red {
    color: #f00
}

.font-y {
    color: #FFFF00;
    font-family: A-OTF 新丸ゴ Pro, Helvetica neue, Helvetica, Arial, Roboto, "Droid Sans", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "MS Pゴシック", sans-serif;
    font-size: 15px;
}

/*文字サイズ*/
.font-s07 {
    font-size: 0.7em
}

.font-s08 {
    font-size: 0.8em
}

.font-s15 {
    font-size: 1.5em
}

.font-s2 {
    font-size: 2em
}

.font-s3 {
    font-size: 3em
}

h1,
h2 {
    font-family: ヒラギノ角ゴシック, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*文字共通*/
.moji {
    font-family: YakuHanJP, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: bold;
}

/*タイトル*/
h2.title {
    display: table;
    width: auto;
    padding: 10px 50px 10px 50px;
    font-weight: bold;
    text-align: center;
    transition: .5s;
    color: #fff;
    background-color: #000;
    margin: 0 auto;
    font-size: 1.125rem;
    transform: skewX(-15deg);
    margin-top: -40px;
}

.title-en {
    font-size: 5em;
    font-weight: bold;
    color: #fce5d6;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 1200px) {
    .title-en {
        font-size: 4em;
    }
}

@media screen and (max-width: 640px) {
    .title-en {
        font-size: 2em;
    }

    h2.title {
        font-size: 15px;
        padding: 5px 25px 5px 25px;
        margin-top: -15px;
    }
}




.body {
    padding-top: 60px;
}

/* --------------------------------------------------- ふわっとアニメーション*/
.fuwat {
    opacity: 0;
    transform: translateY(20px);
    transition: all 2s;
}

@media screen and (max-width: 768px) {
    .fuwat {
        /*transition: all .5s;*/
        transition: none;
        opacity: 1;
    }
}

@media screen and (max-width: 750px) {
    .fuwat {
        /*transition: all .5s;*/
        transition: none;
    }
}



/* --------------------------------------------------- 自然に出てくるアニメーション*/
.natural {
    animation-name: fadein;
    animation-duration: 3s;
}

@keyframes fadein {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}






/* ======================================================
/*               ◆ ヘッダー ◆
/* ====================================================== 

/* グローバルメニュー */
/* ------------------スマホヘッダー-------------------- */
.panel-inner {
    position: relative;
    top: 7px;
    width: 100%;
    height: 100vh;
    background: rgb(235 94 1);
    transition: all 0.5s;
    padding-top: 4%;
    z-index: 2;
    padding-bottom: 2%;
}

@media screen and (max-width: 1024px) {
    .panel-inner {
        top: 10px;
    }
}

@media screen and (max-width: 900px) {
    .panel-inner {
        top: 9px;
    }
}

@media screen and (max-width: 768px) {
    .panel-inner {
        margin-top: -1%;
        padding-top: 5%;
        margin-top: -3px;
        padding-bottom: 5%;
    }
}

@media screen and (max-width: 650px) {
    .panel-inner {
        margin-top: 0%;
        padding: 0%;
    }
}

.panel {
    display: none;
}

.only-mov header {
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, .05) 0 0 10px 3px;
    position: fixed;
    height: 60px;
    width: 100%;
    z-index: 99;
}




.only-mov .btn-square {
    float: left;
    font-size: 12px;
}

.only-mov .global-nav ul {
    display: none;
}

.only-mov .global-nav .sub li {
    background-color: #d6d1c2;
}

.only-mov .global-nav li {
    font-size: 15px;
    font-family: 'font2', 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    color: #5c3417;
}

.only-mov .global-nav li p {
    padding: 0 100px;
}

@media screen and (max-width: 750px) {
    .only-mov .global-nav li p {
        padding: 0px 30px;
    }
}


.only-mov .global-nav a {
    font-family: 'font2', 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    color: #fff;
    font-size: 17px;
    line-height: 25px;
    font-weight: normal;
}

@media screen and (max-width: 768px) {
    .only-mov .global-nav a {
        text-decoration: none;
    }
}

.only-mov .global-nav span {
    background-image: url(img/open.png);
}

.only-mov .global-nav span {
    display: block;
    padding: 15px 50px;
    background-position: 93% center;
    background-repeat: no-repeat;
    border: none;
    font-size: 17px;
    line-height: 15px;
}

@media screen and (max-width: 750px) {
    .only-mov .global-nav span {
        padding: 5px 25px;
        line-height: 25px;
    }

    .only-mov .global-nav span img {
        width: 30%;
    }
}

.only-mov .global-nav .nav-item {
    padding: 4%;
}

@media screen and (max-width: 768px) {
    .only-mov .global-nav .nav-item {
        padding: 1% 3%;
    }
}

@media screen and (max-width: 650px) {
    .only-mov .global-nav .nav-item {
        padding: 9px 10px;
        border-bottom: solid 1px;
    }
}

/* --------------------------------------------------- Toggle Button */
#nav-toggle {
    display: none;
    position: absolute;
    right: 3px;
    top: 10px;
    width: 40px;
    height: 45px;
    cursor: pointer;
    z-index: 999;
}

@media screen and (max-width: 768px) {
    #nav-toggle {
        top: 10px;
    }
}

#nav-toggle div {
    position: relative;
}

#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 80%;
    background: #515151;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
    top: 0;
}

#nav-toggle span:nth-child(2) {
    top: 12px;
}

#nav-toggle span:nth-child(3) {
    top: 24px;
}

@media screen and (max-width: 1024px) {
    #nav-toggle {
        display: block;
        /*background-color: #cde4b3;*/
        padding: 8px;
    }

    /*----------#nav-toggle 切り替えアニメーション----------*/
    #js-popout-close {
        position: absolute;
        right: 10px;
        top: -50px;
        width: 30px;
        height: 45px;
        cursor: pointer;
        z-index: 999;
        /*background-color: #cde4b3;*/
        padding: 8px;
    }

    #js-popout-close div {
        position: relative;
    }

    #js-popout-close span {
        display: block;
        position: absolute;
        height: 4px;
        width: 100%;
        background: #515151;
        left: 0;
    }

    #js-popout-close span:nth-child(1) {
        top: 14px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }

    #js-popout-close span:nth-child(2) {
        width: 0;
        left: 50%;
    }

    #js-popout-close span:nth-child(3) {
        top: 14px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
}

@media screen and (max-width: 750px) {
    #js-popout-close {
        top: -53px;
    }
}

@media screen and (max-width: 767px) {
    header .top_head {
        height: 50px;
        position: relative;
    }

    header .link_health {
        position: absolute;
        top: 9px;
        right: 50px;
    }

    .btn-square {
        font-size: 0.85em;
        margin-right: 0;
        background: #BAE3F9;
        border: none;
        padding: 8px 10px 7px;
        border-bottom: solid 4px #63A4C2;
    }

    ul.global-nav ul.sub {
        display: none;
    }

    ul.global-nav li p {
        cursor: pointer;
        color: #fff;
    }

    ul.global-nav>li>p span {
        background-image: url(img/open.png);
    }

    ul.global-nav>li>p span.open {
        background-image: url(img/close.png);
    }

    ul.global-nav li.order {
        display: block;
        padding: 15px 15px;
        color: #fff;
        border: none;
    }

    ul.global-nav li.order a {
        color: #ffffff;
        font-weight: 100;
        text-decoration: none;
    }

    .nav-item a {
        display: block;
        text-decoration: none;
    }

    ul.global-nav span {
        display: block;
        padding: 15px 15px;
        background-position: 93% center;
        background-repeat: no-repeat;
        color: #fff;
        border-bottom: 1px solid #80181a;
    }
}

/* ------------------------ヘッダー--------------------------------------- */
.globalnavi {
    width: 100%;
    /*position: fixed;*/
    z-index: 10;
    margin-top: 0px;
}

@media screen and (max-width: 750px) {
    .globalnavi {
        display: contents;
        background-color: #fffbf0;
        width: 100%;
        position: fixed;
        z-index: 10;
    }
}

#top-head {
    background: #fff;
    height: 90px;
}

@media screen and (min-width: 1141px) {
    #top-head.sticky {
        box-shadow: rgba(0, 0, 0, .05) 0 0 10px 3px;
        background: rgba(255, 255, 255, 0.81) !important;
    }
}

.header {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.header li {
    display: inline-block;
    vertical-align: middle;
}

.dropmenu {
    text-align: end;
}

.dropmenu:before,
.dropmenu:after {
    content: "";
    display: table;
}

.dropmenu:after {
    clear: both;
}

.dropmenu li {
    display: inline-block;
    text-align: center;
    margin: 5px 0;
}

.dropmenu li img {
    width: 75px;
}

.dropmenu li a {
    display: block;
    margin: 0;
    font-size: 15px;
    line-height: 21px;
    text-decoration: none;
    color: #252525;
    font-weight: bold;
    margin: 0 12px;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 1024px) {
    .dropmenu li a {
        font-size: 14px;
        margin: 0 10px;
    }
}

.dropmenu li a:hover {
    color: #eb5e02;
}

.dropmenu li a:hover .dropmenu li .flo-wrap .icon-p p {
    color: #fff;
}

.dropmenu li ul {
    list-style: none;
    position: absolute;
    z-index: 9999;
    top: 100%;
    left: 0;
    margin: 0;
    padding: 0;
}

.dropmenu li ul li {
    width: 100%;
}

.dropmenu li ul li a {
    padding: 13px 15px;
    background-color: #f6f2e7;
}

.dropmenu li a:hover .dropmenu li a {
    background-color: #000;
}

#normal li ul {
    display: none;
}

#normal li:hover ul {
    display: block;
}


/*メニューのホバーしたあと*/
.aaa ul li a {
    font-size: 13px;
    border-left: solid 2px #d7d7d7;
    padding: 0 10px;
    margin: 0;
}

.aaa ul li.sns a {
    border: none;
    padding: 0;
}

.aaa ul li.sns a i {
    font-size: 20px;
    margin: 0 10px;
    font-weight: 100;
}

.aaa ul li.sns.insta a i {
    font-size: 22px;
}

.aaa ul li a.last {
    border-right: solid 2px #d7d7d7;
    margin-right: 10px;
}

.header .bbb {
    padding-top: 9px;
    margin-left: 15px;
}

.header .bbb img {
    width: 300px;
    margin-top: 5px;
}

.header .aaa {
    display: flex;
}

.header .aaa ul {
    padding-top: 15px;
    margin-right: 25px;
}

.header .header-btn {
    display: flex;
}

.header .header-btn .btn {
    background-color: #000;
    display: flex;
    align-items: center;
}

.header .header-btn .btn:hover {
    background-color: #eb5e02;
    transition: 0.2s linear;
}

.header .header-btn .btn a {
    color: #fff;
    padding: 18px 25px;
    display: block;
}

.header .header-btn .btn.btn2 {
    background-color: #eb5e02;
}

.header .header-btn .btn.btn2:hover {
    background-color: #e38b00;
    transition: 0.2s linear;
}

/* -----------------------グローバルメニューお試し-------------------------------- */
.header {
    height: 60px;
    background-color: #fff;
}

.global-nav {
    position: absolute;
    width: 100%;
    z-index: 10;
}

.global-nav__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: center;
}

.global-nav__list li {
    padding: 0 14px;
}

.global-nav__list li a {
    display: block;
    height: 50px;
    line-height: 50px;
    color: #111;
    text-decoration: none;
}

.global-nav.clone-nav {
    position: fixed;
    top: -130px;
    left: 0;
    transition: all 1s;
    background-color: #fff;
    box-shadow: 0 2px 2px rgba(0, 0, 0, .2);
}

.global-nav.clone-nav.is-fixed-nav {
    top: 0;
}

@media screen and (max-width: 1300px) {
    .aaa ul li a {
        padding: 0px 10px
    }
}

@media screen and (max-width: 2060px) {
    .header .header-btn .btn a {
        padding: 18px 10px;
        font-size: 13px;
    }
}

@media screen and (max-width: 1195px) {
    .aaa ul li a {
        padding: 0px 5px;
    }

    .aaa ul li.sns a i {
        margin: 0 5px;
    }
}

@media screen and (max-width: 1080px) {
    .header .aaa ul {
        margin-right: 10px;
    }

    .header .header-btn .btn a {
        padding: 18px 10px;
        font-size: 12px;
    }
}

@media screen and (max-width: 1024px) {
    .global-nav {
        position: unset;
    }

    .globalnavi .only-mov .header-left img {
        width: 300px;
        margin-top: 13px;
        margin-left: 10px;
    }

    .header {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .global-nav.clone-nav {
        display: none;
    }

    .is-fixed-nav {
        display: none;
    }

    #js-trigger {
        display: none;
    }
}

@media screen and (max-width: 640px) {
    .globalnavi .only-mov .header-left img {
        width: 240px;
        margin-top: 17px;
        margin-left: 10px;
    }
}




/* ======================================================
/*               ++ 装飾・アニメーション ++
   ====================================================== */
/* ----- キランと光る -----*/
.kiran-box {
    opacity: 0;
}

.kiran-box.kiran {
    opacity: 1;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.kiran-box.kiran::before {
    background-color: #fff;
    content: "";
    display: block;
    position: absolute;
    top: -100px;
    left: 0;
    width: 30px;
    height: 100%;
    opacity: 0;
    transition: cubic-bezier(0.32, 0, 0.67, 0);
}

.kiran-box.kiran:hover::before {
    animation: kiran 0.3s linear 1;
}

@keyframes kiran {
    0% {
        transform: scale(2) rotate(45deg);
        opacity: 0;
    }

    20% {
        transform: scale(20) rotate(45deg);
        opacity: 0.6;
    }

    40% {
        transform: scale(30) rotate(45deg);
        opacity: 0.4;
    }

    80% {
        transform: scale(45) rotate(45deg);
        opacity: 0.2;
    }

    100% {
        transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}

.rotateRightZ {
    animation-name: rotateRightZAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

@keyframes rotateRightZAnime {
    from {
        transform: rotateZ(0);
    }

    to {
        transform: rotateZ(360deg);
    }
}

.fadeIn {
    animation-name: fadeInAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeInAnime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(50px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.flipLeftTop {
    animation-name: flipLeftTopAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes flipLeftTopAnime {
    from {
        transform: translate(-20px, 80px) rotate(-15deg);
        opacity: 0;
    }

    to {
        transform: translate(0, 0) rotate(0deg);
        opacity: 1;
    }
}

.flipRightTop {
    animation-name: flipRightTopAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes flipRightTopAnime {
    from {
        transform: translate(-20px, 80px) rotate(25deg);
        opacity: 0;
    }

    to {
        transform: translate(0, 1) rotate(0deg);
        opacity: 1;
    }
}

.zoomIn {
    animation-name: zoomInAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
    from {
        transform: scale(0.6);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.fadeUpTrigger,
.zoomInTrigger,
.flipLeftTopTrigger,
.flipRightTopTrigger {
    opacity: 0;
}

figure {
    margin: 0 !important;
}

figure.hover-zoom {
    overflow: hidden;
}

figure.hover-zoom img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}

figure.hover-zoom:hover img {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
}




/* ======================================================
/*               ◆ トップ ◆
/* ====================================================== 
/*トップ*/
.top img {
    width: 100%;
}

@media screen and (max-width: 1024px) {
    .top img {
        margin-top: 60px;
    }
}

/* ======================================================
/*               ◆ お知らせ ◆
/* ====================================================== 
/*お知らせ*/
.info {
    padding: 5% 0;
    position: relative;
    margin-bottom: 4%;
}

.info-abu {
    position: absolute;
    left: -7%;
    top: 0;
    width: 60%;
    z-index: -1;
}

.info .news-wrap {
    width: 80%;
    margin: 0 auto;
}

.info .news-wrap ul li {
    border-bottom: solid 1px #bababa;
    padding: 2% 0;
}

.info .news-wrap ul li a {
    font-weight: bold;
    font-size: 14px;
}

.info .news-wrap ul li a.no-link {
    pointer-events: none;
}

.info .news-wrap ul li .table-row {
    display: flex;
    align-items: center;
}

.info .news-wrap ul li a span {
    color: #eb5e02;
    border: solid 2px;
    padding: 0px 10px;
    margin: 0 10px;
}

.info .news-wrap ul li a .blog_title:hover {
    color: #eb5e02;
}

.info .news-wrap .more a {
    border-bottom: solid 1.5px #ff6900;
    padding-bottom: 5px;
    font-weight: bold;
}

.info .news-wrap .more a:hover {
    color: #ff6900;
}

@media screen and (max-width: 640px) {
    .info .news-wrap ul li {
        padding: 6% 0;
    }

    .info .news-wrap ul li .table-row {
        display: ruby;
    }

    .info .news-wrap ul li .table-row p {
        font-size: 15px;
        margin-top: 10px;
    }

    .info .news-wrap {
        width: 95%;
    }
}


/* ======================================================
/*               ◆ 大会メッセージ ◆
/* ====================================================== 
/*メッセージ*/
.message {
    padding: 5% 0;
    position: relative;
    padding-bottom: 5%;
}

.message .abu {
    position: absolute;
    left: -13%;
    width: 43%;
    bottom: -10%;
}

.message .abu2 {
    position: absolute;
    right: -12%;
    top: 0%;
    width: 40%;
    z-index: -1;
}

.message h2.title {
    margin-top: 5px;
}

.message p.text {
    line-height: 35px;
    font-size: 15px;
    font-weight: bold;
}

.message p.toha {
    font-size: 25px;
}

.message p.toha span {
    color: #ff6900;
    font-size: 35px;
}

.message .p-wrap {
    width: 55%;
    margin: 0 auto;
}

.message-cp_box *,
.message-cp_box *:before,
.message-cp_box *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.message-cp_box {
    width: auto;
    margin: 2em auto;
}

.message-cp_box .read-title {
    background-color: #eb5e02;
    padding: 0.5% 2%;
    margin-bottom: 2%;
}

.message-cp_box .name {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    height: 115px;
}

.message-cp_box .name img {
    width: 140px;
    margin-right: 15px;
    position: absolute;
    right: 240px;
}

.message-cp_box label {
    position: relative;
    display: block;
    width: 40%;
    margin: auto;
    padding: 0.5em 1em;
    cursor: pointer;
    transition: all 0.3s;
    text-align: center;
    color: #ffffff;
    border: 2px solid #eb5e02;
    background-color: #eb5e02;
    border-radius: 3px;
    letter-spacing: 0.3em;
}

.message-cp_box label:hover {
    transition: all 0.3s;
    color: #ffffff;
    background: #eb5e02;
}

.message-cp_box label::after {
    font-family: 'FontAwesome';
    content: ' \f067';
    color: #fff;
}

.message-cp_box label:hover::after {
    color: #ffffff;
}

.message-cp_box input:checked~label::after {
    font-family: 'FontAwesome';
    content: ' \f068';
    color: #fff;
}

.message-cp_box input:checked~label:hover::after {
    color: #ffffff;
}

.message-cp_box input {
    display: none;
}

.message-cp_box .cp_container {
    position: relative;
    overflow: hidden;
    height: 0;
    margin-top: -1px;
    transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    background: rgba(255, 255, 255, 0.5);
}

.message-cp_box input:checked~div {
    transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
}

/* 続きを読むを押すと表示されるテキストの高さ */
.message-cp_box input:checked~div.cp_container {
    height: auto;
}

.message .readmore {
    position: relative;
    margin: 50px auto 0;
    padding: 0 0 40px;
}

.message .readmore label {
    position: absolute;
    display: table;
    left: 50%;
    bottom: 0;
    margin: 0 auto;
    width: 300px;
    padding: 10px 0;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    background-color: #eb5e02;
    transform: translateX(-50%);
    cursor: pointer;
    z-index: 1;
    letter-spacing: 0.5em;
}

.message .readmore label::before {
    content: 'VIEW MORE';
}

.message .readmore input[type="checkbox"]:checked~label::before {
    content: 'CLOSE';
}

.message .readmore input[type="checkbox"] {
    display: none;
}

.message .readmore-content {
    position: relative;
    height: 0px;
    overflow: hidden;
}

.message .readmore input[type="checkbox"]:checked~.readmore-content {
    height: auto;
}

.message .readmore-content .readmore-inner {
    background-color: #fff;
    border-radius: 20px;
    padding: 0 10%;
}

.message .readmore p {
    line-height: 35px;
}

@media screen and (max-width: 1024px) {
    .message .p-wrap {
        width: 95%;
    }
}

@media screen and (max-width: 800px) {
    .message p.toha span {
        font-size: 25px;
    }
}

@media screen and (max-width: 640px) {
    .message p.toha span {
        font-size: 30px;
    }

    .message h2.title {
        margin-top: -15px;
    }

    .message-cp_box label {
        width: 80%;
    }

    .message p.name {
        line-height: 25px;
    }

    .message .abu {
        display: none;
    }

    .message .abu2 {
        display: none;
    }

    .message-cp_box .name {
        display: block;
        text-align: center;
        height: auto;
    }

    .message-cp_box .name .left {
        text-align: center;
        margin-top: 10px;
    }

    .message-cp_box .name img {
        width: 199px;
        position: static;
    }
}


/* ======================================================
/*               ◆ 大会概要 ◆
/* ====================================================== 
/*大会概要*/
.gaiyou {
    background-color: #eb5e02;
    padding: 5% 0;
}

.gaiyou .title-en {
    color: #fb8335;
}

.gaiyou table {
    border-collapse: collapse;
    width: 100%;
}

.gaiyou table tr {
    border-top: dotted 1.5px #fff;
}

.gaiyou table tr th {
    padding: 15px 0;
    color: #fff;
    text-align: right;
}

.gaiyou table tr th span {
    border-right: solid;
    padding-right: 15px;
    margin-right: 15px;
}

.gaiyou table tr td {
    padding: 15px 0;
    color: #fff;
}

.gaiyou table tr td a:hover {
    text-decoration: underline;
}

.gaiyou .entry-btn {
    text-align: center;
    margin-top: 5%;
}

.gaiyou .entry-btn .btn,
.gaiyou .entry-btn a.btn,
.gaiyou .entry-btn button.btn,
.entry-btn .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;
}

.confirm_box .entry-btn .btn {
    background-color: #eb5e02;
}

.gaiyou .entry-btn a.btn-gradient,
.entry-btn .btn {
    -webkit-transform: skew(-15deg);
    transform: skew(-15deg);
    color: #fff;
    border-radius: 0;
    background-color: #fff;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
}

.gaiyou .entry-btn a.btn-gradient:hover {
    -webkit-transform: skew(0);
    transform: skew(0);
    color: #fff;
    -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
    box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
}

.gaiyou .entry-btn a.btn-gradient span {
    color: #eb5e02;
}

@media screen and (max-width: 640px) {
    .gaiyou table tr {
        display: grid;
        text-align: center;
    }

    .gaiyou table tr th {
        text-align: center;
        padding-bottom: 0;
    }

    .gaiyou table tr th span {
        border: none;
        padding: 0;
        margin: 0;
    }

    .gaiyou .kome {
        text-align: center;
        font-size: 13px;
    }

    .gaiyou .entry-btn .btn,
    .gaiyou .entry-btn a.btn,
    .gaiyou .entry-btn button.btn {
        font-size: 16px;
        padding: 1rem 3rem;
    }
}

/* ======================================================
/*               ◆ 特別協賛 ◆
/* ====================================================== 
/*特別協賛*/
.sponsor {
    background-image: url(../mytheme/img/haikei-sponsor.jpg);
    background-size: cover;
    /*background-position: center;*/
    padding: 5% 0;
}

.sponsor .title-en {
    color: #ffffff4a;
}

.sponsor p.come {
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    line-height: 45px;
    font-style: italic;
}

.sponsor p.come a {
    color: #eaff16;
    font-weight: bold;
    font-size: 20px;
    text-decoration: underline;
}

.sponsor .spo-kome {
    width: 60%;
    margin: 0 auto;
    margin-top: 5%;
}

.sponsor .spo-kome a {
    font-size: 16px;
    color: #eaff20;
}

.sponsor .spo-kome a:hover {
    text-decoration: underline;
}

.sponsor .flyer {
    width: 25%;
    margin: 0 auto;
    margin-top: 5%;
}

.sponsor .flyer .image_link {
    display: block;
}

.sponsor .flyer .image_link img {
    transition: 0.3s;
    display: block;
    width: 100%;
}

.sponsor .flyer .image_link:hover img {
    opacity: 0.8;
}


@media screen and (max-width: 750px) {
    .sponsor p.come {
        font-size: 18px;
    }
}

@media screen and (max-width: 640px) {
    .sponsor {
        padding: 10% 0 15%;
    }

    .sponsor .spo-kome {
        width: 95%;
        margin-top: 10%;
    }

    .sponsor p.come {
        font-size: 16px;
        line-height: 30px;
    }

    .sponsor p.come a {
        font-size: 16px;
    }

    .sponsor .spo-kome p {
        font-size: 13px;
    }

    .sponsor .spo-kome p a {
        font-size: 13px;
    }
}



/* ======================================================
/*               ◆ 配信 ◆
/* ====================================================== 
/*配信*/
.stream {
    padding: 5% 0;
}

.stream h3 {
    background-color: #eb5e02;
    color: #fff;
    padding: 0.5% 2%;
    margin-bottom: 2%;
}

.stream ul li {
    line-height: 35px;
    font-size: 16px;
}

.stream ul li a {
    color: #0382d0;
    font-weight: bold;
}

.stream ul li a:hover {
    text-decoration: underline;
}

.stream ul li span {
    font-size: 14px;
}

@media screen and (max-width: 640px) {
    .stream ul li {
        font-size: 15px;
        line-height: 25px;
        margin-bottom: 6%;
    }
}




/* ======================================================
/*               ◆ フッター ◆
/* ====================================================== 
/*フッター*/
.footer-top {
    background-color: #000;
    padding: 3% 0% 4%;
}

.footer-top ul li {
    display: inline-block;
    vertical-align: top;
    border-left: solid 1px #fff;
    padding: 0 10px;
}

.footer-top ul li:last-child {
    border-right: solid 1px #fff;
}

.footer-top ul li a {
    color: #fff;
}

.footer-top ul li a:hover {
    color: #eb5e02;
}

.footer-top ul li a.none:hover {
    color: #fff;
}

.footer-top .gbase img {
    width: 200px;
}

.footer {
    background-color: #000;
    border-top: solid 1px #fff;
}

.footer p {
    font-size: 12px;
    color: #fff;
    padding: 2% 5%;
}

.footer-top .sp-main {
    margin: 0 8%;
}

.footer-top .sp-main ul li {
    border: none;
    display: inline-block;
    width: 14%;
    margin-right: 2%;
    padding: 0;
}

.footer-top .sp-main ul li:last-child {
    margin-right: 0%;
}

.footer-top .scroll-infinity ul li {
    border: none;
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

.scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
}

.scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0
}

.scroll-infinity__list--left {
    animation: infinity-scroll-left 40s infinite linear 1.5s both;
}

.scroll-infinity__list--left2 {
    animation: infinity-scroll-left 20s infinite linear 1.5s both;
}

.scroll-infinity__item {
    width: calc(100vw / 11);
}

.scroll-infinity__item2 {
    width: calc(100vw / 13);
}

.scroll-infinity__item>img {
    width: 100%;
}

.footer-top .sp-middle ul {
    margin-top: 3%;
}

.footer-top .sp-middle ul li {
    width: 9%;
    border: none;
}




@media screen and (max-width: 640px) {
    .footer-top img {
        width: 80%;
        margin: 7% 0;
    }

    .footer-top ul li {
        margin-bottom: 5%;
        border: none;
        display: block;
    }

    .footer-top ul li:last-child {
        border: none;
    }

    .footer-top {
        padding: 7% 0% 4%;
    }

    .footer-top .sp-main ul li {
        width: 48%;
        margin-right: 0%;
    }

    .footer-top .sp-middle ul li {
        width: 29%;
        padding: 0;
        margin-bottom: 2%;
        display: inline-block;
    }
}

/*右下 トップに戻るボタン*/
.p_top {
    position: fixed;
    bottom: 18%;
    right: 20px;
    z-index: 10;
}

.p_top a {
    background-color: #eb5e02;
    border: solid;
    color: #fff;
    display: block;
    padding: 5px 14px;
    font-size: 20px;
}






.all-wrap {
    overflow: hidden;
}

.menu_table_wrap {
    margin: 50px 0;
    background-color: #fff;
    padding: 0 0 15px;
    position: relative;
}

.menu_table {
    overflow-x: auto;
}

.scrollbar {
    width: 100%;
    height: 10px;
    overflow-x: scroll;
    overflow-y: hidden;
}

.scrollbar .inner {
    width: 1900px;
    height: 1px;
}

.scrollbar::-webkit-scrollbar,
.scrollbox::-webkit-scrollbar {
    height: 7px;
}

.scrollbar::-webkit-scrollbar-track,
.scrollbox::-webkit-scrollbar-track {
    border-radius: 5px;
}

.scrollbar::-webkit-scrollbar-thumb,
.scrollbox::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: #ccc;
}

.caption_area {
    display: flex;
    justify-content: space-between;
}

.menu_table td.caption {
    background-color: #000;
    position: static;
    text-align: left;
    color: #fff;
    padding-left: 11rem;
    font-weight: 700;
}

.menu_table table {
    width: 1900px;
    border-collapse: collapse;
    background-color: #fff;
}

.menu_table .fixed {
    position: sticky;
}

.menu_table .fixed::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #fff;
    z-index: -1;
}


.fix1,
.fix2 {
    font-weight: bold;
}

.fix1 {
    width: 8rem;
    left: 0;
}

.fix2 {
    width: 2rem;
    left: 9rem;
    font-size: 1rem;
}

.fix3 {
    width: 19rem;
    left: 12.4rem;
}

.fix4 {
    width: 5.5rem;
    left: 32.5rem;
}

.fix5 {
    width: 3.5rem;
    left: 39rem;
}

.fix6 {
    width: 5rem;
    left: 43.6rem;
}

.menu_table th,
.menu_table td {
    text-align: center;
    padding: .5rem;
    color: #373737;
    background-color: #fff;
    border: solid 1px #fff;
    font-size: .8rem;
}

.menu_table th {
    background-color: #F0F2F5;
}

.menu_table th.fixed {
    color: #fff;
    background-color: #eb5e02;
}

.menu_table td.name_cell {
    text-align: left;
}

.menu_table td.price_cell {
    text-align: end;
}

.line1 td,
.cell1 {
    background-color: #FFF2CD;
}

.line2 td,
.cell2 {
    background-color: #EAFFEE;
}

.line3 td,
.cell3 {
    background-color: #FFEDFD;
}

.line4 td,
.cell4 {
    background-color: #F7E5FF;
}

.menu_table a,
.menu_table .sold_out {
    font-size: .7rem;
    font-weight: 600;
    background: linear-gradient(90deg, #F39801, #FFBD67);
    color: #fff;
    display: block;
    min-height: 25px;
    align-content: center;
    border-radius: 10px;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.35);
    position: relative;
}

.menu_table a:before {
    content: "\f138";
    font-family: 'FontAwesome';
    margin-right: 5%;
}

.menu_table a:after {
    content: "";
    background-image: url(img/finger.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 18px;
    height: 18px;
    position: absolute;
    bottom: -20%;
    right: -10%;
}

.menu_table a:hover {
    color: #FFA633;
    background: #fff;
}

.menu_table a.btn_order {
    background: linear-gradient(90deg, #8FC320, #AFC97A);
}

.menu_table a.btn_order:hover {
    color: #A2D641;
    background: #fff;
}

.menu_table .sold_out {
    background: #3E3A39;
    font-size: .55rem;
}

.menu_table .sold_out:hover {
    background: #524F4E;
}

.menu_table_wrap p {
    font-size: .8rem;
    margin: 10px;
}

.btn_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 70%;
    margin: 0 auto;
}

.entry_block .form_entry {
    opacity: 1;
    display: block;
}

.p-country-name {
    display: none;
}

.pu_body .entry-btn {
    text-align: center;
}

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

    .menu_table th,
    .menu_table td,
    .menu_table a {
        font-size: .6rem;
    }

    .fix1 {
        width: 3rem;
    }

    .fix2 {
        width: 1rem;
        left: 4.8rem;
    }

    .fix3 {
        width: 14rem;
        left: 7.6rem;
    }

    .fix4 {
        width: 3rem;
        left: 22.7rem;
    }

    .fix5 {
        width: 3rem;
        left: 27.6rem;
    }

    .fix6 {
        width: 4rem;
        left: 31.7rem;
    }

    .menu_table td.caption {
        padding-left: 5rem;
    }

    .menu_table a:after {
        width: 16px;
        height: 16px;
        bottom: -20%;
        right: -12%;
    }
}

@media screen and (max-width: 720px) {
    .menu_table table {
        width: 1310px;
    }

    .menu_table th,
    .menu_table td {
        padding: .3rem .2rem;
    }

    .menu_table .fixed {
        position: unset;
    }

    .fix3 {
        width: 8rem;
    }

    .menu_table td.caption {
        padding-left: 0;
        text-align: center;
    }

    .btn_area {
        width: 100%;
    }

    .sponsor .entry-btn .btn,
    .sponsor .entry-btn a.btn,
    .sponsor .entry-btn button.btn,
    .pop_up .btn {
        font-size: 1.3rem;
        padding: 1rem 3rem;
    }
}

.pop_up {
    position: absolute;
    top: 15%;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 985px;
    z-index: 99;
}

.pu_body {
    overflow-y: auto;
    background-color: #fff;
    padding: 0 0 50px;
    font-weight: 500;
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    z-index: 88;
}

.close_btn {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: transparent;
    color: #fff;
    border: none;
    font-size: 20px;
    cursor: pointer;
}

.pu_cont {
    max-width: 85%;
    margin: 0 auto 60px;
}

.pu_head {
    background-color: #eb5e02;
    text-align: center;
    margin-top: 30px;
}

.pu_head h2 {
    color: #fff;
    padding: 10px 0;
    font-size: 2rem;
    font-weight: 500;
}

.pu_body h3 {
    color: #fff;
    background-color: #F39801;
    text-align: center;
    margin: 35px 0 20px;
    font-size: 1.8rem;
    font-weight: 500;
}

.pb1 ol {
    margin: 0 0 30px;
}

.pb1 li {
    list-style: disc;
    margin-left: 15px;
}

.pb1 ol li {
    font-size: 1.4rem;
}

.pb1 strong {
    color: #fff;
    background-color: #0067A5;
    margin-right: 15px;
    padding: 3px 15px 5px;
    font-weight: 500;
}

.pb1 h4 {
    border-bottom: solid 2px #0067A5;
    line-height: 1;
    font-size: 1.6rem;
    font-weight: 500;
    padding-bottom: 5px;
    margin-bottom: 15px;
}

.pb1 .women_ttl strong {
    background-color: #E2629A;
}

.pb1 h4.women_ttl {
    border-bottom: solid 2px #E2629A;
}

.pb1 p,
.pb1 ul li {
    font-size: 1.2rem;
}

.pb1 ul {
    margin-bottom: 30px;
}

.pb2 ul {
    margin-bottom: 30px;
}

.pb2 ul li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 25px;
    font-size: 1.3rem;
    position: relative;
}

.pb2 ul li::after {
    content: "";
    position: absolute;
    background-color: #1A1919;
    height: 2px;
    width: 90%;
    right: 0;
    bottom: 7%;
}

.pb2 ul li p {
    font-size: 1.3rem;
    margin-left: 2%;
}

.pb2 ul li p.limit {
    margin-left: auto;
}

.pb2 ul li span {
    font-size: 0.8rem;
}

.pb2 h4 {
    color: #fff;
    background-color: #1A1919;
    border-radius: 8px;
    position: relative;
    font-weight: 500;
    padding: 0 15px;
}

.pb2 h4 small {
    padding-right: 5px;
}

.pb2 li h4::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -20px;
    background-color: #636463;
    height: calc(tan(30deg)* 35px / 2);
    width: 15px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    transform: rotate(-180deg);
}

.pb2 li:last-child h4::before {
    display: none;
}

.pb2 strong {
    color: #D9232A;
    font-weight: 500;
}

.pb2 .caution {
    margin: 10px 0 30px;
}

.pb3 p,
.pb3 a {
    font-size: 1.4rem;
    margin-bottom: 5px;
}

.fade_in {
    animation: fade_In 1s ease-in-out;
}

.pu_info {
    text-align: center;
    color: #fff;
    margin: 0px auto 0;
    width: 90%;
    padding: 0 0 10px;
}

@keyframes fade_In {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.modal_cont {
    padding: 20px;
}

.modal_cont p {
    margin-bottom: 20px;
}

.entry_txt {
    text-align: center;
    margin: 30px 0 0;
}

.eng_form .pu_head h2 {
    margin-bottom: 30px;
}

.eng_form .pu_head h2 {
    font-size: 1.7rem;
}

.eng_form .pb1 ol li {
    font-size: 1.3rem;
}

.eng_form .pb1 p,
.pb1 ul li {
    font-size: 1.1rem;
}

.eng_form .pb1 p {
    margin-bottom: 15px;
    line-height: 1.5;
}

.eng_form .pb1 h4 {
    font-size: 1.3rem;
    margin-top: 30px;
}

.eng_form .pu_body h3 {
    font-size: 1.6rem;
}

.eng_form .pb2 ul li,
.eng_form .pb2 ul li p {
    font-size: 1.2rem;
}

.eng_form .pb2 ul li::after {
    width: 98%;
}

.eng_form .entry-btn .btn {
    font-size: 1.4rem;
}


.form_entry {
    opacity: 0;
    display: none;
    transition: opacity 0.5s ease;
}

.bn_sponser {
    position: fixed;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.27);
    width: 100%;
}

.bn_sponser ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 50%;
    margin: 0 auto;
    padding: 10px 0;
}

.bn_sponser ul li {
    width: 15%;
}

.catalog_dl {
    text-align: center;
    display: block;
    font-size: 17px;
    color: #0548cb;
    font-weight: bold;
    margin: 0 0 25px;
}

.entry-btn .en_btn {
    background-color: #eb5e02;
}

.c-form__type small {
    font-size: 13px;
    width: 100%;
}

.entry-kotei .c-form__type a {
    font-size: 17px;
    color: #0548cb;
    font-weight: bold;
}

.en_entry {
    text-align: center;
    margin: 50px 0 0;
    font-weight: 600;
}

.en_entry a {
    font-size: 20px;
    text-decoration: underline;
    line-height: 2;
    color: #0548cb;
}

@media screen and (max-width: 985px) {
    .pop_up {
        max-width: 97%;
        top: 10%;
    }
}

@media screen and (max-width: 760px) {
    .pu_cont {
        max-width: 95%;
    }

    .pu_head h2,
    .pop_up h3 {
        font-size: 1.2rem;
    }

    .pb1 ol li,
    .pb1 h4 {
        font-size: 1rem;
    }

    .pb1 strong {
        margin-right: 5px;
        padding: 3px 8px 5px;
    }

    .pb1 p,
    .pb1 ul li {
        font-size: 0.9rem;
    }

    .pb2 ul li p {
        font-size: .7rem;
        margin-left: 1%;
    }

    .pb2 ul li span {
        font-size: 0.5rem;
    }

    .pb2 ul li {
        font-size: 0.6rem;
    }

    .pb2 ul li::after {
        width: 98%;
        bottom: 10%;
        line-height: 1.7;
    }

    .pb2 .caution {
        font-size: .8rem;
    }

    .pb3 p,
    .pb3 a {
        font-size: 1rem;
    }

    .pb2 h4 {
        padding: 0 3px;
        border-radius: 5px;
    }

    .pb2 h4 small {
        padding-right: 0px;
    }

    .pu_body .btn {
        font-size: 1.2rem;
    }

    .eng_form .pu_head h2 {
        font-size: 1.2rem;
    }

    .eng_form .pb1 ol li {
        font-size: .9rem;
    }

    .eng_form .pb1 h4 {
        font-size: .65rem;
        padding-bottom: 4px;
    }

    .eng_form .eng_form .pb1 p,
    .pb1 ul li {
        font-size: .85rem;
        line-height: 1.7;
    }

    .eng_form .pu_body h3 {
        font-size: 1.4rem;
    }

    .eng_form .pb1 strong {
        margin-right: 3px;
        padding: 3px 6px 5px;
        font-size: 0.6rem;
    }

    .eng_form .pb2 ul li {
        display: block;
        font-size: 1rem;
    }

    .eng_form .pb2 h4 {
        width: max-content;
    }

    .eng_form .pb2 li h4::before {
        display: none;
    }

    .eng_form .pb2 ul li::after {
        width: 100%;
        bottom: -5%;
    }

    .eng_form .pb2 ul li p {
        margin-left: 0;
        font-size: 1rem;
    }

    .eng_form .entry-btn .btn {
        font-size: .8rem;
    }

    .bn_sponser ul {
        padding: 10px 0 5px;
        max-width: 80%;
    }

    .bn_sponser ul li {
        width: 32%;
        margin-bottom: 5px;
    }

    .p_top {
        bottom: 20%;
        right: 10px;
    }
}

.contact-inner .form .c-form__type textarea.c-form__input {
    padding: 15px;
}

.mwform-radio-field input {
    width: 20px;
    height: 20px;
    margin-top: 0;
}

.confirm_box {
    text-align: center;
    padding: 0 0 90px;
    margin-top: 5%;
}

.menu_name {
    width: 75%;
    margin: 0 auto 60px;
}

.choice_menu {
    background-color: #000;
    color: #fff;
    font-size: 1.2rem;
    margin-top: 5%;
}

.menu_name h2 {
    background-color: #FEFACB;
    padding: 15px 0;
    font-size: 1.5rem;
}

.check_txt {
    display: block;
    font-weight: 500;
    font-size: 1.5rem;
    margin-bottom: 20px;
}

@media screen and (max-width: 985px) {
    .pop_up {
        max-width: 97%;
        top: 10%;
    }
}

@media screen and (max-width: 760px) {
    .pu_cont {
        max-width: 95%;
    }

    .pu_head h2,
    .pop_up h3 {
        font-size: 1.2rem;
    }

    .pb1 ol li,
    .pb1 h4 {
        font-size: 1rem;
    }

    .pb1 strong {
        margin-right: 5px;
        padding: 3px 8px 5px;
    }

    .pb1 p,
    .pb1 ul li {
        font-size: 0.9rem;
    }

    .pb2 ul li p {
        font-size: .7rem;
        margin-left: 1%;
    }

    .pb2 ul li span {
        font-size: 0.5rem;
    }

    .pb2 ul li {
        font-size: 0.6rem;
    }

    .pb2 ul li::after {
        width: 98%;
        bottom: 10%;
        line-height: 1.7;
    }

    .pb2 .caution {
        font-size: .8rem;
    }

    .pb3 p,
    .pb3 a {
        font-size: 1rem;
    }

    .pb2 h4 {
        padding: 0 3px;
        border-radius: 5px;
    }

    .pb2 h4 small {
        padding-right: 0px;
    }

    .pu_body .btn {
        font-size: 1.2rem;
    }

    .eng_form .pu_head h2 {
        font-size: 1.2rem;
    }

    .eng_form .pb1 ol li {
        font-size: .9rem;
    }

    .eng_form .pb1 h4 {
        font-size: .65rem;
        padding-bottom: 4px;
    }

    .eng_form .eng_form .pb1 p,
    .pb1 ul li {
        font-size: .85rem;
        line-height: 1.7;
    }

    .eng_form .pu_body h3 {
        font-size: 1.4rem;
    }

    .eng_form .pb1 strong {
        margin-right: 3px;
        padding: 3px 6px 5px;
        font-size: 0.6rem;
    }

    .eng_form .pb2 ul li {
        display: block;
        font-size: 1rem;
    }

    .eng_form .pb2 h4 {
        width: max-content;
    }

    .eng_form .pb2 li h4::before {
        display: none;
    }

    .eng_form .pb2 ul li::after {
        width: 100%;
        bottom: -5%;
    }

    .eng_form .pb2 ul li p {
        margin-left: 0;
        font-size: 1rem;
    }

    .eng_form .entry-btn .btn {
        font-size: .8rem;
    }

    .menu_name {
        width: 100%;
    }

    .choice_menu {
        font-size: .8rem;
    }

    .menu_name h2 {
        font-size: 1rem;
    }

    .check_txt {
        font-size: 1.1rem;
    }

    .bn_sponser {
        display: block;
    }

    .en_entry a {
        font-size: 16px;
        line-height: 1.7;
    }

    .en_entry p {
        font-size: 14px;
    }
}


/*エントリーフォーム　修正240912*/
.entry-kotei .cation p,
.caution_txt {
    color: red;
    font-weight: bold;
    font-size: 18px;
}

.entry_end {
    text-align: center;
    font-size: 2rem;
    color: red;
    margin: 30px 0;
}

@media screen and (max-width: 1023px) {
    .entry_end {
        font-size: 1rem;
    }
}

.sub_banner img {
    width: 100%;
    margin: 0 auto;
}

.sponsor-list {
    padding: 0 0 50px;
}

.sponsor-list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 50px auto;
    align-items: center;
}

.sponsor-list ul li {
    width: 17%;
    margin: 10px 2% 0;
}

.sponsor-list .sub_banner {
    width: 12%;
}

.bn_child li:first-child,
.bn_child ol li:first-child {
    width: fit-content;
    font-weight: 700;
    font-size: 12px;
}

.bn_child_sub ol li:nth-child(4),
.bn_child_sub ol li:nth-child(5) {
    width: 10%;
}

.bn_sponser .pc {
    display: block;
}

.bn_sponser .sp {
    display: none;
}

.sponsor-list .sponsor-ship ul li {
    width: 10%;
    margin: 10px 5% 0;
}

.sponsor-list .sponsor-ship ul li:nth-child(1),
.sponsor-list .sponsor-ship ul li:nth-child(2) {
    width: 15%;
}

.bn_sponser {
    position: fixed;
    bottom: 0;
    left: 0;
    background-color: #ddd;
    width: 100%;
    transition: max-height 0.5s ease;
    max-height: 150px;
    box-shadow: 0 -5px 3px rgba(0, 0, 0, 0.3);
}

.bn_sponser ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 70%;
    margin: 0 auto;
    padding: 0 0 10px;
    align-items: center;
    transition: opacity 0.3s ease;
}

.bn_sponser .toggle-arrow {
    position: absolute;
    left: 0;
    text-align: center;
    width: 8%;
    top: -48px;
    background-color: #ddd;
    line-height: 2.5;
    cursor: pointer;
    color: #7D7D7D;
    font-size: 20px;
    opacity: 1;
    border: none;
    border-radius: 0px 10px 0px 0;
    box-shadow: 4px -5px 5px rgba(0, 0, 0, 0.3);
}

.bn_sponser .content {
    max-height: 150px
}

.toggle:checked~.content {
    display: block;
    max-height: 0px;
    overflow: hidden;
    transition: all .5s;
}

.toggle:checked+.toggle-arrow .bn_arrow {
    transform: rotate(180deg);
}

.bn_sponser ul li {
    width: 14%;
    margin: 10px 1% 0;
}

.bn_sponser label {
    position: absolute;
    right: 1%;
    top: 5px;
    border: solid 1px;
    line-height: 1.1;
    padding: 0 4px;
    opacity: .7;
    cursor: pointer;
    color: #fff;
}

.toggle {
    display: none;
}

.sponsor-list .sponsor-ship ul li {
    width: 10%;
    margin: 10px 5% 0;
}

.brd_logo {
    max-width: 280px;
    margin: 0 auto 20px;
}

.bn_child_sub ol {
    display: flex;
    justify-content: center;
    align-items: center;
}

.bn_child_sub ol li {
    list-style: none;
    width: 18%;
    margin: 0 1.5%;
}

.bn_sponser .bn_child {
    max-width: 100%;
    align-items: center;
    flex-wrap: nowrap;
}

.bn_sponser li.sub_banner {
    width: 6%;
    margin: 0 .5%;
    text-align: center;
}

.bn_sponser li.bn_child_sub {
    margin: 0 3%;
    width: 38%;
}

@media screen and (max-width: 865px) {
    .bn_sponser ul {
        padding: 5px 0;
        max-width: 100%;
    }

    .bn_sponser ul li {
        width: 18%;
        max-width: 100px;
    }

    .bn_sponser .pc {
        display: none;
    }

    .bn_child_sub {
        justify-content: center;
    }

    .bn_sponser .sp {
        display: block;
    }

    .bn_sponser .bn_child_sub li {
        width: 14%;
        margin: 0 1%;
    }

    .bn_child_sub li:nth-child(3),
    .bn_child_sub li:nth-child(4) {
        width: 7%;
    }

    @keyframes infinity-scroll-left {
        from {
            transform: translateX(0);
        }

        to {
            transform: translateX(-100%);
        }
    }

    .scroll-infinity__list--left {
        animation: infinity-scroll-left 80s infinite linear 0.5s both;
    }

    .bn_child li:first-child,
    .bn_child ol li:first-child,
    .bn_sponser li.sub_banner {
        width: calc(100vw / 7);
    }

    .bn_sponser .content {
        max-width: 100%;
        width: 100%;
    }

    .bn_sponser,
    .bn_sponser .content {
        max-height: 200px;
    }

    .sponsor-list ul li {
        width: 21%;
    }

    .sponsor-list .sponsor-ship ul li:nth-child(1),
    .sponsor-list .sponsor-ship ul li:nth-child(2) {
        width: 21%;
    }

    .sponsor-list .sponsor-ship ul li {
        width: 13%;
        margin: 10px 2% 0;
    }

    .bn_sponser .toggle-arrow {
        width: 20%;
        line-height: 1.7;
        top: -34px;
    }
}

footer {
    padding-bottom: 160px;
    background-color: #000;
}

/* 
アンケート */

.survey_txt {
    text-align: center;
    margin: 90px 0 30px;
    font-size: 18px;
}

.survey_txt span {
    color: red;
}

.survey_ttl {
    text-align: center;
    font-size: 18px;
    margin: 70px 0 40px;
}

.survey_form .mwform-radio-field {
    display: block;
    width: 100%;
    line-height: 2.2;
}

.survey_form .mw_wp_form .horizontal-item+.horizontal-item {
    margin: 0;
}

.contact-inner .form.survey_form .c-form__column-flex {
    display: block;
    text-align: center;
    margin: 50px 0 60px;
}

.contact-inner .form.survey_form .c-form__type {
    min-width: 35rem;
}

.contact-inner .form.survey_form textarea {
    padding: 15px 10px;
    line-height: 1.5;
}

.contact-inner .form .survey_sns .mwform-checkbox-field-text {
    display: inline-block;
    font-size: 15px;
    line-height: 2.4;
}

.survey_flex_l span.mwform-checkbox-field {
    width: 100%;
    display: block;
}

.contact-inner .form.survey_form .c-form__type.survey_flex {
    display: flex;
    justify-content: space-between;
    align-items: start;
}


.survey_flex_l {
    width: 75%;
}

.survey_flex_r {
    width: 25%;
}

.survey_flex_r div {
    display: flex;
    align-items: baseline;
    margin-bottom: 12px;
}

.survey_flex_r small {
    width: auto;
}

.contact-inner .form .survey_flex_r .c-form__input {
    height: 1.6rem;
    font-size: 15px;
}

@media screen and (max-width: 1200px) {
    .contact-inner .form.survey_form .c-form__type {
        min-width: 40%;
    }
}

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

    .contact-inner .form .survey_sns .mwform-checkbox-field-text,
    .contact-inner .form .survey_flex_r .c-form__input {
        font-size: 14px;
    }

    .contact-inner .form.survey_form .c-form__type,
    .contact-inner .form.survey_form .c-form__type.survey_flex {
        padding: 2% 0;
        min-width: 37%;
    }
}

@media screen and (max-width: 640px) {
    .survey_txt {
        margin: 90px 0 20px;
        font-size: 16px;
    }

    .survey_ttl {
        font-size: 16px;
        margin: 60px 0 30px;
    }

    .contact-inner .form.survey_form textarea {
        padding: 15px;
    }

    .contact-inner .form .survey_sns .mwform-checkbox-field-text {
        font-size: 12px;
    }

    .survey_flex_r div {
        margin-bottom: 5px;
    }

    .survey_flex_r small {
        font-size: 11px;
    }

    .contact-inner .form .survey_flex_r .c-form__input {
        height: 1.5rem;
    }

    .contact-inner .form.survey_form .c-form__type,
    .contact-inner .form.survey_form .c-form__type.survey_flex {
        min-width: 100%;
        flex-direction: unset;
        padding: 4% 0;
    }
}

/* 2024/12/10 */

.streaming {
    background: #eb5e02;
    padding: 50px 0 90px;
}

.stream_main {
    text-align: center;
    display: block;
    margin: 80px auto 70px;
    width: 45%;
    min-width: 300px;
    text-decoration: none;
    color: #fff;
}

.streaming_ttl {
    color: #fff;
    background: #000;
    margin: 0;
    font-weight: 500;
    line-height: 2;
    font-size: 1.4rem;
}

.streaming_txt {
    font-size: 2rem;
    font-weight: 500;
    line-height: 2;
    color: #fff;
}

.streaming .title-en {
    color: #fb8335;
}

.streaming h3 {
    text-align: center;
    font-size: 1.8rem;
    color: #fff;
    margin: 50px 0 40px;
    font-weight: 500;
    position: relative;
}

.streaming h3:before {
    content: "";
    background: #fff;
    width: 32%;
    height: 1px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

.streaming h3:after {
    content: "";
    background: #fff;
    width: 32%;
    height: 1px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}

.streaming ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.streaming ul li {
    width: 23%;
    text-align: center;
}

.streaming ul li h4 {
    color: #fff;
    background: #000;
    margin: 0;
    font-weight: 500;
    line-height: 2;
}

.streaming ul li p {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2;
}

.streaming ul li small {
    color: #fff;
    display: block;
    line-height: 1;
    font-size: 1rem;
}

.streaming a {
    transition: .25s;
    text-decoration: none;
}

.streaming a:hover {
    opacity: .7;
}

@media screen and (max-width: 820px) {
    .streaming h3 {
        font-size: 1.4rem;
    }

    .streaming ul li p {
        font-size: 1rem;
    }

    .streaming ul li small {
        font-size: .8rem;
    }
}

@media screen and (max-width: 640px) {
    .streaming {
        padding: 40px 0 60px;
    }

    .streaming ul li {
        width: 48%;
        margin: 0 0 30px;
    }

    .stream_main {
        min-width: 100%;
    }

    .streaming_ttl {
        font-size: 1rem;
    }

    .streaming_txt {
        font-size: 1.4rem;
    }

    .streaming h3:before,
    .streaming h3:after {
        width: 10%;
    }
}

/*----------------------番組動画------------------------*/
.movie {
    padding-bottom: 6%;
}

.movie ul li {
    text-align: center;
    margin-top: 5%;
}

.movie ul li p span {
    color: #eb5e02;
    font-size: 16px;
}

.movie .video {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.movie .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.movie .video-wrap {
    width: 60%;
    margin: 0 auto;
}

@media screen and (max-width: 640px) {
    .movie ul li {
        margin-top: 14%;
    }

    .movie .video-wrap {
        width: 90%;
    }
}


/* ------------------------------------------------
2025年版 サイト改修
------------------------------------------------ */
.coming {
    margin-top: 60px;
}

.coming h3 {
    color: rgb(255, 105, 0);
    background: none;
    text-align: center;
    font-size: 36px;
    margin-bottom: 20px;
}

.coming p {
    text-align: center;
    line-height: 1.8;
}

.sponsor .content .coming h3,
.sponsor .content .coming p {
    color: #fff;
}

#id-archive {
    padding: 5% 0;
    background: #f3f3f3;
}

.linkWrap {
    display: table;
    margin: 40px auto;
}

.linkWrap a {
    padding: 10px 0;
    width: 300px;
    background: rgb(255, 105, 0);
    color: #fff;
    display: inline-block;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .coming {
        margin-top: 40px;
    }

    .coming h3 {
        font-size: 24px;
    }
}

/* ヘッダーロゴ修正 */
.header {
    height: 100px;
    align-items: center;
}

.header .aaa {
    height: 100%;
}

.header .aaa ul {
    padding-top: 0;
    display: flex;
    align-items: center;
}

.header .bbb {
    padding-top: 0;
}

.header .bbb img {
    width: 200px;
}

/* スマホ */
.only-mov header {
    height: 100px;
    align-items: center;
}

.globalnavi .only-mov .header-left img {
    width: 200px;
    padding: 0;
    margin-top: 8px;
    margin-left: 0;
}

@media screen and (max-width: 1024px) {
    .top img {
        margin-top: 100px;
    }

    #nav-toggle {
        padding-top: 24px;
    }
}

@media screen and (max-width: 767px) {
    header .top_head {
        height: 100px;
    }
}
@media screen and (max-width: 1024px) {
    .panel-inner {
        top: unset;
    }
}
.only-mov .global-nav .nav-item {
    padding: 1% 3%;
}
.moji img{
    max-width: 300px
}
@media screen and (max-width: 1024px) {
#js-popout-close {
    top: -70px;
}
}
#id-movie{
    padding-top: 60px;
    margin-top: -60px;
}