@charset "utf-8";

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
サイト全体
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/* 豆腐文字 互換表示の優先度変更 */
body,.news-article .second-body .body h2, .news-article .second-body .body h3, .news-article .second-body .body p{
font-family: "Noto Sans Japanese", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
}

/* グローバルナビのカラム落ち防止 */
.layout-team-header .team-nav ul.tnav-wrap {white-space: nowrap;}
.layout-team-header .team-nav ul.tnav-wrap li {white-space: normal;}

/* グローバルナビ位置調整 */
@media print, screen and (min-width: 768px){
.layout-team-header .team-logo-wrap {margin-right: 5px;}
.layout-team-header .team-logo-wrap .team-logo {padding-right: 10px;}
.layout-team-header .team-logo-wrap .en {width: 185px;}

/* グローバルナビ SNSアイコンを調整 */
.layout-team-header .team-sns.no-fanclub{padding-top: 32px;}
.layout-team-header .team-sns ul{margin-bottom: 5px;}
.layout-team-header .team-sns li{
width: 35px;
font-size: 150%;
}
}

/* グローバルナビを上部固定に */
.layout-team-header {
position: sticky;
top: 0;
z-index: 4000;
transition: .3s;
}

/* PCの横幅変更 */
@media screen and (max-width: 1218px) {
.layout-second .second-body { padding: 25px;}
}
/* スマホ・タブの横幅変更 */
@media screen and (max-width: 767px) {
.layout-second, .layout-module {padding: 10px 1% 1%;}
.layout-second .second-body { padding: 1em;}
.news-article{margin-top: 0 !important;}
.l-container--contents .ct-form select{width: 100%;}
}
/*お問い合わせの横幅変更*/
#page_inquiry_detail .layout-module {
margin: 20px 10px 25px 10px;
}

/* プロフィール詳細画面が下がっていたものを修正 */
.player-profile {
margin-top: -10%;
min-height: 6em;
display: flex;
}
@media print, screen and (max-width: 767px){
.player-profile {
margin-top: -35px;
min-height: inherit;
}
}

.fa-space{padding: 0 0.3em;}
.team-nav .team-nav-inner a > i{display: inline-block;}

/*html {scroll-behavior: smooth ;}*/

/* ハンバーガーメニュー SNSアイコンを5個に */
@media print, screen and (min-width: 768px){
.layout-popup-tnav .content .tsns-wrap {margin-left: 15%!important;}
.layout-popup-tnav .content .tsns-wrap li {
width: 15.6%!important;
font-size: 150%;
}
}
@media screen and (max-width: 767px){
.layout-popup-tnav .content .tsns-wrap li {
width: 15.6%!important;
font-size: 150%;
}
}
.tsns-wrap i.fab::before, .tsns-wrap i.fal::before, .tsns-wrap i.far::before, .tsns-wrap i.fas::before, .tsns-wrap i.fa::before {
margin-left: .2em;
margin-right: .2em;
}

/* シーズン・月等選択プルダウンのスマホ表示崩れを修正 */
@media screen and (max-width: 767px){
.season-stats-wrap .component-month-selector .common-selector.w-middle {
    width: 60%!important;
}
.tmpl_standings_footer .component-month-selector .common-selector.w-middle {
    width: 87px;
}
}

/* スケジュールページの表示崩れを修正 */
.schedule-list-wrap .schedule-ul li .schedule-detail .result-area .sp-score .score-box,
.schedule-wrap .schedule-ul li .schedule-detail .detail-area .result-area{
letter-spacing: 0.05em;
}
.schedule-list-wrap .schedule-ul li .schedule-detail .result-area:after {
top: 0;
bottom: 0;
display: flex;
align-items: center;
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
色設定
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
:root {
  --primary-color:  #0b318f;
  --second-color:   #e60020;
  --accent-color:   #FFEA5E;
  --text-color:     #797979;
  --white-color:    #fff;

  --rsunz-color:    #EF9090;
  --rsunzjr-color:  #F08500;
}

.rzf-color-bl      {color: #0b318f;}
.rzf-color-wh      {color: #fff;}
.rzf-color-rd      {color: #e60020;}
.rzf-color-yel     {color: #FFEA5E;}
.rzf-wrap.rzf-color-rsunz   {color: #EF9090!important;}
.rzf-color-rsunzjr {color: #F08500!important;}

.rzf-bg-bl      {background-color: #0b318f;}
.rzf-bg-wh      {background-color: #fff;}
.rzf-bg-rd      {background-color: #e60020;}
.rzf-bg-yel     {background-color: #FFEA5E;}
.rzf-bg-rsunz   {background-color: #EF9090!important;}
.rzf-bg-rsunzjr {background-color: #F08500!important;}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ヘッダー
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*--------------------------------------------
  ヘッダー・ポップアップナビ Bチケ
---------------------------------------------*/
.team-nav-bticket{
position: absolute;
top: 38px;
right: 240px;
}
.team-nav-bticket a, .tsns-bticket a{
display: block;
padding: 2px;
}
.team-nav-bticket img{
max-width: 140px;
vertical-align: bottom;
}
.tsns-bticket{
width: 100%!important;
position: absolute;
top: 35px;
left: calc( 50% + 80px);
}
.tsns-bticket img{
max-width: 200px;
vertical-align: bottom;
}

@media screen and (min-width: 768px) and (max-width: 1450px){
.team-nav-bticket{display: none;}
}
@media screen and (max-width: 767px){
.team-nav-bticket{
top: 16px;
right: 80px;
}
.team-nav-bticket img{max-width: 80px;}
.tsns-bticket {
width: 134px!important;
top: -44px;
left: inherit;
right: 16px;
}
.tsns-bticket img {max-width: 130px;}
}
.team-sns a:hover, .team-nav-bticket a:hover{
opacity: 0.7;
transition: 0.2s;
}





/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
フッター
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* ページトップへ戻る */
#pagetop {
position: fixed;
bottom: 10px;
right: 10px;
z-index: 999999;
}
#pagetop a {
display: block;
text-align: center;
color: #efefef;
font-size: 4em;
text-decoration: none;
line-height: 1;
opacity: 0.5;
}
#pagetop a:hover {opacity: 1;}

/* 追従バナー大きさ、ボタンカスタム */
@media screen and (min-width: 640px){
#footerbanner.rzf-fixed-banner a {height: 150px;}
#footerbanner.rzf-fixed-banner a img {height: 150px;}
}
@media screen and (max-width: 640px){
#footerbanner.rzf-fixed-banner {width: 78%;}
#footerbanner.rzf-fixed-banner a {width: 100%;}
}

#footerbanner.rzf-fixed-banner {
display:inherit;
position: fixed;
left: 0;
bottom: 0;
z-index: 999999!important;
}
#footerbanner.rzf-fixed-banner a {
display: block;
height: auto;
transition: 0.2s;
}
#footerbanner.rzf-fixed-banner a:not(.bnr_btn) {max-height: 120px;}
#footerbanner.rzf-fixed-banner a:not(.bnr_btn) img {
max-height: 120px;
vertical-align: bottom;
}
#footerbanner.rzf-fixed-banner a:hover {
filter: brightness(1.1);
cursor: pointer;
}
#footerbanner.rzf-fixed-banner a.bnr_btn {
position: absolute;
width: 20px;
height: 20px;
top: 0;
right: 0;
border: 2px solid #fff;
background-color: #0B318F!important;
z-index: 1;
transition: 0.2s;
}
#footerbanner.rzf-fixed-banner a.bnr_btn:hover {
background-color: var(--accent-color)!important;
}
#footerbanner.rzf-fixed-banner a.bnr_btn:before {
content: "";
position: absolute;
width: 13px;
height: 2px;
margin: auto;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: #fff;
transform: rotate(-46deg);
}
#footerbanner.rzf-fixed-banner a.bnr_btn:after {
content: "";
position: absolute;
width: 13px;
height: 2px;
margin: auto;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: #fff;
transform: rotate(46deg);
}
#footerbanner.rzf-fixed-banner a.bnr_btn:hover:before,
#footerbanner.rzf-fixed-banner a.bnr_btn:hover:after {
background-color: #0B318F;
}

/*--------------------------------------------
  フッタースポンサー
---------------------------------------------*/
.foot-sponsor-wrap{
width:100%;
padding: 0 30px;
box-sizing: border-box;
}
.foot-sponsor-title{
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 -30px 3em;
padding: 10px 40px;
color: #FFF;
background-color: #0b318f !important;
}
.foot-sponsor-title h2{
margin-right: 10px;
font-size: 33px;
letter-spacing: .2em;
}
.foot-sponsor-titlelink{
border: 1px solid;
}
.foot-sponsor-titlelink a{
display: block;
width: 100%;
padding: 0.5em 1.5em;
color: #fff;
box-sizing: border-box;
transition: .2s;
}
.foot-sponsor-titlelink a::after {
content:"≫";
font-family: "Font Awesome 5 Free";
content: '\f101';
font-weight: 900;
padding-left: 0.5em;
}
.foot-sponsor-titlelink a:hover{
color: #0b318f !important;
background-color: #fff;
}
.foot-sponsor-wrap h3 {
margin: 1.5em 0 !important;
padding: 0.5em 0.3em;
font-size: 1.2rem !important;
font-weight: 500;
color: #0b318f !important;
border-top: 2px solid #0b318f;
border-bottom: 2px solid #0b318f;
}
.foot-sponsor-grid{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin-bottom: 3em;

box-sizing: border-box;

display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
grid-auto-rows: 1fr;
gap: 0 2.5%;
}
.foot-sponsor-grid li {
padding: 0.7em 0.5em;
text-align: center;
font-size: 1.2em;
box-sizing: border-box;
}
.foot-sponsor-grid li img{
width: 150px;
height: auto;
max-height: 65px;
vertical-align: bottom;
object-fit: contain;
box-sizing: border-box;
}
.foot-sponsor-grid li a{
transition: opacity .2s;
}
.foot-sponsor-grid li a:hover{
opacity: 0.7;
}

@media screen and (max-width: 767px) {
.foot-sponsor-wrap{padding: 20px 10px;}
.foot-sponsor-title{
margin: 1em -10px 2em;
padding: 10px 15px;
}
.foot-sponsor-title h2{
font-size: 25px;
letter-spacing: 3px;
}
.foot-sponsor-wrap h3 {font-size: 1.0rem !important;}
.foot-sponsor-grid{
justify-content: space-around;
margin-bottom: 2em;
}
.foot-sponsor-grid {grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));}
.foot-sponsor-grid li {padding: 0.5em;}
.foot-sponsor-grid li img{
width: 110px;
max-height: 45px;
}
}
@media screen and (max-width: 450px) {
.foot-sponsor-wrap{padding: 10px 10px;}
.foot-sponsor-title{
margin-top: 0.5em;
padding: 5px 15px;
}
.foot-sponsor-titlelink a{
padding: 0.3em 1.5em;
font-size: 0.9em;
}
.foot-sponsor-grid {grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));}
.foot-sponsor-grid li {padding: 0.4em;}
.foot-sponsor-grid li img{
width: 90px;
max-height: 35px;
}
}

