body {
     margin: 0;
     padding: 0;
     font-family: "Noto Sans JP", sans-serif;
     color: #333;
     -webkit-text-size-adjust: 100%;
     background: #FFF;
     scroll-behavior: smooth;
     position: relative;
     height: 100%;
    /* font-weight: 400;
     line-height: 2em;
     */
     font-weight: 500;
     line-height: 1.9;
     letter-spacing: 0.08em;
     font-feature-settings: 'palt';
}
 .wf-icon-zoom-image>svg{
     fill: #555;
     top: 15px;
     bottom:auto;
     right: 15px;
}
 a {
     color: #D60000;
     text-decoration: none;
}
 a:hover {
     text-decoration: underline;
}
 a:hover img {
     opacity: 0.8;
     -webk it-opacity: 0.8;
     -moz-opacity: 0.8;
     filter: alpha(opacity=80);
    /* IE lt 8 */
     -ms-filter: “alpha(opacity=80)”;
    /* IE 8 */
}
 a img {
     -webkit-transition: opacity 0.2s ease-out;
     -moz-transition: opacity 0.2s ease-out;
     -ms-transition: opacity 0.2s ease-out;
     transition: opacity 0.2s ease-out;
}
 h2, h3, h4, h5 {
     font-weight: 600;
     font-family: "Noto Sans JP", sans-serif;
}
 .page-header h1 {
     font-size: var(--h1-font-size);
}
/*ニュースフラッシュ whole-link*/
/* .whole-link{
     display: block;
     height: 100%;
     left: 0;
     position: absolute;
     top: 0;
     width: 100%;
}
 .whole-link:hover{
     background-color: #fff;
     opacity: 0.4;
}
 */
 .mod-articlesnews-horizontal.newsflash-horiz.mod-list li {
     position: relative;
}
 .newsflash-item {
     position: relative;
}
/************************************** 見出し *************************************/
 .heading01 {
     text-align: center;
     position: relative;
     padding: 0;
     margin: 0 0 30px 0;
     color: var(--color-custom-2);
     font-size: 2.25rem !important;
}
 .heading02 {
     position: relative;
     padding: 0;
     margin: 20px 0;
     color: var(--color-primary);
     font-size: 2.0rem !important;
     line-height: 1.6em;
}
 .heading03 {
     position: relative;
     padding: 0 0 0 70px;
     margin: 50px 0;
     color: #374048;
     font-size: 1.8rem !important;
}
 .heading03::before {
     content: "";
     display: inline-block;
     width: 50px;
     height: 4px;
     top: 20px;
     position: absolute;
     background-color: #374048;
     left: 0;
}
 .heading04 {
     font-size: 24px;
     margin: 20px 0;
     padding: 0 0 0 40px;
     position: relative;
}
 .heading04::before {
     content: "";
     display: inline-block;
     width: 25px;
     height: 25px;
     background-color:var(--color-primary);
     position: absolute;
     border-radius: 4px;
     left: 0;
     top: 3px;
}
 .heading05 {
     position: relative;
     font-size: 1.8rem !important;
     padding: 0 0 20px 0;
     margin: 0 0 20px 0;
     color: #374048;
}
 .heading05:after {
     position: absolute;
     bottom: 0;
     left: 0;
     width: 100%;
     height: 8px;
     content: '';
     background-image: -webkit-repeating-linear-gradient(135deg, #2E363D, #2E363D 1px, transparent 2px, transparent 5px);
     background-image: repeating-linear-gradient(-45deg, #2E363D, #2E363D 1px, transparent 2px, transparent 5px);
     background-size: 7px 7px;
     -webkit-backface-visibility: hidden;
     backface-visibility: hidden;
}
 .heading06 {
     display: flex;
     justify-content: center;
     align-items: center;
     font-size: 30px;
     text-align: center;
     color: var(--color-primary);
     margin-bottom: 24px;
}
 .heading06::before, .heading06::after {
     content: '';
     width: 100px;
     height: 2px;
     background-color: var(--color-primary);
}
 .heading06::before {
     margin-right: 20px;
}
 .heading06::after {
     margin-left: 20px;
}
 .p14 {
     font-size: 14px;
     line-height: 1.8em;
     margin: 0;
}
 .p18 {
     font-size: 18px;
     line-height: 2.4em;
     margin: 0;
}
 .p20 {
     font-size: 20px;
     line-height: 2.6em;
     margin: 0;
}
/*上部余白*/
 .top10 {
     margin-top: 10px !important;
}
 .top20 {
     margin-top: 20px !important;
}
 .top30 {
     margin-top: 30px !important;
}
 .top40 {
     margin-top: 40px !important;
}
 .top50 {
     margin-top: 50px !important;
}
 .top60 {
     margin-top: 60px !important;
}
 .top70 {
     margin-top: 70px !important;
}
 .top80 {
     margin-top: 80px !important;
}
 .top90 {
     margin-top: 90px !important;
}
 .top100 {
     margin-top: 100px !important;
}
 .top110 {
     margin-top: 110px !important;
}
 .top120 {
     margin-top: 120px !important;
}
 .btm0 {
     margin-bottom: 0 !important;
}
 .pchidden{
     display: none;
}
/*system-readmore「続きを読む」*/
 #tinymce hr#system-readmore {
     background-color: #f473ab;
     border: medium none;
     height: 22px;
     text-align: center;
}
 #tinymce hr#system-readmore::before {
     color: #fff;
     content: "▼続きを読む▼";
}
 .inner {
     width: 1280px;
     margin: 0 auto;
}
 .header-wrap {
     position: relative;
     background-color: rgba(255,255,255,0.9);
    /*position: fixed;
    */
     width: 100%;
     z-index: 99;
    /*left: 0;
    */
    /*top: 40px;
    */
     padding: 0;
     border-bottom: 1px solid #ddd;
}
 .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container, .t4-masthead .t4-masthead-detail {
     width: 100%;
     max-width: 100%;
     padding: 0;
     box-sizing: border-box;
     overflow: hidden;
}
 .container {
     width: 100%;
     max-width: 100%;
     padding: 0 10%;
     box-sizing: border-box;
     overflow: hidden;
}
 .navbar-brand.logo-control img.logo-img {
     max-height: 70px;
     width: auto;
}
 .head-contact {
    /*position: fixed;
    */
    /*left: 0;
    */
    /*top: 0;
    */
     z-index: 99;
     width: 100%;
     background-color: rgba(55,65,73,0.9);
     text-align: right;
}
 .head-contact ul {
     padding: 3px 10px 5px 0;
     margin: 0;
     letter-spacing: -0.4em;
}
 .head-contact ul li {
     display: inline-block;
     letter-spacing: normal;
     margin: 0 0 0 20px;
     font-size: 0.9em;
     color: #fff;
     font-weight: 500;
     position: relative;
}
 .head-contact ul li span {
     border-left: 1px solid #ddd;
     margin-left: 10px;
     padding-left: 28px;
     position: relative;
}
 .head-contact ul li span::before {
     content: "";
     display: inline-flex;
     width: 13px;
     height: 20px;
     background-image: url("../../../../images/icon/icon_tel.png");
     background-repeat: no-repeat;
     background-origin: left top;
     background-size: contain;
     position: absolute;
     left: 10px;
     top: 5px;
}
 .t4-megamenu .nav>.dropdown>.nav-link .item-caret, .t4-megamenu .nav>.dropdown>.dropdown-toggle .item-caret {
    /* border-top: 4px solid #E80000;
     */
}
 .t4-megamenu .navbar-nav>li>a, .t4-megamenu .navbar-nav>li>.nav-link {
     font-weight: 600;
     color: #222;
     font-size: 17px;
}
 .t4-megamenu .navbar-nav > li.active > a, .t4-megamenu .navbar-nav > li.active > .nav-link {
     color: var(--color-primary);
     position: relative;
}
/* .t4-megamenu .navbar-nav > li.active > a, .t4-megamenu .navbar-nav > li.active > .nav-link::before{
     content: '';
     display: inline-block;
     width: 100%;
     height: 5px;
     position: absolute;
     bottom: 0;
     background-color: var(--color-primary);
}
 */
 .t4-megamenu .navbar-nav>li.show>a, .t4-megamenu .navbar-nav>li.show>.nav-link {
     color: var(--color-custom-4);
     text-decoration: none;
}
 .t4-megamenu .navbar-nav>li>a:hover .item-caret, .t4-megamenu .navbar-nav>li>a:focus .item-caret, .t4-megamenu .navbar-nav>li>a:active .item-caret, .t4-megamenu .navbar-nav>li>.nav-link:hover .item-caret, .t4-megamenu .navbar-nav>li>.nav-link:focus .item-caret, .t4-megamenu .navbar-nav>li>.nav-link:active .item-caret {
     color:var(--color-custom-4);
}
 .t4-megamenu .navbar-nav>li>a:hover, .t4-megamenu .navbar-nav>li>a:focus, .t4-megamenu .navbar-nav>li>a:active, .t4-megamenu .navbar-nav>li>.nav-link:hover, .t4-megamenu .navbar-nav>li>.nav-link:focus, .t4-megamenu .navbar-nav>li>.nav-link:active {
     color: var(--color-custom-4);
     text-decoration: none;
}
 .t4-megamenu .navbar-nav>li.show>a, .t4-megamenu .navbar-nav>li.show>.nav-link {
     color:var(--color-custom-4);
}
 .t4-megamenu .navbar-nav>li.show>a .item-caret, .t4-megamenu .navbar-nav>li.show>.nav-link .item-caret {
     border-top-color: var(--color-custom-4);
}
 .t4-megamenu .dropdown-menu{
     padding: 0;
}
 .t4-megamenu .dropdown-menu a{
     padding: 15px !important;
}
 .t4-megamenu .navbar-nav>li.active>a, .t4-megamenu .navbar-nav>li.active>.nav-link {
     color: var(--color-primary);
     border-bottom: solid 4px var(--color-primary);
}
 .t4-megamenu.animate.slide .dropdown .dropdown-menu>div{
     padding: 0;
     min-width: 230px;
}
 .t4-megamenu.animate.slide .dropdown .dropdown-menu{
     transition-property: all;
     transition-duration: 0.5s;
}
 .dropdown-toggle:hover{
     transition: 0.4s;
}
 .t4-megamenu .navbar-nav>li.active>a .item-caret, .t4-megamenu .navbar-nav>li.active>.nav-link .item-caret {
     border-top-color: var(--color-custom-4);
}
 .t4-megamenu .dropdown-menu li .dropdown-item:hover{
     color: var(--color-primary);
     text-decoration: none;
     background-color: var(--color-custom-1);
}
/*ヘッダー お問い合わせボタン （【モジュール】ヘッダー：お問い合わせ）*/
 .head-mail {
     padding: 0;
     margin: 0;
}
 .head-mail ul {
     padding: 0;
     margin: 0;
}
 .head-mail ul li {
     padding: 0;
     margin: 0;
     list-style: none;
     position: relative;
}
 .head-mail ul li a {
     display: block;
     background-color: #EC2230;
     border: 2px solid #EC2230;
     color: #fff;
     padding: 8px 30px 8px 55px;
}
 .head-mail ul li a::before {
     content: "";
     display: inline-block;
     width: 30px;
     height: 20px;
     background-image: url("../../../../images/icon/icon_mail.png");
     background-repeat: no-repeat;
     background-origin: left top;
     background-size: contain;
     position: absolute;
     left: 20px;
     top: 16px;
}
 .head-mail ul li a:hover {
     background-color: #fff;
     color: #EC2230;
     text-decoration: none;
}
 .head-mail ul li a:hover::before {
     content: "";
     display: inline-block;
     width: 30px;
     height: 20px;
     background-image: url("../../../../images/icon/icon_mail_red.png");
     background-repeat: no-repeat;
     background-origin: left top;
     background-size: contain;
     position: absolute;
     left: 20px;
     top: 16px;
}
 .t4-header {
     min-height: auto;
     border-bottom: none;
}
 .t4-header-r{
    /* margin-right: 0;
     */
     align-self: stretch;
     align-items: stretch !important;
}
 .t4-header-r>*{
     margin-left: 0;
}
 .t4-offcanvas-toggle i {
     display: none;
}
 .t4-section.sec-spacing-lg .t4-section-inner {
     padding: 0;
     margin: 0;
}
 .t4-footer {
     border: medium none;
     font-size: 1rem;
}
 .t4-footer .container, .t4-footer .t4-masthead .t4-masthead-detail, .t4-masthead .t4-footer .t4-masthead-detail {
     padding: 0;
     margin: 0 auto;
     border: medium none;
}
 .copy{
     background-color: #2E3A58;
     padding: 14px;
     text-align: center;
     border-top: solid 1px #3c5d84;
     font-size: 15px;
}
 .col-md-10 {
     width: 100%;
}
 .ft-content {
     width: 80%;
     margin: 0 auto;
     padding: 3% 0;
}
 .ft-content img {
     margin: 0 0 20px 0;
}
 .ft-sitemap {
     margin: 0 auto;
     padding: 0;
     display: flex;
     align-items: flex-start;
     justify-content: space-between;
}
 .ft-sitemap .profile {
     width: 35%;
     padding: 0;
     line-height: 1.8em;
}
 .ft-sitemap .profile table {
     width: 100%;
     border-collapse: collapse;
     margin: 0;
}
 .ft-sitemap .profile table th {
     text-align: left;
     vertical-align: top;
     padding: 10px 20px 0 0;
}
 .ft-sitemap .profile table td {
     text-align: left;
     vertical-align: top;
     padding: 10px 0 0 0;
}
 .ft-sitemap .sitemap {
     width: 62%;
     display: flex;
     justify-content: flex-end;
     align-items: flex-start;
}
 .ft-sitemap .sitemap div {
     padding-left: 60px;
}
 .ft-sitemap .sitemap ul {
     padding: 0;
     margin: 0;
}
 .ft-sitemap .sitemap ul li {
     padding: 0 0 10px 0;
     list-style: none;
     line-height: 1.4em;
     position: relative;
}
 .ft-sitemap .sitemap ul li>ul {
     margin-top: 10px;
}
 .ft-sitemap .sitemap ul li>ul li {
     padding-left: 15px;
}
 .ft-sitemap .sitemap ul li>ul li::before {
     content: "";
     display: inline-block;
     width: 10px;
     height: 1px;
     background-color: #7F9BBC;
     position: absolute;
     left: 0;
     top: 10px;
}
 .pagetitle {
     margin: 0;
     padding:9% 5%;
     font-size: 3.4rem;
     position: relative;
     color: var(--color-primary);
     font-family: 'Lato', "Noto Sans JP", sans-serif;
     background-color: #f7f7f7;
     background-image: url(../../../../images/common/sub_teaser.jpg);
     background-size: cover;
     background-position: center;
     text-align: center;
}
 .pagetitle span {
     font-size: 1.8rem;
     display: block;
     color: var(--color-primary);
     text-transform: uppercase;
}
 .page-header-text{
     margin: 0;
     padding:9% 5%;
     position: relative;
     color: var(--color-primary);
     font-family: 'Lato', "Noto Sans JP", sans-serif;
     background-color: #f7f7f7;
     background-image: url(../../../../images/common/sub_teaser.jpg);
     background-size: cover;
     background-position: center;
     text-align: center;
}
 .page-header-text h1{
     font-size: 3.4rem;
     margin-bottom: 0 !important;
     line-height: 1.4;
}
 .page-header-text span{
     font-size: 1.8rem;
     display: block;
     font-weight: 600;
     line-height: 1.4;
     color: #4D9DCE;
     text-transform: uppercase;
}
 #t4-breadcrumbs{
    /* background-color: var(--color-primary);
    */
     color:var(--color-primary);
     font-size: 14px;
     text-align: right;
}
 .t4-section.t4-breadcrumbs .breadcrumb{
     justify-content: end;
}
 #t4-breadcrumbs a{
     color:var(--color-primary);
     opacity: 0.8;
}
 .breadcrumb{
     padding: 0;
}
/* .breadcrumb-item.active{
     color: #fff;
}
 */