/*--------------------------------------------
  ユース、車いす、神くん、RsunZパートナーなど
---------------------------------------------*/
.foot-sponsor-grid.partner-otherpage{
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.foot-sponsor-grid.partner-otherpage li img{
width: 200px;
max-height: 80px;
}
@media screen and (max-width: 767px) {
.foot-sponsor-grid.partner-otherpage{
justify-content: space-around;
margin-bottom: 2em;
}
.foot-sponsor-grid.partner-otherpage {grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));}
.foot-sponsor-grid.partner-otherpage li {padding: 0.7em 0.5em;}
.foot-sponsor-grid.partner-otherpage li img{
width: 180px;
max-height: 60px;
}
}
@media screen and (max-width: 450px) {
.foot-sponsor-grid.partner-otherpage {grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));}
.foot-sponsor-grid.partner-otherpage li {padding: 0.7em 0.5em;}
.foot-sponsor-grid.partner-otherpage li img{
width: 130px;
max-height: 50px;
}
}

/*--------------------------------------------
  フッターSNS
---------------------------------------------*/
.foot-sns{
display: flex;
justify-content: space-between;
}
.foot-sns li{
font-size: 2em;
width: calc( 100% / 6);
text-align: center;
box-sizing: border-box;
}
.foot-sns li a{
display: block;
width: 100%;
padding: 0.3em;
color: #0B318F;
border-top: 1px solid;
border-bottom: 1px solid;
border-right: 1px solid;
box-sizing: border-box;
transition: .2s;
}
.foot-sns li:first-child a{border-left: 1px solid;}
.foot-sns li a:hover{
color: #fff;
background: #0B318F;
border: 1px solid;
}
@media screen and (max-width: 767px) {
.foot-sns li{font-size: 1.8em;}
}