/*会社概要*/
 .gaiyo-table {
     border-collapse: collapse;
     width: 100%;
     margin: 0;
}
 .gaiyo-table th {
     border-bottom: 2px solid var(--color-primary);
     padding: 25px 10px;
     font-weight: 600;
     text-align: left;
     vertical-align: top;
     color: var(--color-primary);
}
 .gaiyo-table td {
     border-bottom: 2px solid #ddd;
     padding: 25px;
     text-align: left;
     vertical-align: top;
}
 .googlemap {
     position: relative;
     width: 100%;
     height: 0;
     padding-top: 75%;
}
 .googlemap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
 #back-to-top {
     z-index: 98;
}
/*メールフォーム*/
 strong.formRequired {
     color: #fff;
     font-weight: normal!important;
     font-size: 11px;
     background-color: #ff002a;
     padding: 6px 8px;
     border-radius: 4px;
     margin-left: 15px;
}
 #userForm .rsform-block>label {
     border-top: 1px solid #ccc;
     display: table-cell;
     padding: 40px 0;
     vertical-align: top;
     width: 30%;
}
 #userForm .rsform-block .formControls {
     display: table;
     border-top: 1px solid #ccc;
     vertical-align: top;
     padding: 30px 0 30px 20px;
}
 .formControls.col-sm-9{
     width: 70%;
}
 .formRequired{
     white-space: nowrap;
}
/*グローバルメニュー 子メニューを表示*/
 .header-block.header-block-2 .container-xxl {
     overflow: initial;
}
/*グローバルメニュー調整*/
 .t4-megamenu .navbar-nav > li > a, .t4-megamenu .navbar-nav > li > .nav-link {
     font-size: min(1.1vw, 16px);
     padding: 20px 10px;
}
/*「/html/mod_custom/h1-title.php」「/html/mod_custom/h1-title-sitename.php」利用時のヘッダー部分CSS*/
 #h1title {
     font-size: 14px;
     font-weight: normal;
     margin: 0;
}
/*swiper*/
 .swiper {
     width: 100%;
     max-width: 100%;
     height: auto;
}
 .sample-slider{
     height: 30vw;
}
 .swiper-slide span {
     position: absolute;
     top: 50px;
     left: 100px;
     color: #fff;
     font-size: 32px;
}
/*トップページお知らせ*/
 .news-box {
    /* max-height: 300px;
     overflow: auto;
     */
}
 .news-box table {
     width: 100%;
}
 .news-box table th {
     border-bottom: 1px dotted #ccc;
     font-weight: normal;
     padding: 5px;
     text-align: left;
     vertical-align: top;
}
 .news-box table td {
     border-bottom: 1px dotted #ccc;
     padding: 5px;
     vertical-align: top;
}
 .news-box ul li {
     font-size: 1em;
     font-weight: 400;
     list-style: none outside none;
     padding: 0px 10px;
     border-bottom: 1px solid #ccc;
}
 .news-box .category-module li a {
     display: inline-block;
}
 .mod-articles-category-category a{
     background-color: #0077BF;
     border-radius: 3px;
     color: #fff !important;
     font-size: 14px;
     padding: 1px 15px!important;
     min-width: 150px;
     text-align: center;
     margin-left: 10px;
     margin-right: 10px;
}
 .kiji-box01 td:nth-child(1) {
     width: 60%;
}
 .kiji-box02 td:nth-child(1) {
     width: 40%;
}
 .kiji-box01 td,.kiji-box02 td {
     vertical-align: top;
}
/*Youtubeの埋め込み*/
 .yt iframe {
     display: block;
     margin: auto;
}
 .yt {
     text-align: center;
}
/*プロファイルの編集非表示*/
 #post .profile {
    display: none;
}
/*モジュール 記事カテゴリー*/
 .category-module li a::before {
     display: none;
}
 .category-module li a {
     padding-left: 0;
}
/*スクロールヒントの調整*/
 .scroll-hint-text {
     line-height: initial;
}
/*グローバルメニュー 右寄せ*/
 .mx-auto {
     margin-right: initial !important;
}
/*PCの時には表示しない*/
 .pchidden {
     display: none !important;
}
/*latestnews-item調整*/
 .latestnews-item {
     position: relative;
}
/*--------------------------------------- --------------------------------------- デザイナー追加CSS --------------------------------------- ---------------------------------------*/
/*ベース*/
 :root{
     --color-primary:#0077BF;
     --color-custom-1:#F2FAFF;
     --color-custom-2:#001A5F;
     --color-custom-3:#70C1E8;
     --color-custom-4:#E364BC;
}
/*common*/
 .t4-wrapper{
     margin-top: 80px;
}
 .wide-100 {
     margin-left: calc(50% - 50vw);
     width: 100vw;
}
 .wide-90 {
     margin-left: calc(50% - 45vw);
     width: 90vw;
}
 .wide-70{
     width: 70%;
     margin:auto;
}
 .blue_light_bg{
     background-color: var(--color-custom-1);
     padding: 5rem 3rem;
     border-radius: 10px;
}
 .btn:hover{
     text-decoration: none;
}
 .basebtn1{
     border-width: 3px;
     font-size: 1.1rem;
     border-radius: 9px;
     padding: 20px;
     min-width: 350px;
     position: relative;
     background-color: #fff;
}
 .basebtn1::after{
     font-family: "Font Awesome 5 Free";
     content:'\f054' !important;
     font-weight: 900;
     display: block;
     position: absolute;
     right: 13px;
     top:50%;
     transform: translateY(-50%);
}
 .btn_brank{
     min-width:200px;
     padding-right:50px;
}
 a.btn_brank::after{
     font-family: "Font Awesome 5 Free";
     content:'\f35d' !important;
     display: block;
     font-weight: 900;
     position: absolute;
     font-size: 22px;
     right: 13px;
     top:50%;
}
 .basebtn1-s{
     min-width: 200px;
     text-align: center;
}
 .img-round{
     border-radius: 10px;
}
 .container-fig{
     width: 1140px;
     margin: auto;
}
 .midashi_sns{
     font-size: 24px;
     margin-bottom: 20px;
}
 .midashi_sns i{
     color: var(--color-primary);
     margin-right: 7px;
     font-size: 38px !important;
     position: relative;
     top:5px;
}
/*タブ*/
 [data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=tabs]>[data-rlta-element=button-list]>[data-rlta-element=button]{
     padding: 1.45rem 1.25rem;
}
 [data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=tabs]>[data-rlta-element=button-list]>[data-rlta-element=button]:not([data-rlta-state=closed]), [data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=tabs]>[data-rlta-element=button-list]>[data-rlta-element=button]:not([data-rlta-state=closed]):hover{
     background-color:var(--color-primary);
     color: #fff;
     border-bottom: solid 6px #F1F167;
}
 [data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=tabs]>[data-rlta-element=button-list]>[data-rlta-element=button]:not([data-rlta-state=closed]){
     background-color:var(--color-primary);
     color: #fff;
     border-bottom: solid 6px #F1F167;
}
/*流れ*/
 .flow_design{
}
 .flow {
     padding-left: 0;
     display: -webkit-box;
    /* display: flex;
     display: -ms-flexbox;
     display: flex;
     flex-wrap: nowrap;
     justify-content: center;
     */
     gap: 60px;
     overflow-x: scroll;
     width: auto;
     padding-left: 70px;
     padding-bottom: 20px;
     max-width: 1290px;
     margin:auto;
}
 .tab_box{
     max-width: 1400px;
}
 .tab_box .flow{
     padding-left: 10px;
}
 .flow > li {
     list-style-type: none;
     width: 340px;
     max-width: 340px;
     display: flex;
}
 .flow > li .icon {
     line-height: 2;
     width: 2em;
     height: 2em;
     text-align: center;
     color: #fff;
     background: var(--color-primary);
     margin: 0 auto 10px;
     display: block;
     border-radius: 100vh;
     position: relative;
}
 .flow > li .icon::before {
     content: "";
     border: solid transparent;
     border-width: 7px;
     border-top-color: var(--color-primary);
     position: absolute;
     top: calc(100% - 2px);
     left: 50%;
     -webkit-transform: translateX(-50%);
     transform: translateX(-50%);
}
 .flow > li dl {
     padding: 30px 20px;
     margin: 0;
     border: 3px solid var(--color-primary);
     position: relative;
     border-radius: 10px;
     background-color: var(--color-custom-1);
}
 .flow > li:not(:first-child) dl::before {
     content: "";
     width: 14px;
     height: 14px;
     margin-right: 10px;
     display: inline-block;
     border-top: 4px solid var(--color-primary);
     border-right: 4px solid var(--color-primary);
     position: absolute;
     top: calc(50% - 14px);
     left: -45px;
     -webkit-transform: rotate(45deg);
     transform: rotate(45deg);
}
 .flow > li dl dt {
     font-size: 1.3em;
     font-weight: 600;
     color: var(--color-primary);
     -ms-flex-preferred-size: 20%;
     flex-basis: 20%;
     margin-bottom: 10px;
     text-align: center;
}
 .flow > li dl dd {
     margin-left: 0;
}
 @media(max-width: 767px){
     .flow04 {
         gap: 20px;
    }
     .flow04 > li {
         max-width: unset;
         display: block;
    }
     .flow04 > li:not(:first-child) dl::before {
         display: none;
    }
}
/*ヘッダー*/
 header{
     position: fixed;
     z-index: 99;
     width: 100%;
     top:0;
     box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.11);
     border-bottom: none;
}
 .header_btn {
     height: 100%;
}
 .header_btn .row {
     display: flex;
     align-items: stretch;
     height: 100%;
}
 .header_btn a{
     font-size: 1vw;
     color: var(--color-primary);
    /* padding-top: 40px;
     */
     display: block;
     background-size:auto 30px;
     background-repeat: no-repeat;
     background-position: center top 7px;
     transition: 0.3s;
     white-space:nowrap;
     font-size: 15px;
     height: 100%;
     display: grid;
     align-content: center;
}
 .header_btn a::before {
     content: '';
     display: block;
     width: 100%;
     height: 35px;
     background-repeat: no-repeat;
     background-size: contain;
     background-position: center center;
}
 .header_btn a:hover{
     background-color: var(--color-custom-1);
     text-decoration: none;
}
 .header_btn .col{
     min-width: 110px;
     text-align: center;
     padding: 0px;
     border-left: solid 1px #ccc;
     letter-spacing: 0;
}
 .header_btn_saiyou a:before{
     background-image:url(../../../../images/common/header_ic1.png);
}
 .header_btn_tenpo a:before{
     background-image:url(../../../../images/common/header_ic2.png);
}
 .header_btn_contact a:before{
     background-image:url(../../../../images/common/header_ic3-2.png);
}
 .header_btn_entry a:before{
     background-image:url(../../../../images/common/header_ic4.png);
}
 .col.header_btn_entry a{
     background-color: #f1f167;
}
 .col.header_btn_entry a:hover {
     background-color: #dbdb33;
}
 .col.header_btn_entry a {
     color: #222;
}
 .logo-image{
     padding-left: 20px;
}
 @media(max-width: 1480px){
     .header_btn .col {
         min-width: 85px;
    }
     .header_btn a{
         background-size: auto 23px;
         font-size: 12px;
        /* padding-top: 35px;
         */
    }
   .header_btn a::before {
     height: 25px;
   }
     .t4-megamenu .navbar-nav > li > a, .t4-megamenu .navbar-nav > li > .nav-link{
         font-size: 14px;
    }
     .navbar-brand.logo-control img.logo-img {
         max-height: 45px;
    }
}
 @media(max-width: 1200px){
     .t4-header-r {
         margin-right: 0px;
         align-self: stretch;
    }
}
/*========== フッター ==========*/
 .item-142 #t4-footer{
     margin-top: -60px;
}
 .footer_shoplist{
     background-color: #2E3A58;
     padding: 25px 0;
     font-size: 14px;
}
 .footer_shoplist p{
     margin-bottom: 0;
     margin-top: 5px;
     white-space: nowrap 
}
 .footer_shoplist ul{
     list-style: none;
     margin: 0;
     padding: 0;
     font-size: 13px;
}
 .footer_shoplist li{
     line-height: 1.6;
     white-space: nowrap 
}
 .footer_shop_ti{
     display: inline-block;
     border: solid 1px #fff;
     padding: 5px 10px;
     text-align: center;
     white-space: nowrap 
}
 .open_link::after{
     font-family: "Font Awesome 5 Free";
     content: "\f35d";
     font-weight: 900;
     margin-left: 4px;
}
/* テーブル設定 */
 th,td {
     border: solid 1px #ccc;
     padding:20px 15px;
}
 table {
     border-collapse: collapse;
     width: 100%;
}
 th{
     background-color: #fafafa;
}
 .base-table_narrow th, .base-table_narrow td {
     padding: 5px 10px;
}
.base-table td{
   background-color: #fff;
}
/*========== TOPページ ==========*/
/*メインイメージ*/
 .item-142 #t4-main-body .container{
     width: 100%;
     max-width: 100%;
     padding: 0;
}
 .teaser{
     background-image: url(../../../../images/top/teaser_bg.jpg);
     background-repeat: no-repeat;
     background-size: auto 100%;
     background-position: left;
     position: relative;
     height: 75vh;
     min-height: 750px;
}
 .teaser p{
     font-size: 2.4rem;
     font-weight: 600;
    /* text-shadow: -3px -3px 0 #fff, 0px -3px 0 #fff, 3px -3px 0 #fff, -3px 0px 0 #fff, 3px 0px 0 #fff, -3px 3px 0 #fff, 0px 3px 0 #fff, 3px 3px 0 #fff;
     */
     border-bottom: solid 10px #F1F167;
     padding-bottom: 5px;
     display: inline-block;
     filter: url(#outline);
     fill: white;
}
 .teaser_copy1{
     display: inline-block;
     border-bottom: solid 10px #F1F167;
     min-width: 650px;
     height: 90px;
     margin-bottom:15px;
}
 .teaser_copy1 text {
     font-weight : 600;
     font-size : 2.4rem;
     stroke : #ffffff;
     fill : #000000;
     letter-spacing : 5px;
     text-anchor : start;
     dominant-baseline : alphabetic;
     padding-bottom: 0px;
}
 .teaser_copy1 > svg{
     overflow: visible;
}
 .teaser_copy1 > svg > use:nth-of-type(1) {
     stroke-width : 8px;
     paint-order : stroke;
     stroke-linejoin : round ;
}
 .teaser_copy1 > svg > use:nth-of-type(2) {
     stroke-width : 0;
}
 .teaser_copy2{
     display: inline-block;
     min-width: 720px;
     height: 90px;
     margin-bottom:15px;
     padding-left: 0 !important;
     background-color: rgba(255,255,255,0.00) !important;
}
 .teaser_copy2 > svg{
     overflow: visible;
}
 .teaser_copy2 text {
     font-weight : 800;
     font-size : 4.1rem;
     stroke : #ffffff;
     fill : var(--color-primary);
     letter-spacing : 5px;
     text-anchor : start;
     dominant-baseline : alphabetic;
     padding-bottom: 0px;
}
 .teaser_copy2 > svg > use:nth-of-type(1) {
     stroke-width : 8px;
     paint-order : stroke;
     stroke-linejoin : round ;
}
 .teaser_copy2 > svg > use:nth-of-type(2) {
     stroke-width : 0;
}
 .teaser h2{
     color: var(--color-primary);
     font-size: 2.9rem;
     text-shadow: -3px -3px 0 #fff, 0px -3px 0 #fff, 3px -3px 0 #fff, -3px 0px 0 #fff, 3px 0px 0 #fff, -3px 3px 0 #fff, 0px 3px 0 #fff, 3px 3px 0 #fff;
     line-height: 1.4;
}
 .teaser h2 strong{
     font-size: 4.1rem;
     line-height: 1.6;
}
 .teaser h2 span{
     font-size: 4.4rem;
     background-color: var(--color-primary);
     text-shadow:none;
     color: #fff;
     padding: 0px 10px 4px;
     border-radius: 4px;
     line-height: 1;
     margin-right: 5px;
}
 .teaser_txt{
     position: relative;
     z-index: 2;
     padding: 4rem;
     top:50%;
     transform: translateY(-50%) 
}
 .teaser_ph{
     position: absolute;
     width: 50%;
     z-index: 1;
     right: 0;
     top:50%;
     text-align: right;
     transform: translateY(-50%);
     max-height: 630px;
}
 .teaser_ph img{
     max-height: 630px;
     width: auto;
}
 .teaser_ph_box{
     position: absolute;
     right: -50px;
     top:0;
     width: 55%;
     height: 100%;
}
 .teaser_ph_round{
     border-radius: 50%;
     border: solid 4px #fff;
}
 .teaser_ph1{
     position: absolute;
     bottom:55%;
     right: 43%;
     width: 20vw;
     height: auto;
     max-height: 400px;
     max-width: 500px;
     object-fit: cover;
     aspect-ratio: 1 / 1;
}
 .teaser_ph2{
     position: absolute;
     bottom:12%;
     right: 60%;
     width: 25vw;
     height: auto;
     max-height: 450px;
     max-width: 450px;
     z-index: 1;
     object-fit: cover;
     aspect-ratio: 1 / 1;
}
 .teaser_ph3{
     position: absolute;
     bottom:0px;
     right: -1%;
     width: 35vw;
     height: auto;
     max-height: 600px;
     max-width: 600px;
     object-fit: cover;
     z-index: 5;
     aspect-ratio: 1 / 1;
}
 @media (max-height:780px) {
     .teaser_ph img{
         height: 450px;
         width: auto;
         max-height: 450px;
    }
}
 #t4-slideshow{
     border-bottom: none!important;
}
 .item-142 #t4-main-body{
     padding-top: 0;
     padding-bottom: 0;
}
/*オトクな情報*/
 .top_campaign{
     background-image: url(../../../../images/top/maru1.jpg);
     background-repeat: no-repeat;
     background-size: cover ;
     padding-bottom: 50px;
}
 .swiper3{
     padding-bottom: 40px !important;
     overflow-x: hidden;
     padding-left: 70px !important;
     padding-right: 70px !important;
}
 .swiper3 .swiper-slide{
     padding-left: 20px;
     padding-right: 20px;
}
/*新着情報*/
 .news_box{
     background-color: var(--color-custom-1);
     border-radius: 10px;
     padding: 50px;
     width: 1300px;
     margin: auto;
}
 .news_box .heading01{
     text-align: left;
}
 #news .mod-articles-category-title {
     width: 60%;
     display: block !important;
     position: relative;
     padding: 15px 10px;
     transition: 0.3s;
}
 #news .mod-articles-category-title:hover{
     color: #E20003 !important 
}
 .news-box ul li{
     display: flex;
     flex-wrap: wrap;
     align-content: center;
     align-items: center;
}
/* スライダーの高さ指定*/
 .section3 .swiper-pagination {
     display: none;
}
 .swiper-button-next, .swiper-button-prev{
     color: #ccc !important;
}
 .section3 .swiper-wrapper{
     padding-left: 30px;
}
 .swiper-button-next:after, .swiper-button-prev:after{
     font-size: 20px !important;
     left: 0px;
     bottom: 0px !important;
}
/* 矢印の位置調整 */
 .section3 .swiper-button-prev {
     left: 2%;
     margin: 0;
     top: auto;
     bottom: 40px;
     transform: translate(-50%, 0px) rotate(90deg);
}
 .section3 .swiper-slide{
     padding-left: 20px;
}
 .section3 .swiper-button-next {
     bottom: 0;
     left: 2%;
     margin: 0;
     top: auto;
     transform: translate(-50%, 0px) rotate(90deg);
     z-index: 2;
}
/* スライドのサイズ調整 */
 .section3 .swiper-slide img {
     height: auto;
     width: 100%;
}
 .section3 .col-5{
     padding: 60px 0 0 3rem;
}
 .section3 .col-7{
     padding-right: 0;
     padding-left: 3rem;
     position: relative;
     padding-top: 60px;
}
 .sec3_copy{
     position: absolute;
     top:0;
     right: 4%;
     z-index: 2;
}
/*店舗一覧*/
 .top_shop_box{
     background-image: url(../../../../images/top/nami_bg1.jpg);
     background-repeat: no-repeat;
     background-size: cover ;
     border-radius: 10px;
     padding: 50px;
     width: 1300px;
     margin: auto;
}
 .top_shop_box h2{
     color: #fff;
}
 .top_shop_box .col{
     padding-top: 20px;
}
 .top_shop_box a img{
     transition: 0.3s;
     border: solid 4px rgba(255, 255, 255, 0);
}
 .top_shop_box a:hover img{
     opacity: 1;
     border: solid 4px #64B1FF;
}
/*カード*/
 .top_content_box{
     position: relative;
}
 .top_content_box .card{
     padding: 20px;
     border: 4px solid #f3f3f3;
     box-shadow: 5px 5px 0px #f5f5f5;
     position: relative;
     background-image: url(../../../../images/top/arrow.png);
     background-size: 7px;
     background-repeat: no-repeat;
     background-position: right 25px bottom 24px;
     transition: 0.3s;
}
 .top_content_box h3{
     font-size: 18px;
     color: #001650;
     margin: 14px 0 0px 
}
 .top_content_box .card a{
     position: absolute;
     top:0;
     left: 0;
     width: 100%;
     height: 100%;
     opacity: 0;
}
 .top_content_box .card:hover{
     background-color: var(--color-custom-1);
     border: 4px solid var(--color-primary);
     box-shadow: 5px 5px 0px var(--color-primary);
}
 .top_content_box .inner{
     position: relative;
     z-index: 2;
}
 .maru2{
     position: absolute;
     right: 10px;
     z-index: 0;
     top:0 
}
 .maru3{
     position: absolute;
     left: 0px;
     z-index: 0;
     bottom:0 
}
 .unei_box{
     padding-bottom: 70px;
}
/*採用バナー*/
 .top_recruit{
     position: relative;
     width: 1300px;
     margin: auto;
     background-image: url(../../../../images/top/top_recruit_bg.png);
     background-size: cover ;
     border-radius: 10px;
     color: #fff;
     padding: 100px;
     transition: 0.3s;
}
 .top_recruit:hover{
     opacity: 0.7;
}
 .top_recruit h2{
     font-size: 32px !important;
     font-family: "Lato", sans-serif;
     font-weight: 600;
     letter-spacing: 0.2em;
}
 .top_recruit a{
     position: absolute;
     top:0;
     left: 0;
     width: 100%;
     height: 100%;
     opacity: 0;
}
 .top_recruit p{
     font-size: 40px;
     font-weight: 600;
     letter-spacing: 0.05em;
     line-height: 1.4;
     text-shadow: 0px 1px 11px #1e51a2;
}
/*公式SNS*/
 .sns_box{
     background-color: var(--color-custom-1);
     padding:70px 0;
}
/*==========
/*==========
/*============= 
/*========== 下層ページ ========== ========================================*/
/*========== 入会案内 ==========*/
 .scroll_btn{
     position: fixed;
     bottom: 10px;
     left: 50%;
     transform: translateX(-50%);
     text-align: center;
     z-index: 999;
     transition: 0.5s;
     opcity: 1;
     width: 1200px;
     max-width: 98vw;
}
 .btn_taiken{
     display: inline-block;
     font-size: 30px;
     font-weight: 600;
     min-width: 660px;
     text-align: center;
     padding: 33px 40px 35px;
     border-radius: 20px;
     background: #f1f167;
     border: 3px solid #0077bf;
    /*box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.16);
    */
     box-shadow: 4px 4px 0px 0px #0077bf, inset 0px -3px 6px -2px rgba(0, 0, 0, 0.3);
}
 .btn_taiken:hover{
     border: 3px solid #0077bf;
     color:#0077bf;
     background:#fff !important;
}
 .btn_taiken span{
     background-color: var(--color-primary);
     color: #fff;
     border-radius: 60px;
     padding: 5px 18px;
     margin-right: 15px;
     font-size: 27px;
}
 .animation_dokidoki {
     animation: dokidoki 1.5s infinite;
     display:block;
}
 @keyframes dokidoki {
     0% {
         transform: scale(1.05) 
    }
     8% {
         transform: scale(1) 
    }
     92% {
         transform: scale(1) 
    }
     100% {
         -webkit-transform: scale(1.05) 
    }
}
/*footerまでスクロールしたら消す*/
 .is-hidden {
     visibility: hidden;
     opacity: 0;
}
 .shoplist_box .col{
     padding: 0 3rem;
}
 .shoplist_box .map{
     margin-top: 20px;
}
 .shop_box_inner{
     border-bottom: solid 1px #ccc;
     width: 48%;
     margin: 20px 1% 10px;
     background-color: #fff;
     padding: 25px 10px 15px;
     border-radius: 5px;
     position: relative;
}
 .shop_box_inner img{
     height: 30px;
     width: auto;
     margin: auto;
     display: block;
}
 .shop_box_inner p{
     font-size: 0.8rem;
}
 .shop_number p{
     background-color: var(--color-primary);
     width: 30px;
     position: absolute;
     left:50%;
     top:-16px;
     transform: translateX(-50%);
     height: 30px;
     line-height: 1;
     border-radius: 50%;
     color: #fff;
     margin-top: 3px !important;
     padding-top: 6px;
     font-size: 16px;
     font-weight: 600;
     text-align: center;
     font-family: "Lato", sans-serif;
     margin-bottom: 0;
}
 .reason_box .col{
     text-align: center;
     font-weight: 600;
     margin-bottom: 2rem;
     font-size: 1.2rem;
}
 .reason_box img{
     border-radius: 10px;
}
/*========== 入会案内 ==========*/
 .system_box{
     background-color: var(--color-custom-1);
     border-radius: 50px;
     padding: 60px;
}
.system_head {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1em;
}
span.system_for.system_for {
    color: #0077bf;
    display: inline-block;
    margin-left: auto;
}
 span.system_label {
     background: #0077bf;
     color: #fff;
     padding: 1px 10px;
     border-radius: 5px;
}
 span.system_label-paid {
     background: #cb74a7;
}
 span.system_label-discount {
     background: #4d8d3d;
}
 .system_box .heading01{
     text-align: left;
     font-size: 1.8rem !important;
}
 .system_box dl{
     display: flex;
     flex-wrap: wrap;
     width: 100%;
     margin-top: 2rem;
}
 .system_box dt {
     width: 20%;
     margin-bottom: 10px;
     padding: 15px;
     background-color: #fff;
     color: var(--color-primary);
     font-size: 1.0rem;
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
}
 .system_box dd {
     width: 80%;
     padding: 15px;
    font-size: 0.95rem;
     margin-bottom: 10px;
}
 .system_box ul{
     list-style: none;
     margin: 0;
     padding: 0;
}
 .system_box ul>li{
     margin-bottom: 10px;
     line-height: 1.5;
     text-indent: -1.2em;
     margin-left: 1.2em;
     font-size: 0.95rem;
}
 .system_box ul>li::before{
     font-family: "Font Awesome 5 Free";
     content: "\f111";
     font-weight: 900;
     margin-right: 5px;
     font-size: 70%;
     position: relative;
     top:-1px;
     color: var(--color-primary);
}
 .free_box{
     border: solid 5px var(--color-custom-3);
     background-color: #fff;
     margin: 3rem auto 0;
}
 .free_box dt {
     background-color: var(--color-primary);
     color: #fff;
}
/*コンセプト*/
 .concept_box{
     max-width: 945px;
     position: relative;
     margin-top:2rem;
     margin-bottom: 1rem;
     margin-left: auto;
     margin-right: auto;
}
 .concept_box h2,.concept_box p, .concept_box img{
     position: relative;
     z-index: 2;
}
 .concept_right{
     margin-left: auto;
}
 .concept_box h2{
     font-size: 2.8rem !important;
     margin-top: 2rem;
     margin-bottom: 2rem;
     color: var(--color-primary);
     text-align: center;
}
 .concept_box p{
     font-size: 1.2rem;
     line-height: 2.2;
}
 .concept_box h2,.concept_box p, .concept_box img{
     position: relative;
     z-index: 2;
}
 img.concept_img{
     object-fit: cover;
     width: 100%;
     aspect-ratio: 16 / 9;
}
 .concept_maru1{
     position: absolute;
     right: -40%;
     top:60%;
     z-index: 1 
}
 .concept_maru2{
     position: absolute;
     left: -60%;
     top:10%;
     z-index: 1 
}
 .concept_maru3{
     position: absolute;
     right: -76%;
     top:30%;
     z-index: 1 
}
/*アクラブメソッド*/
 .method_intro{
     background-image: url(../../../../images/mehod/method-bg.jpg);
     background-size: cover;
     padding: 8vh 20px 70vh;
     position: relative;
     background-position: bottom;
}
 .metho_intro_inner{
     width: 850px;
     margin: auto;
    /* color: #fff;
     */
}
 .method_intro::before, .method_intro::after{
     content: '';
     display: inline-block;
     width: 100%;
    /*画像の幅*/
     height: 120px;
    /*画像の高さ*/
     background-image: url(../../../../images/mehod/method_grd_bg.png);
     background-size: 100vw 100%;
     vertical-align: middle;
     position: absolute;
     bottom: 0;
     left:0;
     z-index: 2;
     background-position: bottom;
}
 .method_intro::before{
     top: 0;
     transform: rotate(180deg);
}
 .method_box img{
     object-fit: cover;
     width: 100%;
     aspect-ratio: 1 / 1;
}
 .metho_intro_inner h2{
     margin-bottom: 3rem;
}
 .metho_intro_inner p{
     font-size: 1.2rem;
     line-height: 2.2;
     text-shadow: 0 0 15px #fff, 0 0 10px #fff;
}
 .method_box{
     margin: 2rem 0;
}
 h2.ribbon{
     position: relative;
     padding-left: 140px;
     font-size: 36px !important;
     min-height: 110px;
     display: flex;
     align-items: center;
     margin-bottom: 2rem;
}
 .ribbon span {
     position: absolute;
     top: -10px;
     left: 0px;
     width: 110px;
     height: 110px;
     line-height: 1.0;
     background-color: #359bf0;
     color: #fff;
     font-weight: bold;
     font-size: 18px !important;
     padding-top: 15px;
     text-align: center;
     font-family: 'Lato', "Noto Sans JP", sans-serif;
}
 .ribbon span strong{
     display: block;
     font-size: 70px !important;
}
 .ribbon span::after {
     position: absolute;
     top: 100%;
     left: 0;
     width: 0px;
     height: 0px;
     border-style: solid;
     border-width: 0 55px 20px 55px;
     border-color: transparent #359bf0;
     content: '';
}
/*沿革*/
 .timeline {
     list-style: none;
     width: 70%;
     margin: auto;
}
 .timeline > li {
     margin-bottom: 60px;
}
/* for Desktop */
 @media ( min-width : 640px ){
     .timeline > li {
         overflow: hidden;
         margin: 0;
         position: relative;
    }
     .timeline-date {
         width: 110px;
         float: left;
         margin-top: 13px !important;
         font-family: 'Lato', "Noto Sans JP", sans-serif;
         font-weight: 600;
         font-size: 1.5em;
    }
     .timeline-content {
         width: 75%;
         float: left;
         border-left: 3px #eee solid;
         padding-left: 30px;
         padding-top: 4px;
         padding-bottom: 30px;
    }
     .timeline-content:before {
         content: '';
         width: 12px;
         height: 12px;
         background:var(--color-primary);
         position: absolute;
         left: 106px;
         top: 24px;
         border-radius: 100%;
    }
}
/*ごあいさつ*/
 .greeting_box{
     width: 80%;
     margin: 2rem auto;
}
 .greeting_box p{
     font-size: 1.1rem;
}
 .greeting_box2{
     width: 80%;
     margin: 2rem auto;
     background-color: var(--color-custom-1);
     border-radius: 20px;
     padding: 30px 40px;
}
 .greeting_box2 h2{
     color:var(--color-primary);
     margin-bottom: 2rem;
}
 .daihyou_name2 span{
     font-size: 16px;
     margin-left: 15px;
     font-family: "Lato", sans-serif;
}
/*排出選手紹介*/
 .players_box{
}
 .players_box h3{
     color: var(--color-primary);
     font-size: 1.1rem;
     margin-bottom: 1.7rem;
}
 .players_box_interview{
     background-color: var(--color-custom-1);
     border-radius: 50px;
     padding: 40px;
}
 .players_box_interview h3{
     font-size: 1.8rem;
}
 .item-532 .items-row .item{
     padding: 0;
}
 .player-table {
     border-collapse: collapse;
     width: 100%;
     margin: 0;
}
 .player-table th,.player-table td{
     font-size:0.9rem;
     border-left: none;
     border-right: none;
     padding: 7px 10px;
}
 .player-table th {
     border-bottom: 1px solid #CECECE;
     font-weight: 600;
     text-align: left;
     vertical-align: top;
     width: 20%;
     background:#D2ECFC;
}
 .player-table td {
     border-bottom: 1px solid #CECECE;
     text-align: left;
     vertical-align: top;
     background:#fff;
}
 .player-table td:nth-child(2){
     width: 20%;
}
 .player-table td:nth-child(3){
     width: 40%;
}
 .player-table td:nth-child(4){
     width: 20%;
}
 .player_name h3{
     margin-top: 0;
}
 .player-list {
     list-style: none;
     margin: 0;
     padding: 0;
}
 .player-list li{
    /* width: 24%;
     margin: 0.5%;
     background-color: #fff;
     padding: 15px;
     border-radius: 5px;
     */
     flex: 1;
     flex-grow: 0;
     min-width: 12em;
     text-align: center;
     text-wrap-mode: nowrap;
     padding:5px 0;
}
/*店舗一覧*/
 .shop_box{
     padding-top: 120px;
     margin-top: -120px;
}
 .shop_box_inner{
     position: relative;
}
 .shop_box_inner a{
     position: absolute;
     width: 100%;
     height: 100%;
     opacity: 0;
     top:0;
     left: 0;
}
 .shop_list_link .shop_box_inner::after{
     font-family: "Font Awesome 5 Free";
     content: "\f0ab";
     font-weight: 900;
     margin-right: 7px;
     color: var(--color-custom-4);
     position: absolute;
     bottom: 0px;
     left: 50%;
     transform: translateX(-50%);
}
 .shop_list_link .shop_box_inner{
     transition: 0.3s;
     border: solid 2px #fff;
     padding-bottom: 30px;
}
 .shop_list_link .shop_box_inner:hover{
     border: solid 2px var(--color-primary);
}
 .map{
     margin-top: 40px;
}
 .shop_title{
     position: relative;
     padding-left: 50px;
     margin-bottom: 1.5rem;
}
 .shop_title span{
     background-color: var(--color-primary);
     width: 40px;
     position: absolute;
     left: 0px;
     top: 1px;
     height: 40px;
     line-height: 1;
     border-radius: 50%;
     color: #fff;
     margin-top: 3px !important;
     padding-top: 10px;
     font-size: 18px;
     font-weight: 600;
     text-align: center;
     font-family: "Lato", sans-serif;
}
 .clubs-table {
     border-collapse: collapse;
     width: 100%;
     margin: 0;
}
 .clubs-table th {
     border-bottom: 1px solid #ddd;
     padding: 15px 10px;
     font-weight: 600;
     text-align: left;
     vertical-align: top;
     width: 20%;
     color: var(--color-primary);
}
 .clubs-table td {
     border-bottom: 1px solid #ddd;
     padding: 15px;
     text-align: left;
     vertical-align: top;
}
 .clubs-table ul{
     list-style: none;
     padding: 0;
     margin: 0;
}
 .clubs-table ul>li{
     text-indent: -1.2rem;
     margin-left: 1.2rem;
}
 .clubs-table li::before{
     font-family: "Font Awesome 5 Free";
     content: "\f111";
     font-weight: 900;
     margin-right: 7px;
     color: var(--color-custom-4);
     font-size: 70%;
     position: relative;
     top:-1px;
}
 .station_list{
     display: flex;
     flex-wrap: wrap;
     margin-top: 10px !important;
}
 .station_list li{
     margin-right: 10px !important;
     font-size: 90%;
     text-indent: 0rem !important;
     margin-left: 0rem !important;
}
 .station_list li:first-child{
     margin-left: 0;
}
 .station_list li::before{
     font-family: "Noto Sans JP", sans-serif;
     content: "／";
     font-weight: 300;
     color: #9C9C9C;
     font-size: 100%;
     margin-right: 10px;
     top:0;
}
 .station_list li:first-child::before{
     display: none;
}
/*キャンペーン情報*/
 .campaign_index{
     width: 80%;
     margin: 4rem auto 0!important;
     margin-bottom: 30px;
     padding: 1em 1em 1em 2em;
     border: 1px solid #ccc;
     background-color: #fafafa;
     border-radius: 20px;
     color: #333333;
}
 .campaign_index ul{
     list-style: none;
     padding:0;
     display: flex;
     flex-wrap: wrap;
}
 .campaign_index li{
     font-size: 16px;
     font-weight:400;
     margin:15px 0;
     width: 46%;
     text-indent: -1.5rem;
     margin-left: 1.5rem;
}
 .campaign_index li a{
     color: #333;
}
 .campaign_index li a:hover{
     color: var(--color-custom-4);
}
 .campaign_index li::before{
     font-family: "Font Awesome 5 Free";
     content: "\f138";
     font-weight: 900;
     margin-right: 7px;
     color: var(--color-custom-4);
     position: relative;
}
 .campaign_box{
     width: 80%;
     margin: 2rem auto;
}
 .campaign_box img{
     margin-bottom: 2rem;
}
 .campaign_box::before{
     content: "";
     display: block;
     height: 150px;
    /* 調整したい高さ（固定ヘッダーの高さ） */
     margin-top: -150px;
    /* heightと同じ分のネガティブマージン */
     visibility: hidden;
}
 .campaign_table_outer{
     background-color: var(--color-custom-1);
     border-radius: 20px;
     margin-top: 1.5rem;
     padding: 40px;
}
/*最新情報*/
 .module-title{
     background-color: var(--color-primary);
     border-radius: 10px;
     color: #fff;
     border: none;
     padding: 15px;
}
 .module-title span {
     border-bottom: 0px solid #adb5bd;
     margin-bottom: 0px;
     padding: 0rem;
}
/* 行数制限 */
 .blog.view-category .item-intro{
     display: -webkit-box;
     -webkit-box-orient: vertical;
     -webkit-line-clamp: 3;
    /* 制限したい行数が3の場合 */
     overflow: hidden;
}
 .blog.view-category .item-intro .news_txt {
     display: -webkit-box;
     -webkit-box-orient: vertical;
     -webkit-line-clamp: 3;
    /* 制限したい行数が3の場合 */
     overflow: hidden;
}
/*サイトマップ*/
.item-content .sitemap{
     margin-bottom: 4rem;
}
.item-content .sitemap h3{
     font-size: 1.5rem;
     padding-bottom: 10px;
     border-bottom: solid 1px #ccc;
     color: var(--color-primary);
     position: relative;
     margin-top: 50px;
}
.item-content .sitemap h3::before{
     content: '';
     display: inline-block;
     width: 5px;
     height: 30px;
     opacity: 0.6;
     margin-right: 10px;
     position: relative;
     top:4px;
     background-color: var(--color-primary);
}
.item-content .sitemap h3 a{
     color: var(--color-primary);
     transition: 0.3s;
}
.item-content .sitemap h3 a:hover{
     color: rgba(79,79,79,1.00);
     text-decoration: none;
}
.item-content .sitemap ul{
     list-style: none;
     padding: 0;
     margin: 0;
}
.item-content .sitemap li{
     font-size: 1.2rem;
}
.item-content .sitemap li a{
     color: #333;
     transition: 0.3s;
     font-weight: 400;
}
.item-content.sitemap li a:hover{
     color: var(--color-primary);
}
.item-content .sitemap .col-6{
     padding: 0 40px;
}
/*お知らせ*/
 .news_listbox{
     display: flex;
     flex-wrap: wrap;
     align-items:flex-start;
}
 .news_img{
     width: 30%;
}
 .news_txt{
     width: 65%;
     margin-left: auto;
}
/* .system-unpublished{
     display: flex;
     flex-wrap: wrap;
}
 .system-unpublished .page-header{
     width: calc(100% - 150px);
}
 .system-unpublished .article-aside{
     width: 130px;
     text-align: right;
     margin-left: auto;
     padding-top: 10px;
     padding-right: 15px;
}
 */
 .blog-content .blog-items .item{
     border-bottom: solid 2px #eee;
}
 .system-unpublished .page-header{
     margin-bottom: 15px;
}
 .category-name a{
     background-color: var(--color-primary);
     color: #fff;
     padding: 4px 10px;
     border-radius: 4px;
     font-size: 11px;
}
 .published .fa{
     display: none;
}
 .pagination-wrap{
     justify-content: center;
}
 .pagination {
     --t4-pagination-padding-x: 0.95rem;
     --t4-pagination-padding-y: 0.35rem;
     --t4-pagination-font-size: 1rem;
     --t4-pagination-color: var(--color-primary);
     --t4-pagination-bg: #fff;
     --t4-pagination-border-width: 1px;
     --t4-pagination-border-color: #dee2e6;
     --t4-pagination-border-radius: 2.25rem;
     --t4-pagination-hover-color: #0a58ca;
     --t4-pagination-hover-bg: #e9ecef;
     --t4-pagination-hover-border-color: #dee2e6;
     --t4-pagination-focus-color: #0a58ca;
     --t4-pagination-focus-bg: #e9ecef;
     --t4-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
     --t4-pagination-active-color: #fff;
     --t4-pagination-active-bg: var(--color-primary);
     --t4-pagination-active-border-color: var(--color-primary);
     --t4-pagination-disabled-color: #6c757d;
     --t4-pagination-disabled-bg: #fff;
     --t4-pagination-disabled-border-color: #dee2e6;
     display: flex;
     font-family: 'Lato', "Noto Sans JP", sans-serif;
     ;
     padding-left: 0;
     list-style: none;
}
 .pagination-wrap .counter{
     display:none;
}
/*お問い合わせ*/
 .send-ic{
     color: var(--color-primary);
     text-align: center;
     font-size: 70px;
}
 textarea.form-control{
     max-width: 100%;
}
 label{
     cursor: pointer;
}
 input{
     position: relative;
     top:4px;
}
 .formControls{
     position: relative;
}
 .attach_del{
     position: absolute;
     left :360px;
     top:35px;
}
 .btn.btn-primary{
     padding: 20px 90px;
     font-size: 20px;
}
 .form-row{
     width: 80%;
     margin: auto;
}
 .input-group{
     align-items: baseline;
     gap:.5em;
}
 .rsform-block-submit label{
     display:none !important;
}
 .rsform-block-submit .formControls.col-sm-9{
     width: 100%;
     text-align:center;
}
/*ログイン ユーザーメニュー*/
 #Mod209{
     padding-bottom:80px;
}
 a.wf-zoom-image {
     overflow: hidden;
}
 a.wf-zoom-image img {
     transition:.3s;
}
 a.wf-zoom-image:hover img {
     filter: brightness(0.8);
     transform: scale(1.1);
     overflow: hidden;
}

/* 記事一覧ページ */
 .blog.view-category  .item-intro * {
    all: initial !important;
    color: #777 !important;
    pointer-events:none !important;
}
 .blog.view-category  .item-intro div {
    display: contents !important;
}
 .blog.view-category   .item-intro img,
 .blog.view-category  .item-intro br {
    display: none !important;
}
 .blog.view-category  .item-intro {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

/* .item-intro *::before,.item-intro *::after {
    display: none;
} */