.foot-sns-title{
margin: 0;
padding: 0.7em;
font-size: 1.2em;
font-weight: 500;
text-align: center;
color: #fff;
background-color: #0B318F;
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
サイドカラム
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* サイド小バナー設定 */
.side-banner {margin-top: 50px;}/*成績が入るまで一時的に調整*/
.side-banner li{
margin-bottom: 12px;
text-align: center;
}
.side-banner img{vertical-align: bottom;}
.side-banner a{transition: 0.2s ease-in-out;}
.side-banner a:hover{filter:brightness(115%);}

.side-banner__sns-block{
display: flex;
flex-wrap: wrap;
flex-direction: column;
align-items: center;
}
.side-banner__sns-block_bottom{
display: flex;
justify-content: center;
}
@media screen and (max-width: 767px){
.side-banner {margin-top: 0;}/*成績が入るまで一時的に調整*/
.side-banner {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 3px 5px;
padding: 0 10px;
}
.side-banner li{
width: calc( 50% - 2.5px );
margin-bottom: 5px;
}
.side-banner__sns-block{
flex-wrap: nowrap;
flex-direction: row;
width: 100%!important;
}
}

/* サイドFC応援団設定 */
.side-fc-oendan{
max-width: 315px;
margin: 0 auto;
padding: 0.3em;
background-color: #fff;
box-sizing: border-box;
}
.side-fc-oendan-cont{
max-width: 315px;
margin: 0 auto;
padding: 1em 0.3em;
border: 2px solid #0B318F;
color: #0B318F;
}
.side-fc-oendan p{
margin-bottom: 0.8em;
font-size: 0.9em;
text-align: center;
}
.side-fc-oendan-mymap {
height:100%;
min-height:100%;
overflow: hidden;
}
.side-fc-oendan-mymap iframe{
height:260px;
margin-top:-59px;
}
.side-fc-oendan-button{
width: 90%;
margin: 0 auto;
margin-top: 0.8em;
border: 1px solid;
}
.side-fc-oendan-button a{
display: block;
width: 100%;
padding: 0.5em 1em;
text-align: center;
color: #0B318F;
box-sizing: border-box;
transition: .2s;
}
.side-fc-oendan-button a::after {
content:"≫";
font-family: "Font Awesome 5 Free";
content: '\f101';
font-weight: 900;
padding-left: 0.5em;
}
.side-fc-oendan-button a:hover{
color: #fff !important;
background-color: #0B318F;
}
.side-fc-oendan-logo{
max-width: 250px;
padding: 0 3.5em;
margin: 0 auto 0.5em;
text-align: center;
}

@media screen and (max-width: 767px) {
.side-fc-oendan{
width: 100%!important;
max-width: 100%;
margin: 0 auto;
padding: 0.5em;
background-color: #e6e7e7;
box-sizing: border-box;
}
.side-fc-oendan-cont{
max-width: 100%;
background-color: #fff;
margin: 0 auto;
padding: 1em 0.5em;
}
.side-fc-oendan-logo img{
max-width: 150px;
}
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
固定ページのみ
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.rzf-wrap *{
/*color: #555;*/
/*font-family: "Noto Sans JP","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
box-sizing: border-box;
word-wrap: break-word;
}

.rzf-wrap img{
max-width: 100%;
height: auto;
vertical-align: bottom;
}

.rzf-wrap section{margin-bottom: 5.0em!important;}
@media screen and (max-width: 450px) {
/*.rzf-wrap section{margin-bottom: 3.0em!important;}*/
}
.rzf-wrap section:last-child{margin-bottom: 0!important;}

/* googlemap用 */
.rzf-wrap iframe{
width: 100%;
/*height: 300px;*/
/*margin: 0.5em 0 !important;*/
}

/* ページヘッダー色変更 */
.second-header-layout .top, .second-header-layout .top, .slice, .second-header-layout .btm{
background-color: #0b318f !important;
}
.second-header-layout, .second-header-layout .btm, .title-wrap h1{color: #fff; font-weight: 500;}
.l-container--contents .layout-module .second-header .title-wrap .title{color: #727272 !important; font-weight: 600;}


@media screen and (min-width: 768px){	
.br-767 { display:none; }
.br-767sp { display:block; }
}
@media screen and (max-width: 767px){	
.br-767 { display:block; }
.br-767sp { display:none; }
}
@media screen and (min-width: 451px){	
.br-450 { display:none; }
.br-450sp { display:block; }
}
@media screen and (max-width: 450px){	
.br-450 { display:block; }
.br-450sp { display:none; }
}


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
見出し設定
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.rzf-head-wrap{
position: relative;
margin-bottom: 2em;
}
.rzf-head-wrap::after{
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #0B318F;
opacity: 0.8;
display:block
}
h1.rzf-head-title{
position: absolute;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%);
z-index: 10;
color: #fff!important;
font-size: 3.2em!important;
font-weight: 900;
text-align: center;
line-height: 1.2;
}
@media screen and (min-width: 1200px) {
h1.rzf-head-title{font-size: 4em!important;}
.rzf-head-wrap .rzf-ofi-11:before, .rzf-head-wrap .rzf-ofi-32:before, .rzf-head-wrap .rzf-ofi-43:before {padding-top: 56.25%;}
}
@media screen and (max-width: 767px) {
h1.rzf-head-title{font-size: 2.6em!important;}
}
@media screen and (max-width: 450px) {
h1.rzf-head-title{font-size: 2.0em!important;}
}
.rzf-wrap h2 {
margin: 1.5em 0 !important;
margin: 3em 0 2em!important;
padding: 0.5em 0.3em;
padding: 0.7em 0.6em;
font-size: 1.2rem !important;
font-weight: 800;
color: #0b318f !important;
border-top: 3px solid;
border-bottom: 3px solid;
}
.rzf-wrap:first-child > section:first-child h2{margin: 0.7em 0 2em!important;}
/* 小さな文字 */
.rzf-h2-span{
font-size: 0.8em;
margin-left: 1.0em;
}
@media screen and (max-width: 450px) {
.rzf-h2-span{
display: block;
margin-left: 0;
}
}

h2.rzf-centertitle{
text-align: center;
border: none;
font-size: 2.4em!important;
padding: 0.5em 0.5em;
font-weight: 900!important;
line-height: 1.4;
}
h2.rzf-centertitle::after {
content: "";
display: block;
width: 70px;
margin: 15px auto 0;
border-bottom: 4px solid #FFEA5E;
}
@media screen and (max-width: 767px) {
h2.rzf-centertitle{font-size: 2.0em!important;}
}

.rzf-wrap h3 {
margin: 3em 0 1.6em !important;
padding: 0.8em 0.6em;
font-size: 1.1rem !important;
font-weight: 600;
color: #0b318f !important;
border: 2px solid;
}

.rzf-wrap h4 {
margin: 1.0em 0 0.5em !important;
font-size: 1.1rem !important;
font-weight: 600;
color: #0b318f !important;
}
.rzf-wrap h4::before {
content:"■";
padding-right: 0.2em;
}

.rzf-wrap h5 {
margin: 1.1em 0 0.3em !important;
font-size: 0.9rem !important;
font-weight: 500;
color: #0b318f !important;
}

.rzf-wrap p {
margin: 0 0 1.1em !important;
margin: 0 0 1.8em !important;
line-height: 1.8;
}


/* 大きな文字 */
.rzf-bigtext{
font-size: 1.7em;
font-weight: bold;
color: #0b318f !important;  
}
@media screen and (max-width: 767px) {
.rzf-bigtext{font-size: 1.3em;}
}

/* 可変の大きなテキスト */
p.rzf-big-text {
font-size: 16px;
font-weight: 800;
line-height: 1.8;
}
p.rzf-mid-text {font-size: 15px;}
@media (min-width: 767px) {
p.rzf-big-text {
font-size: calc(1rem + ((1vw - 7.67px) * 1.2638));
min-height: 0vw;
line-height: 1.6;
}
p.rzf-mid-text {
font-size: 16px;
font-weight: 600;
}
}
@media (min-width: 1400px) {
p.rzf-big-text {font-size: 24px;}
p.rzf-mid-text {font-size: 20px;}
}

/* 下線マーカー */
.rzf-text-marker{
background:linear-gradient(transparent 85%, var(--accent-color) 85%);
}


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
共通パーツ設定
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/* リスト用 */
.li-disc{ 
list-style-type: disc;
list-style-position: inside;
}
.li-decimal{ 
list-style-type: decimal;
list-style-position: inside;
}

.li-square li::before {
content:"■";
padding-right: 0.2em;
}

/* レイアウトコンポネート */
.rzf-flex-layout{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
width: 100%;
margin: 0;
padding: 0;
}
.rzf-flex-layout img{
margin: 0;
padding: 0;
vertical-align: bottom;
}
.rzf-flex-layout > li, .rzf-flex-layout > div{
width: 100%;
margin-bottom: 10px;
}
.rzf-layout-1 > li, .rzf-layout-1 > div{ width: 100%; }
.rzf-layout-2 > li, .rzf-layout-2 > div{ width: calc(100% / 2 - 5px); }
.rzf-layout-3 > li, .rzf-layout-3 > div{ width: calc(100% / 3 - 5px); }
.rzf-layout-4 > li, .rzf-layout-4 > div{ width: calc(100% / 4 - 5px); }
.rzf-layout-5 > li, .rzf-layout-5 > div{ width: calc(100% / 5 - 5px); }

.rzf-caption, p.rzf-caption{
width: 100%;
margin: 0!important;
padding: 10px;
font-size: 0.9em;
text-align: center;
line-height: 1.2!important;
color: #fff;
background-color: #0b318f;
}

@media screen and (min-width:1200px) {
.rzf-layout-xl-1 > li, .rzf-layout-xl-1 > div{ width: 100%!important; }
.rzf-layout-xl-2 > li, .rzf-layout-xl-2 > div{ width: calc(100% / 2 - 5px); }
.rzf-layout-xl-3 > li, .rzf-layout-xl-3 > div{ width: calc(100% / 3 - 5px); }
.rzf-layout-xl-4 > li, .rzf-layout-xl-4 > div{ width: calc(100% / 4 - 5px); }
.rzf-layout-xl-5 > li, .rzf-layout-xl-5 > div{ width: calc(100% / 5 - 5px); }
.rzf-layout-xl-6 > li, .rzf-layout-xl-6 > div{ width: calc(100% / 6 - 5px); }
}
@media screen and (max-width:1109px) {
.rzf-layout-lg-1 > li, .rzf-layout-lg-1 > div{ width: 100%!important; }
.rzf-layout-lg-2 > li, .rzf-layout-lg-2 > div{ width: calc(100% / 2 - 5px); }
.rzf-layout-lg-3 > li, .rzf-layout-lg-3 > div{ width: calc(100% / 3 - 5px); }
.rzf-layout-lg-4 > li, .rzf-layout-lg-4 > div{ width: calc(100% / 4 - 5px); }
.rzf-layout-lg-5 > li, .rzf-layout-lg-5 > div{ width: calc(100% / 5 - 5px); }
}
@media screen and (max-width:767px) {
.rzf-layout-md-1 > li, .rzf-layout-md-1 > div{ width: 100%!important; }
.rzf-layout-md-2 > li, .rzf-layout-md-2 > div{ width: calc(100% / 2 - 5px); }
.rzf-layout-md-3 > li, .rzf-layout-md-3 > div{ width: calc(100% / 3 - 5px); }
.rzf-layout-md-4 > li, .rzf-layout-md-4 > div{ width: calc(100% / 4 - 5px); }
.rzf-layout-md-5 > li, .rzf-layout-md-5 > div{ width: calc(100% / 5 - 5px); }
}
@media screen and (max-width:640px) {
.rzf-flex-layout > li, .rzf-flex-layout > div{margin-bottom: 10px;}
.rzf-layout-sm-1 > li, .rzf-layout-sm-1 > div{ width: 100%!important; }
.rzf-layout-sm-2 > li, .rzf-layout-sm-2 > div, .rzf-layout-2 > li, .rzf-layout-2 > div{ width: calc(100% / 2 - 2.5px); }
.rzf-layout-sm-3 > li, .rzf-layout-sm-3 > div, .rzf-layout-3 > li, .rzf-layout-3 > div{ width: calc(100% / 3 - 2.5px); }
.rzf-layout-sm-4 > li, .rzf-layout-sm-4 > div, .rzf-layout-4 > li, .rzf-layout-4 > div{ width: calc(100% / 4 - 2.5px); }

.rzf-caption, p.rzf-caption{
padding: 7px;
font-size: 0.8em;
text-align: left;
}
}
@media screen and (max-width:450px) {
.rzf-layout-xs-1 > li, .rzf-layout-xs-1 > div{ width: 100%; }
.rzf-layout-xs-2 > li, .rzf-layout-xs-2 > div{ width: calc(100% / 2 - 2.5px); }
.rzf-layout-xs-3 > li, .rzf-layout-xs-3 > div{ width: calc(100% / 3 - 2.5px); }
}

/* 最大幅変更 */
.rzf-layout-maxwidth-1800, .rzf-layout-maxwidth-1200, .rzf-layout-maxwidth-1000, .rzf-layout-maxwidth-800, .rzf-narrow-layout, .rzf-layout-maxwidth-640{margin: 0 auto;}
.rzf-layout-maxwidth-1800{max-width: 1800px;}
.rzf-layout-maxwidth-1200{max-width: 1200px;}
.rzf-layout-maxwidth-1000{max-width: 1000px;}
.rzf-layout-maxwidth-800, .rzf-narrow-layout{max-width: 800px;}
.rzf-layout-maxwidth-640{max-width: 640px;}

/* 大枠のパディング打消し用 */
@media print, screen and (min-width: 768px){
.rzf-layout-offset{
margin-left: -50px;
margin-right: -50px;
}
.rzf-layout-head-offset{
margin-top: -30px;
margin-left: -30px;
margin-right: -30px;
}
.rzf-layout-footerarea-offset, .rzf-layout-footeraria-offset{
margin-bottom: -50px;
padding: 50px;
}
}
@media screen and (max-width: 1218px){
.rzf-layout-offset{
margin-left: -25px;
margin-right: -25px;
}
.rzf-layout-head-offset{
margin-top: -10px;
margin-left: -10px;
margin-right: -10px;
}
.rzf-layout-footerarea-offset, .rzf-layout-footeraria-offset{
margin-bottom: -25px;
padding: 25px;
}
}
@media screen and (max-width: 767px){
.rzf-layout-offset{
margin-left: -1em;
margin-right: -1em;
}
.rzf-layout-head-offset{
margin-top: -1em;
margin-left: -1em;
margin-right: -1em;
}
.rzf-layout-footerarea-offset, .rzf-layout-footeraria-offset{
margin-bottom: -1em;
padding: 1em;
}
}

/* 画像オブジェクトフィット */
.rzf-ofi-11, .rzf-ofi-43, .rzf-ofi-32, .rzf-ofi-169 {
position: relative;
overflow: hidden;
}
.rzf-ofi-11 img, .rzf-ofi-43 img, .rzf-ofi-32 img, .rzf-ofi-169 img {
position: absolute;
width: 100%!important;
height: 100%!important;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
object-fit: cover;
}
.rzf-ofi-contain img{object-fit: contain;}

.rzf-ofi-11:before, .rzf-ofi-43:before, .rzf-ofi-32:before, .rzf-ofi-169:before {
content: '';
display: block;
padding-top: 100%;
}
.rzf-ofi-43:before {padding-top: 75%;}
.rzf-ofi-32:before {padding-top: 66.66%;}
.rzf-ofi-169:before {padding-top: 56.25%;}

@media screen and (max-width: 767px) {	
.rzf-ofi-sp-11:before {padding-top: 100%;}	
}


/* 共通table設定 */
.rzf-table01{ 
width: 100%;
border-collapse: collapse;
}
.rzf-table01 th, .rzf-table01 td{
padding: 10px;
text-align: left;
border: 1px solid #ddd;
}
.rzf-table01 thead th{font-weight: bold;}
.rzf-table01 th:first-child, .rzf-table01 td:first-child {background: #f4f4f4;}
@media screen and (max-width: 767px) {
.rzf-table01 th, .rzf-table01 td{
padding: 5px;
font-size: 0.9em;
}
}

.rzf-table02{ 
width: 100%;
border-collapse: collapse;
}
.rzf-table02 tr{border: 1px solid #bfbfbf;}
.rzf-table02 thead th{
font-size: 1.2em;
text-align: center;
color: #fff !important;
background: #999;
}
.rzf-table02 th, .rzf-table02 td{
padding: 10px;
text-align: left;
}
.rzf-table02 th{
width: 25%;
background: #eee;
}
.rzf-table02 td{
text-align: left;
vertical-align: middle;
}
@media screen and (max-width: 767px) {
.rzf-table02 th, .rzf-table02 td{padding: 0.5em;}
.rzf-table02 th{width: 35%;}
}

.rzf-table03{ 
width: 100%;
border-collapse: collapse;
}
.rzf-table03 th, .rzf-table03 td{
padding: 10px;
text-align: left;
border: 1px solid #ddd;
}
.rzf-table03 tr:nth-child(even){
background-color: #fafafa;
}
@media screen and (max-width: 767px) {
.rzf-table03 th, .rzf-table03 td{
display: block;
width: 100%;
border-bottom: none;
}
.rzf-table03 {border-bottom: 1px solid #ddd;}
}

.rzf-table04{ 
width: 100%;
border-collapse: collapse;
}
.rzf-table04 thead {font-weight: bold;}
.rzf-table04 th, .rzf-table04 td{
padding: 10px;
text-align: left;
line-height: 1.8;
border: 1px solid #ddd;
}
.rzf-table04 th{background: #eee;}

@media screen and (max-width: 767px) {
.rzf-table04 thead th{
color: #fff;
background-color: #777;
padding: 12px 10px;
font-size: 1.1em;
text-align: center;
}
.rzf-table04 th, .rzf-table04 td{
display: block;
width: 100%;
border-bottom: none;
}
.rzf-table04 {border-bottom: 1px solid #ddd;}
}

.rzf-table05{ 
width: 100%;
border-collapse: collapse;
}
.rzf-table05 thead {
background: #eee;
font-weight: bold;
}
.rzf-table05 th, .rzf-table05 td{
padding: 10px;
text-align: left;
border: 1px solid #ddd;
}
.rzf-table05 tr:nth-child(even){
background-color: #fafafa;
}
@media screen and (max-width: 767px) {
.rzf-table05 thead {display: none;}
.rzf-table05 th, .rzf-table05 td{
display: block;
width: 100%;
padding: 7px;
border: none;
}
.rzf-table05 tr {border: 1px solid #ddd;}
.rzf-table05 tr td:nth-child(1), .rzf-table05 tr th:nth-child(1){padding-bottom: 0;}
.rzf-table05 tr td:nth-child(2){padding-top: 0;}
}

.rzf-table06{
width: 100%;
margin-bottom: 1em;
}
.rzf-table06 th, .rzf-table06 td{
padding: 10px;
border: 1px solid #ddd;
text-align: center;
vertical-align: middle;
}
.rzf-table06 th{
font-weight: 600;
color: #fff;
background-color: #0B318F;
}

.rzf-table-half{
width: 100%;
margin: 1.5em auto;
}
.rzf-table-half p{margin-bottom: 0!important;}
.rzf-table-half thead th {
padding: 12px 12px;
border: 1px solid #d3d3d3;
font-size: 1.1em;
font-weight: bold;
color: #fff;
background-color: #0b318f;
}
.rzf-table-half tbody th, .rzf-table-half tbody td{
width: 50%;
padding: 7px 12px;
border: 1px solid #d3d3d3;
vertical-align: middle;
}
.rzf-table-half tbody th{text-align: right;}
.rzf-table-half tbody td{
text-align: left;
color: #0b318f;
font-weight: bold;
}
.news-article .second-body .body .rzf-table-half th p, .news-article .second-body .body .rzf-table-half td p{margin-bottom: 0!important;}

@media screen and (max-width: 450px){
.rzf-table-half thead th {font-size: 1em;}
.rzf-table-half tbody th{
width: 70%;
font-size: 0.9em;
}
.rzf-table-half tbody td{
width: 30%;
font-size: 0.9em;
text-align: center;
}
}

/* 共通dl設定 */
.rzf-dl01{
display: flex;
flex-wrap: wrap;
margin: 2.0em 0 !important;
line-height: 1.8;
}
.rzf-dl01 > dt{
width: 130px;
padding: 0.8em 0.2em;
border-bottom: 1px solid #ccc;
}
.rzf-dl01 > dd{
width: calc(100% - 130px);
padding: 0.8em 0.2em;
border-bottom: 1px solid #ccc;
}
.rzf-dl01 > dd > dl > dt{
font-size: 1.2em;
font-weight: bold;
margin-top: 2em;
}
.rzf-dl01 > dd > dl > dt:first-child{ margin-top: 0; }
.rzf-dl01 > dd > dl > dd{ margin-bottom: 1em; }

.rzf-dl01 > dd > dl > dd > dl > dt{
font-size: 1.0em;
font-weight: 500;
margin-top: 1em;
/*font-weight: bold;*/
}
.rzf-dl01 > dd > dl > dd > dl > dt::before{
content: "■" ;
margin-right: 0.2em;
}
.rzf-dl01 > dd > dl > dd > dl > dd{ margin-bottom: 0.7em; }

@media screen and (max-width: 767px) {
.rzf-dl01 > dt{
width: 100%;
padding: 0.4em 0.5em;
color: #fff !important;
background-color: #aaa;
border-bottom: none;
}
.rzf-dl01 > dd{
width: 100%;
padding: 0.8em 0.5em;
border-bottom: none;
}
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
共通パーツ設定
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* Youtube */
.rzf-youtube{
position: relative;
width:100%;
padding-top: 56.25%;
}
.rzf-youtube iframe{
position: absolute;
top: 0;
right: 0;
width: 100% !important;
height: 100% !important;
}

/* アコーディオンCSS版 */
.rzf-accordion {
position: relative;
overflow: hidden;
width: 100%;
margin: 0 auto 0.7em;
/*color: #fff;*/
}
.rzf-accordion input {
position: absolute;
z-index: -1;
opacity: 0;
}
.rzf-accordion label {
cursor: pointer;
display: flex;
justify-content: left;
align-items: center;
margin: 0!important;
padding: 0.5em 0.6em;
font-size: 1.1rem !important;
font-weight: 600;
color: #fff;
background-color: #555;
transition: 0.5s;
}
.rzf-accordion input:checked + label{margin: 0 0 1em!important;}
.rzf-accordion input[type=checkbox] + label::after {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f13a";
margin: auto 0 auto auto;
padding: 0 0.5em;
font-size: 1.4em;
line-height: 1.4;
transform: rotate(0);
transition: .5s;
}
.rzf-accordion input[type=checkbox]:checked + label::after {
transform: rotate(180deg);
transition: .5s;
}
.rzf-accordion .rzf-accordion-cont {
overflow: hidden;
max-height: 0;
-webkit-transition: max-height 0.35s;
transition: max-height 0.35s;
}
.rzf-accordion input:checked ~ .rzf-accordion-cont {max-height: 100%;}
.rzf-accordion-wrap {margin: 0 0 1em!important;}
.rzf-accordion-wrap > label {
padding: 0.6em 0.6em;
font-size: 1.2rem !important;
font-weight: 800;
background-color: #0b318f;
}


/* JSアコーディオン カスタマイズ */
.rzf-wrap section.js-pulldown,
.rzf-wrap section.js-pulldown-faq {margin-bottom: 0.7em!important;}
.rzf-wrap .js-pulldown h3, .rzf-wrap .js-pulldown dt,
.rzf-wrap .js-pulldown-faq h3, .rzf-wrap .js-pulldown-faq dt {
display: flex;
justify-content: left;
align-items: center;
margin: 0!important;
padding: 0.5em 0.6em;
border: none;
font-size: 1.1rem !important;
font-weight: 600;
}
.rzf-wrap .js-pulldown h3:after, .rzf-wrap .js-pulldown dt:after,
.rzf-wrap .js-pulldown-faq h3:after, .rzf-wrap .js-pulldown-faq dt:after {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f13a";
margin: auto 0 auto auto;
padding: 0 0.5em;
font-size: 1.4em;
line-height: 1.4;
transform: rotate(0);
transition: .5s; 
}
.rzf-wrap .js-pulldown.show h3::after, .rzf-wrap .js-pulldown.show dt::after,
.rzf-wrap .js-pulldown-faq.show h3::after, .rzf-wrap .js-pulldown-faq.show dt::after {
transform: rotate(180deg);
transition: .5s; 
}
.rzf-wrap .js-pulldown h3:hover,
.rzf-wrap .js-pulldown dt:hover,
.rzf-wrap .js-pulldown-faq h3:hover,
.rzf-wrap .js-pulldown-faq dt:hover {cursor: pointer;}
.rzf-wrap .js-pulldown .pulldown, .rzf-wrap .js-pulldown-faq .pulldown {
display: none;
padding: 1.5em 1.2em;
border: 5px solid;
border-top: none;
}
.rzf-wrap .js-pulldown h4, .rzf-wrap .js-pulldown-faq h4 {
padding: 0.2em 0;
font-size: 1em;
}
.rzf-wrap .js-pulldown p:not(.rzf-cautiontext), .rzf-wrap .js-pulldown-faq p:not(.rzf-cautiontext) {margin-bottom: 1.2em!important;}

@media screen and (max-width: 640px) {
.rzf-wrap .js-pulldown h3, .rzf-wrap .js-pulldown dt,
.rzf-wrap .js-pulldown-faq h3, .rzf-wrap .js-pulldown-faq dt {
font-size: 1em !important;
}
.rzf-wrap .js-pulldown .pulldown, .rzf-wrap .js-pulldown-faq .pulldown {border: 3px solid;}
}


/* 続きを見るボタン */
.rzf-readmore {position: relative;}
.rzf-readmore label {
height: 180px; /* グラデーションの高さ */
cursor: pointer;
text-align: center;
font-size: 12px;
position: absolute;
bottom: 0;
width: 100%;
z-index: 999;
/* 以下グラデーションは「背景が白」に併せて設定しています */ 
background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
}
.rzf-readmore input:checked + label {
background: inherit; /* 開いた時には背景グラデーションを消す */
}
.rzf-readmore label:after {
content: "続きを見る"; /* ラベルの文字 */
letter-spacing: .05em;
line-height: 2.5rem;
position: absolute;
bottom: 20px;
left: 50%;
transform: translate(-50%, 0);
color: #fff;
background-color: #555;
width: 18.75rem;
border-radius: 20px;
}
.rzf-readmore label:before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f067";
position: absolute;
bottom: 30px;
left: 50%;
transform: translate(-140px, 0);
background-color: #fff;
z-index: 1;
border-radius: 100%;
width: 20px;
height: 20px;
line-height: 20px;
}
.rzf-readmore input {display: none;}
.rzf-readmore .rzf-readmore-container {
overflow: hidden;
height: 430px; /* 開く前に見えている部分の高さ */
transition: all 0.1s;
}
.rzf-readmore input:checked + label {
display: none ; /*閉じるボタンは要らないとき*/
display: block; 
}
.rzf-readmore input:checked + label:after {
content: "閉じる";
}
.rzf-readmore input:checked + label:before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f062";
}
.rzf-readmore input:checked ~ .rzf-readmore-container {
height: auto;
padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
transition: all 0.1s;
}

/* リンク */
.rzf-link{
color: #0b318f;
border-bottom: 1px solid;
transition: 0.3s;
}
.rzf-link:hover{
border: none;
opacity: 0.7;
}

/* ボタン */
.rzf-btn{
width: 100%;
max-width: 500px;
margin: 2.5em auto 2em!important;
padding: 0 1em;
box-sizing: border-box;
}
.rzf-btn a, .rzf-btn-grayout{
display: block;
position: relative;
padding: 1.6em 25px 1.6em 5px;
z-index: 100;
text-align:center;
font-size: 1.1em;
font-weight: 600;
line-height: 1.6em;
text-decoration:none!important;
transition: 0.3s;
z-index: 0;
color: #fff!important;
background-color: #0b318f;
border-radius: 3px;
}
.rzf-btn-grayout{
padding: 1.6em 5px;
background-color: #aaa;
}
.rzf-btn a::after, .rzf-bottom-btn ul li a::after {
content: '';
width: 10px;
height: 10px;
border: 0px;
border-top: solid 3px #fff;
border-right: solid 3px #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
top: 50%;
right: 15px;
margin-top: -5px;
transition: 0.3s;
}

.rzf-btn a.rzf-btn-arrow-none:hover, .rzf-bottom-btn ul li a.rzf-btn-arrow-none:hover {
opacity: 1!important;
}
.rzf-btn a.rzf-btn-arrow-none::after, .rzf-bottom-btn ul li a.rzf-btn-arrow-none::after {
content:"";
padding-left: none;
}

.rzf-btn-wrap {
margin-bottom: 2.5em!important;
text-align: center;
}
.rzf-btn-wrap .rzf-btn {margin-bottom: 0.5em!important;}
.rzf-btn-wrap p {margin: 0.3em!important; line-height: 1.4;}
.rzf-btn-wrap p + p {margin: 0.8em!important;}
.rzf-btn-wrap p a {
/*text-decoration: underline;*/
padding: 0 0.2em;
border-bottom: 1px solid;
}
.rzf-btn-wrap p a::after {
content:"＞";
font-family: "Font Awesome 5 Free";
content: '\f105';
font-weight: 900;
padding-left: 0.3em;
}
.rzf-btn-wrap p a:hover {
/*text-decoration: none;*/
border-bottom: none;
}

.rzf-btn-img-maxwidth500{
max-width: 500px!important;
margin: 2.5em auto 2em!important;
padding: 0 1em;
}

.rzf-bottom-btn ul{
display: flex;
flex-wrap: wrap;
align-content:stretch;
}
.rzf-bottom-btn ul li{
width: 50%;
text-align: center;
}
.rzf-bottom-btn ul li:last-child{ width: 100%; }
.rzf-bottom-btn ul li a{
display: block;
width: 100%;
height: 100%;
margin: 0 auto;
padding: 1em 0.8em;
font-size: 1.1em;
font-weight: 600;
color: #fff!important;
border: 1px solid #fff;
background-color: #0b318f;
box-sizing: border-box;
}
.rzf-bottom-btn ul li:last-child a{ padding: 1.4em 0.8em; }

/* 画像用矢印マーク */
.rzf-img-arrow {position: relative;}
.rzf-img-arrow:before {
border-color: transparent transparent rgba(255, 255, 255, 0.9) transparent;
border-style: solid;
border-width: 0 0 20px 20px;
content: "";
position: absolute;
bottom: 5px;
right: 5px;
z-index: 2;
}
@media screen and (min-width: 1200px) {
.rzf-btn, .rzf-btn-img-maxwidth500{
max-width: 800px;
margin: 3em auto 2em!important;
}
.rzf-btn-img-maxwidth500{
max-width: 800px!important;
margin: 3em auto 2em!important;
}
}
@media screen and (min-width: 768px) {
.rzf-img-arrow:before {border-width: 0 0 30px 30px;}
}
@media screen and (max-width: 767px) {
.rzf-btn a{
font-size: 1em;
padding: 1.4em 26px 1.4em 5px;
}
}
@media screen and (max-width: 450px) {
.rzf-img-arrow:before {
bottom: 4px;
right: 4px;
}
}



/* ページ内ナビ */
.rzf-nav{
display: flex;
justify-content: space-between;
flex-wrap: nowrap;
width: 100%;
margin: 0;
text-align: center;
}
.rzf-nav li{
display: flex;
align-items: center;
width: 100%;
border: 1px solid #fff;
}
.rzf-nav li a{
display: block;
width: 100%;
height: 100%;
margin: 0;
padding: 1.0em 0.5em;
font-size: 0.9em;
color: #fff!important;
background-color: #0b318f;
}
.rzf-nav a::after {
content:"▼";
font-family: "Font Awesome 5 Free";
content: '\f0d7';
font-weight: 900;
padding-left: 0.3em;
}
@media screen and (max-width: 767px) {
.rzf-nav{flex-wrap: wrap;}
.rzf-nav li{width: 50%;}
.rzf-nav a{
padding: 0.7em 0.1em!important;
font-size: 0.8em!important;
}
}

/* ページ内ナビ NEW */
.rzf-page-nav, .page-nav{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
grid-gap: 5px /*0*/;
margin-bottom: 5em!important;
}

.rzf-page-nav li, .page-nav li{
font-size: 1.1em;
font-weight: 500;
text-align: center;
line-height: 1.4;
border-left: 2px solid #0B318F;
border-right: 2px solid #0B318F;
border-top: 2px solid #0B318F;
border-radius: 3px 3px 0 0 / 3px 3px 0 0;
word-break: break-all;
letter-spacing: 0;
}
.rzf-page-nav li a, .page-nav li a{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
min-height: 3em;
text-decoration: none;
}
.rzf-page-nav li a span, .page-nav li a span{
display: flex;
justify-content: center;
align-items: center;
align-content: center;
width: 100%;
height: 100%;
min-height: 3em;
padding: 0.5em;
}
.rzf-page-nav li a::after, .page-nav li a::after{
display: block;
font-family: "Font Awesome 5 Free";
content: '\f078';
font-weight: 900;
color: #fff;
background-color: #0B318F;
width: 100%;
padding: 2px;
box-sizing: border-box;
margin-top: auto;
}
.rzf-page-nav li a:hover, .page-nav li a:hover{
background-color: #0B318F;
color: #fff!important;
opacity: 1!important;
transition: 0.3s;
}
@media screen and (max-width: 767px) {
.rzf-page-nav, .page-nav{
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
grid-gap: 5px 3px;
}
.rzf-page-nav li, .page-nav li{font-size: 0.9em;}
.rzf-page-nav li a span ,.page-nav li a span{
/*min-height: 2em;*/
padding: 0.3em 0.5em;
}
.rzf-page-nav li a::after, .page-nav li a::after{padding: 0;}
}


/* ページフッター用 ナビゲーションボタン */
.rzf-footerarea, .rzf-footeraria {}
.rzf-footerarea img, .rzf-footeraria img{vertical-align: bottom;}
.rzf-footerarea section, .rzf-footeraria section {margin-bottom: 0!important;}
.rzf-footerarea a, .rzf-footeraria a{
transition: opacity .2s;
-webkit-transition: opacity .2s;
}
.rzf-footerarea a:hover, .rzf-footeraria a:hover{
opacity: .7;
}
.rzf-footerarea .rzf-flex-layout, .rzf-footeraria .rzf-flex-layout{
max-width: 1700px;
margin: 0 auto;
}

p.rzf-icon-btn-title{
width: 100%;
display: block;
margin-bottom: 0.5em!important;
padding: 0.4em 0.3em 0.3em 0.5em;
font-size: 1.2em;
font-weight: 600;
text-align: left;
border-left: 7px solid;
border-top: 2px solid;
color: #0B318F;
}
.rzf-icon-btn{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
grid-auto-rows: auto;
grid-gap: 7.5px;
margin: 0 0 15px!important;
text-align: center;
border: 15px solid #0b318f;
padding: 0.5em;
}
.rzf-icon-btn li{
width: 100%;
font-weight: 500;
}
.rzf-icon-btn li a{
display: block;
width: 100%;
height: 100%;
padding: 1.5em 0.5em;
color: #fff!important;
background-color: #0b318f;
}
.rzf-icon-btn li p{
margin: 0!important;
text-align: center!important;
line-height: 1.4;
}
.rzf-icon-btn li img{
width: 80px;
height: auto;
margin-bottom: 1em;
}

/* 画像用矢印マーク */
.rzf-icon-btn li {position: relative;}
.rzf-icon-btn li:before {
border-color: transparent transparent #fff transparent;
border-style: solid;
border-width: 0 0 25px 25px;
content: "";
position: absolute;
bottom: 5px;
right: 5px;
z-index: 2;
}

@media print, screen and (max-width: 450px){
p.rzf-icon-btn-title{padding: 0.2em 0.2em 0.1em 0.4em;}
.rzf-icon-btn{
grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
grid-gap: 5px;
margin: 0 0 10px!important;
border: 10px solid #0b318f;
padding: 0.4em;
}
.rzf-icon-btn li a{padding: 1.0em 0.2em;}
.rzf-icon-btn li p{
font-size: 0.68em;
line-height: 1.2;
}
.rzf-icon-btn li img{
width: 40px;
margin-bottom: 0.5em;
}
.rzf-icon-btn li:before {
border-width: 0 0 12px 12px;
bottom: 4px;
right: 4px;}
}


/* お問い合わせ用 */
.contact-info{margin-top: 2.0em;}
.contact-info p{
margin: 0 !important;
padding: 0.5em 0.7em;
font-size: 1.2em;
color: #fff!important;
background-color: #0b318f;
}
.contact-info ul{
margin: 0!important;
padding: 1.0em;
border: 1px solid #0b318f;
}
.contact-info ul strong{
line-height: 2.0;
}
.contact-info .rzf-btn{
margin: 1.2em auto 0.5em!important;
padding: 0;
max-width: 800px;
}
.contact-info .rzf-btn a{
padding: 0.8em 25px 0.8em 5px;
color: #0b318f!important;
background-color: #fff;
border: 1px solid;
}
.contact-info .rzf-btn a::after{
border-top: solid 3px #0b318f;;
border-right: solid 3px #0b318f;;
}
.contact-info .rzf-btn a:hover{
color: #fff!important;
background-color: #0b318f;
border: 1px solid #0b318f;
opacity: 1!important;
}
.contact-info .rzf-btn a:hover::after{
border-top: solid 3px #fff;
border-right: solid 3px #fff;
}

/* 注意事項用文字 */
.rzf-cautiontext, p.rzf-cautiontext, .news-article .second-body .body p.rzf-cautiontext {
font-size: 0.85em!important;
text-indent: -1em;
padding-left: 1em;
margin-bottom: 0.7em!important;
line-height: 1.4!important;
}
.rzf-cautiontext i, p.rzf-cautiontext i, .list-mark i {
text-indent: 0;
}
.rzf-cautiontext-wrap .rzf-cautiontext, .rzf-cautiontext-wrap p.rzf-cautiontext {
margin-bottom: 0!important;
}

/* 目立たせ用ボックス */
.rzf-textbox{
position: relative;
margin: 1em 0;
padding: 0.5em 1em 0em 1em;
border: 2px solid #ccc;
text-align: left;
}
.rzf-textbox:has(.rzf-textbox-title){
padding-top: 2.8em;
border-color: #0B318F;
}
.rzf-textbox-title{
font-size: 1.1em;
position: absolute;
top: 0;
left: 0;
background-color: #0B318F;
color: #fff;
font-weight: 600;
border-radius: 0 0 2px 0;
padding: 4px 6px 6px;
line-height: 1.4;
}
.rzf-textbox:has(.rzf-textbox-title).rzf-textbox-caution{border-color: #F388B6;}
.rzf-textbox-caution > .rzf-textbox-title{background-color: #F388B6;}
.rzf-textbox-caution > .rzf-textbox-title::before{
font-family: "Font Awesome 5 Free";
content: '\f071';
font-weight: 900;
margin-right: 5px;
}
.rzf-textbox:has(.rzf-textbox-title).rzf-textbox-info{border-color: #69B1DF;}
.rzf-textbox-info > .rzf-textbox-title{background-color: #69B1DF;}
.rzf-textbox-info > .rzf-textbox-title::before{
font-family: "Font Awesome 5 Free";
content: '\f05a';
font-weight: 900;
margin-right: 5px;
}
.rzf-textbox:has(.rzf-textbox-title).rzf-textbox-point{border-color: #5ECC5D;}
.rzf-textbox-point > .rzf-textbox-title{background-color: #5ECC5D;}
.rzf-textbox-point > .rzf-textbox-title::before{
font-family: "Font Awesome 5 Free";
content: '\f304';
font-weight: 900;
margin-right: 5px;
}
.rzf-textbox p{
margin-bottom: 0.5em!important;
text-align: justify;
}

/* 左寄せセンター */
p.rzf-centerleft{
display: table;
margin-left: auto!important;
margin-right: auto!important;
text-align: left!important;
}

.rzf-border-cont {
border: 1px solid #0B318F;
margin-top: 1.5em;
padding: 0 0.7em;
}
.rzf-border-cont h2{
border: none;
margin-top: 0.5em!important;
background-color: #0B318F;
color: #fff!important;
}
.rzf-border-cont h2 span{font-size: 0.8em; }
.rzf-bg-cont {
background-color: #eee;
margin-top: 1.5em;
padding: 0 0.7em;
}


/* プロフィール用左右分割 */
.rzf-profile {
margin: 1em 0 2em!important;
}
.rzf-profile .rzf-profile-img{
width: 25%;
max-width: 400px;
}
.rzf-profile .rzf-profile-img img{width: 100%}
@media screen and (max-width: 640px) {
.rzf-profile .rzf-profile-img{
width: 100%;
max-width: inherit;
margin-bottom: 0.8em;
}
.rzf-profile .rzf-profile-img img{max-width: 200px;}
}
.rzf-profile .rzf-profile-text{
width: calc(100% - 25% - 15px);
}
p.rzf-profile-name, h3.rzf-profile-name{
font-size: 1.1em;
font-weight: 600;
margin: 0!important;
margin-bottom: 0.2em!important;
padding: 0.5em 0.8em;
color: #fff!important;
background-color: #555;
border: none;
}
.rzf-profile-text .school-list{margin: 0 !important;}

/* ポップアップ
------------------------------------------------------------*/
.mfp-bg {
opacity: 0;
-webkit-transition: all 0.15s ease-out;
-moz-transition: all 0.15s ease-out;
transition: all 0.15s ease-out;
z-index: 9999998;
}
.mfp-bg.mfp-ready {opacity: 0.8;}
.mfp-bg.mfp-removing {opacity: 0;}
.mfp-wrap .mfp-content {
opacity: 0;
-webkit-transition: all 0.15s ease-out;
-moz-transition: all 0.15s ease-out;
transition: all 0.15s ease-out;
}
.mfp-wrap.mfp-ready .mfp-content {opacity: 1;}
.mfp-wrap.mfp-removing .mfp-content {opacity: 0;}

.mfp-wrap{
overflow: hidden auto;
z-index: 9999999;
}
.mfp-container{
padding: 60px 2%;
padding: 0 2%;
}
/*.mfp-content {width: auto !important;}*/

.inline-modal {
position: relative;
max-width: 900px;
min-width: 250px;
/*min-width: 60vw;*/
margin:5em auto 5em;
padding: 3em 2em 1.5em;
text-align:center;
background-color: #fff;
color: #555;
}
.inline-modal a {
color: var(--primary-color);
text-decoration: underline;
transition: 0.2s;
}
.inline-modal a:hover{opacity: 0.7;}
.popup-modal > img {
max-width: 300px!important;
height: auto;
}

.popup-modal > p {
margin-top: 0.5em;
line-height: 1.4!important;
text-align: justify;
}
.mfp-content p {
text-align: justify!important;
}
.inline-modal > h1, .inline-modal > h2, .inline-modal > h3/*, .inline-modal > h4, .inline-modal > h5*/{
margin-top: 0!important;
}
.inline-modal .image img {height:auto;}

.mfp-close-btn-in .mfp-close {color: #fff!important;}
.inline-modal .mfp-close {
right: -15px !important;
top: -50px !important;
}

.popup-modal-dismiss{margin-top: 2em;}
.popup-modal-dismiss a{
color: var(--primary-color);
font-size: 2.5em;
transition: 0.2s;
}
.popup-modal-dismiss a:hover{opacity: 0.7;}

.mfp-wrap .gallery-arrow{
position: absolute;
top: 50%;
margin-top: -50px;
/*background-color: var(--primary-color);*/
display: block;
/*width: 15px;*/
padding: 0.3em;
/*border: 1px solid #fff;*/
font-size: 2em;
text-align: center;
line-height: 30px;
cursor: pointer;
z-index: 10000000;
opacity: 0.8;
transition: 0.2s;
}
.mfp-wrap .gallery-arrow-left{
left: 0;
border-left: none;
}
.mfp-wrap .gallery-arrow-right{
right: 0;
border-right: none;
}
.mfp-wrap .gallery-arrow-left:before, .mfp-wrap .gallery-arrow-right:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
color: #fff;
opacity: 1;
}
.mfp-wrap .gallery-arrow-left:before{content: "\f053";}
.mfp-wrap .gallery-arrow-right:before{content: "\f054";}
.mfp-wrap .gallery-arrow:hover{opacity: 1;}

@media screen and (max-width: 450px) {
.inline-modal {padding: 2em 1.2em 0.5em;}
.mfp-wrap .gallery-arrow{
margin-top: -40px;
padding: 0.2em;
font-size: 1.6em;
}
}

/* 画像スライド
------------------------------------------------------------*/
.rzf-loop-slide-wrapper {
display: flex; 
overflow: hidden;
}
.rzf-loop-slide {
animation: scroll-left 40s infinite linear .10s both;
display: flex; 
}
.rzf-loop-slide-reverse {
animation: scroll-right 40s infinite linear .10s both;
display: flex;
/*  flex-direction: row-reverse;*/
}
.rzf-loop-slide li { width: calc(100vw / 5); }
.rzf-loop-slide li img {
display: block;
width: 100%;
}
@keyframes scroll-left {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
@keyframes scroll-right {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}

@media screen and (max-width: 767px) {
.rzf-loop-slide li { width: calc(100vw / 3.8); }
}
@media screen and (max-width: 450px) {
.rzf-loop-slide li { width: calc(100vw / 3.2); }
/*.rzf-loop-slide-wrapper {
  margin-top: -2.5em;
}*/
}