@charset "UTF-8";
/* ######################################################################################

　基本設定

###################################################################################### */

@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600&family=Noto+Sans+JP:wght@400;500;600;700;900&family=Noto+Sans+SC:wght@400;700;900&display=swap";
:root {
  --font-base: "Noto Sans JP", sans-serif;
  --font-barlow: "Barlow Condensed";
  --font-noto-simplified-chinese: "Noto Sans SC";
  --normal: 400;
  --regular: 400;
  --medium: 500;
  --semi-bold: 600;
  --bold: 700;
  --black-bold: 900
}

}
:root {
  --md-header-height-default: 120px;
  --md-header-height: var(--md-header-height-default);
  --sm-header-height: 70px;
  --sm-header-sub-nav-height: 42px;
  --sm-local-nav-height: 45px;
  --sm-header-max-height: calc(var(--sm-header-height) + var(--sm-header-sub-nav-height));
  --content-max-width: 2560px;
  --md-content-width: 1280px;
  --md-side-margin: 80px;
  --md-side-margin-ratio: min(calc(80 / 1500 * 100vw), 80px);
  --sm-side-margin: 20px;
  --md-sidebar-width: 400px
} /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%
}

:root {
    --primary: #088533;
    --primary-light: #F2FAF4;
    --primary-local-nav: var(--bg-dark-gray);
    --primary-hover: #026B27;
    --text: #333;
    --text-gray: #999;
    --black: #000;
    --black-rgb: 0 0 0;
    --black-hover: #464849;
    --white: #fff;
    --white-rgb: 255 255 255;
    --bg-gray: #ebeeee;
    --bd-gray: rgb(0 0 0 / .1);
    --bd-gray-hex: #e6e6e6;
    --bg-semi-dark-gray: #d9dede;
    --bg-dark-gray: #464849;
    --bg-dark-gray-rgb: 70 72 73;
    --bd-dark-white: rgb(255 255 255 / .2);
    --link: #1c89a6;
    --link-hover: #1c89a6;
    --link-visited: #1c89a6;
    --placeholder-color: #999999;
}

/* ====================================================
  印刷対応
==================================================== */
@media print{
.header,
.headerBar{position: inherit!important;}
.header .sns,
.headerBar{display: none!important;}
#ContentsBase {  padding-top: 10px!important;   }
}
/* ====================================================
  ベースフォントサイズ
==================================================== */
html{font-size:10px}
body {font-size:1.6rem;}
@media screen and (max-width: 767px) {
html{font-size:10px}
body {font-size:1.5rem;}
}
@media screen and (min-width: 768px) {
html{font-size:10px}
body {font-size:1.5rem;}
}
@media screen and (min-width: 992px) {
html{font-size:10px}
body {font-size:1.6rem;}
}
@media screen and (min-width: 1200px) {
html{font-size:10px}
body {font-size:1.6rem;}
}

/* ====================================================
　共通設定（書体等）
==================================================== */
body {
	font-family: "Noto Sans JP",Arial,"游ゴシック Medium", "YuGothic Medium", "游ゴシック", YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino kaku Gothic ProN", "メイリオ", sans-serif;
    line-height: 1.8;
   
}

/* ====================================================
　多言語　english .en
==================================================== */
body.en {
    color: #111111;
    font-family: Osaka,"游ゴシック Medium", "YuGothic Medium", "游ゴシック", YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino kaku Gothic ProN", "メイリオ", sans-serif;
    line-height: 1.75;
    text-rendering: optimizeLegibility;
}

body.en p {margin: 0 0 1.5em; line-height: 1.8;}
body.en .parts__mail {font-size:1.6rem;}

/* ====================================================
　多言語　tcn .tcn
==================================================== */
body.tcn {
    color: #111111;
    font-family: -apple-system, "BlinkMacSystemFont", "Noto Sans TC", sans-serif;
    line-height: 1.75;
    text-rendering: optimizeLegibility;
}
body.tcn p {margin: 0 0 1.5em; line-height: 1.8;}
body.tcn .parts__mail {font-size:1.6rem;}

/* ====================================================
　多言語　scn .scn
==================================================== */
body.scn {
    color: #111111;
    font-family: -apple-system, "BlinkMacSystemFont", "Noto Sans SC", sans-serif;
    line-height: 1.75;
    text-rendering: optimizeLegibility;
}
body.scn p {margin: 0 0 1.5em; line-height: 1.8;}
body.scn .parts__mail {font-size:1.6rem;}


.sans-serif {font-family: Arial,"游ゴシック Medium", "YuGothic Medium", "游ゴシック", YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino kaku Gothic ProN", "メイリオ", sans-serif;}
.serif {    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝B", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;}
.oswald{font-family: 'Oswald', sans-serif; font-weight: 500;}
p {margin: 0 0 1.5em; line-height: 1.8;}
.mg0{margin: 0;}
a {
    color: #009935;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
a:hover{text-decoration: none;}

a.linkcolorPurple{color: #833C9D;}
a.linkcolorGray{color: #888888;}

area{border:none; outline:none;}

span.bold{font-weight: bold;}
span.red{color: #fe0000;}
span.green{color: #009935;}
span.underLine{text-decoration: underline;}
span.italic{font-style: italic;}


.alignL { text-align: left !important; }
.alignC { text-align: center !important; }
.alignR { text-align: right !important; }


@media screen and (max-width: 767px) {
    .alignLSp { text-align: left !important;}
}

.debug,
.debug * {/* display:none;*/
    font-family: verdana !important;
    font-size:12px !important;
}

img{max-width: 100%; height: auto;}


@media print, screen and (min-width: 768px) {
/* PCのリンク色無効 */
.pcEnable {color:#111;}
}

/* ######################################################################################

　枠設定

###################################################################################### */
.clearfix:after{
    content: "";
    display: block;
    clear: both;
}

@media print, screen and (min-width: 768px) {
	#ContentsBase { overflow: hidden; min-width: 1260px;}
    body{min-width: 1260px; position: relative;}
    .contents{width: 1260px; margin: 0 auto; padding: 0 0 0 40px; }
    .pageIndex .mainColumn .contents{width: 1400px!important; max-width: 100%; padding-left: 20px; padding-right: 20px;}
	.main { width: 980px;}

    .mainColumn{
        width: calc(100% - 180px);
        height: auto !important;
        padding-right: 40px;
        padding-left: 0px;
        max-width: 980px;
        margin-left: 0;
        margin-right: auto;
    }
    .pageIndex .mainColumn{
        max-width: 100%;
    }

    .pageContents{
        position: relative;
        padding-top: 0;
        margin-top: 60px;
    }
    .pageContents > .contents{display: flex;}
    .main .section{margin-bottom: 5em;}
}

@media print, screen and (min-width: 1300px) {
    .mainColumn{padding-right: 40px; padding-left: 0;}
}
@media screen and (max-width: 767px) {
	.subColumn{background: #f5f5f5;}
    .contents{padding: 0 15px;}
    #ContentsBase{padding-top: 68px;}

	.subColumn{   padding-top: 40px;  border-top: solid 1px #ddd; margin-left: -15px;margin-right: -15px;}
    .pageIndex .subColumn{margin-left: 0;margin-right: 0;}
	.subColumn img{max-width: 220px; height: auto;}

    .pageContents{padding-bottom: 2em;}
    .main .section{margin-bottom: 3em;}
}



/* ※subColumn　協賛企業ロゴ非表示（表示する場合は以下のcssをコメントアウト）
.subColumn{display: none!important;}
.mainColumn{width: 100%!important;} */

/* トップだけテスト環境表示*/
/* .pageIndex .subColumn{display: none!important;}*/




/* ######################################################################################

    ヘッダートップ　ナビゲーション（headerBar/pcのみ）

###################################################################################### */

@media print, screen and (min-width: 768px) {

    /* 共通
    -------------------------------------*/
    .headerBar{text-align: right; min-width: 800px;}
    .headerBar,.headerBar ul{font-size: 0;}
    .headerBar ul,.headerBar ul li{display: inline-block;}
    .headerBar ul li a{
        text-decoration: none;
        color: #fff;
        padding: 11px 22px;
        font-size: 1.1rem;
        display: block;
        line-height: 1.2;
    }

    /* | (区切り線・まっすぐ) */
    .headerBar .utilityNav li{border-left: 1px solid #007b36;}
	.headerBar .languageNav li{border-left: 1px solid #000000;}
	.headerBar .partnerNav li{border-right: 1px solid #007b36; width: 160px;}

    /*  .utilityNav (お知らせ・お問い合わせ)
    -------------------------------------*/
    .headerBar .utilityNav li a{background-color: #009935; position: relative; font-size: 1.2rem;}
    .headerBar .utilityNav li a:hover{background-color:#58B75A;}

    /* 　.languageNav 言語
    -------------------------------------*/
    .headerBar .languageNav li{position: relative; background-color: #404040;}
    .headerBar .languageNav li a{font-size: 1.2rem;}
    .headerBar .languageNav li a:hover{opacity: 0.7; background-color:#666666;}
}

/* ######################################################################################

    ヘッダー

###################################################################################### */
@media print, screen and (min-width: 768px) {
    .header{background-color: #fff;  width: 100%; min-width: 1420px; border-bottom: 1px solid #f4f4f4;z-index: 10; }
	.headerBar .contents{width: auto; padding-left: 0; }
	.header .header_contents{
		/*display: flex;*/
    	justify-content: space-between;
    	flex-wrap: wrap;
		width: calc(100% - 80px);
		margin-bottom: 20px;
	}
	.header .logo{ margin-left: 30px;}


	.en .header .gnav,
	.tcn .header .gnav,
	.scn .header .gnav{}



}
@media screen and (max-width: 767px) {
	.header{padding: 14px 0 3px; background-color: #ffffff!important; }
	.header .logo{float: left; margin-left: 15px; }
    .header .logo img{width: 260px; height: auto;}
}


/* ######################################################################################

    gnav(pc)

###################################################################################### */
@media print, screen and (min-width: 768px) {
	.header .gnav{display: flex; padding: 10px 30px 0; }
	.en .header .gnav{display: block!important; padding: 10px 30px 0; }
	.tcn .header .gnav{display: block!important; padding: 10px 30px 0; }
	.scn .header .gnav{display: block!important; padding: 10px 30px 0; }
	.page-id-7127 .header .gnav,
	.page-id-7131 .header .gnav,
	.page-id-7129 .header .gnav{display: block!important; padding: 10px 30px 0; }

    /* 共通
    -------------------------------------*/
    .header .gnav ul li a{text-decoration: none; font-size: 1.8rem;}

    /*　親ナビ
    -------------------------------------*/
	.header .gnav ul{display: flex; flex-wrap: nowrap; align-items: center;}
    .header .gnav > ul > li{position: relative;padding: 0 1.6vw ;}
    .header .gnav > ul > li > a{
        display: block;
        position: relative;
        font-size: 1.8rem;
        font-weight: bold;
        color: #111;
		padding: 20px 0;
        text-align: center;
        line-height: 1.3;
		white-space: nowrap;
    }

	.en .header .gnav > ul > li > a{padding:30px 14px 30px;}
	.tcn .header .gnav > ul > li > a{padding:30px 14px 30px;}
	.scn .header .gnav > ul > li > a{padding:30px 14px 30px;}

    .header .gnav > ul > li > a:hover{background-color: #ffffff; color: #009935;}

	.header .gnav > ul > li:after {
        content: "";
        position: absolute;
        z-index: 1;
        top: 50%;
        right: 0;
        translate: 0 -50%;
        width: 1px;
        height: 50px;
        background-image: url(../img/header/gnav_dotline.png);
        background-repeat: repeat;
		}

	.header .gnav > ul > li:last-child::after {content: none;}


    /*　hover（緑線）*/
    .header .gnav > ul > li > a:after{
        /*content: "";
        background: #009935;
        width: 100%;
        height: 3px;
        position: absolute;
        bottom: 0px;
        left: -100%;
        -webkit-transition: all .2s ease-in-out;
        transition: all .2s ease-in-out;*/
    }
    .header .gnav > ul > li > a:hover:after{left: 0;}

	/*　非アクティブ準備中
    -------------------------------------*/
	    .header-sub-nav__item span.under{
		display: block;
        position: relative;
        font-size: 1.8rem;
        font-weight: bold;
        color: #999;
        padding: 20px 0;
        text-align: center;
        line-height: 1.3;
        white-space: nowrap;
    }

    /*  avtive
    -------------------------------------*/
    .pageInfo        .header .gnav > ul > li.gnav01 > a, /* 募集要項 .gnav01  */
    .pageRunner      .header .gnav > ul > li.gnav02 > a, /* 募集要項 .gnav02  */

	.pageVolunteer   .header .gnav > ul > li.gnav03 > a, /* ボランティア .gnav03  */

    .pageRunningclub .header .gnav > ul > li.gnav04 > a, /* 応援イベント .gnav04  */
	.pageSupport.join .header .gnav > ul > li.gnav04 > a, /* ランニングイベント .gnav04  */
	.pageSupport.facilitymap .header .gnav > ul > li.gnav04 > a, /* ランニングイベント .gnav04  */
    .pageTraffic     .header .gnav > ul > li.gnav05 > a, /* 交通影響 .gnav05  */

	.pageOnline     .header .gnav > ul > li.gnav08 > a, /* オンラインマラソン .gnav08  */

    .pageDonate.en     .header .gnav > ul > li.gnav08 > a, /* Donate .gnav08  */

	.pageRelevant     .header .gnav > ul > li.gnav03 > a,
    .pageFaq           .header .gnav > ul > li.gnav06 > a, /* よくある質問 .gnav06  */
    .pageEnfaq         .header .gnav > ul > li.gnav06 > a, /* よくある質問 .gnav06  */
    .pageScnfaq        .header .gnav > ul > li.gnav06 > a, /* よくある質問 .gnav06  */
    .pageTcnfaq        .header .gnav > ul > li.gnav05 > a /* よくある質問 .gnav05  */

    {color: #009935;}



    /* 子ナビ（プルダウンメニュー）
    -------------------------------------*/
    .header .gnav .gnav-dropdown__list{
		position: absolute;
		left:3px;
		border-radius: 4px;
		box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.18);
		min-width: 270px;
		border: 1px solid #868686;
		border-radius: 6px;
		-moz-border-radius: 6px;
  		-webkit-border-radius: 6px;
		background-color: #ffffff;
		-moz-background-clip: padding;
  		-webkit-background-clip: padding-box;
  		background-clip: padding-box;
		padding: 3px;

	}
	.header .gnav .gnav-dropdown__link {border-bottom: 1px dotted #D3D3D3;display: block; width: 100%;padding-left: 8px;}
	.header .gnav .gnav-dropdown__list li:last-child{border-bottom:none;}

    .header .gnav .gnav-dropdown__link a{
        display: block;
        padding: 12px 5px 12px 25px;
        font-size: 1.4rem;
        color: #000000;
		line-height: 1.3;
		font-weight: bold;
    }

	.header .gnav .icoGreenArrowRight{
		position: relative;
    	padding-left: 25px;
	}
	.header .gnav .icoGreenArrowRight:before{
		content: "";
    	position: absolute;
    	width: 20px;
    	height: 20px;
    	top: 12px;
    	right: 0;
	}
	.header .gnav .icoGreenArrowRight:hover{}

    .header .gnav .gnav-dropdown__link a:hover{color: #009935;}

    /*　hoverでプルダウンメニュー表示　*/
    .header .gnav > ul > li > ul{display: none; z-index: 30;}
    .header .gnav > ul > li:hover > ul{display: block;}
}

@media screen and (max-width: 769px) {/* PC：～1000px */
	.header .gnav { display: none;}
	.sidebar{display: none;}
}

.header .gnav .gnav01,
.header .gnav .gnav02,
.header .gnav .gnav04,
.header .gnav .gnav05,
.header .gnav .gnav06{}

.header .gnav .gnav03{width: 55%;}

.en .header .gnav .gnav03,
.tcn .header .gnav .gnav03,
.scn .header .gnav .gnav03,
.page-id-7127 .header .gnav .gnav03,
.page-id-7131 .header .gnav .gnav03,
.page-id-7129 .header .gnav .gnav03{ width: 20%!important; background:#fff;}

.en .header .gnav .header-sub-nav__item,
.tcn .header .gnav .header-sub-nav__item,
.scn .header .gnav .header-sub-nav__item,
.page-id-7127 .header .gnav .header-sub-nav__item,
.page-id-7131 .header .gnav .header-sub-nav__item,
.page-id-7129 .header .gnav .header-sub-nav__item{width: 20%!important;}

/* みんなが主役メニューここから
-------------------------------------*/
.header .gnav .syuyaku{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    background: #F2FAF4;
    text-align: center;
    padding: 0 1.5em;
    max-width: 970px;
}
.header .gnav .syuyaku:before,
.header .gnav .syuyaku:after{
    content: "";
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    width: 1px;
    height: 50px;
    background-image: url(../img/header/gnav_dotline.png);
    background-repeat: repeat;
}
.header .gnav .syuyaku:before{right: auto; left: 0;}
.header .gnav .syuyaku__text{width: 100%;padding: 0 !important;}
.header .gnav .syuyaku__text:after{display: none;}
.header .gnav .syuyaku__text h4{font-size: 22px; margin: -15px auto 5px; color: var(--primary); font-weight: var(--black-bold); letter-spacing: 0.1em;}
.header .gnav .syuyaku__text p{font-size: 11px;margin: 0 auto 3px;}

.header .gnav .syuyaku .header-sub-nav__item{width: 25%; padding: 0 0.25vw;}
.header .gnav .syuyaku .header-sub-nav__item:after{display: none;}
.header .gnav .syuyaku .header-sub-nav__item > a.header-sub-nav__link{
    display: block;
    background: #fff;
    border:solid 1px #088533;
    border-radius: 4px;
    padding: 8px;
    font-size: 1.5rem;
    color: #000;
    font-weight: bold;
    line-height: 1.2;
}
.header .gnav .syuyaku .header-sub-nav__item > span.under{
    display: block;
    background: #fff;
    border:solid 1px #088533;
    border-radius: 4px;
    padding: 8px;
    font-size: 1.5rem;
    color: #999;
    font-weight: bold;
    line-height: 1.2;
}
.header .gnav .syuyaku .header-sub-nav__item > a.header-sub-nav__link span,
.header .gnav .syuyaku .header-sub-nav__item > span.under span{font-size: 12px; display: block;}
.header .gnav .syuyaku .header-sub-nav__item > a.header-sub-nav__link:hover{color: var(--white); background: var(--primary);}



/* みんなが主役子ナビ（プルダウンメニュー）
-------------------------------------*/
.header .gnav .syuyaku .gnav-dropdown__list{
    flex-direction: column;
    /* display: none; */
    z-index: 30;
}
.header .gnav .syuyaku .gnav-dropdown__list > li{position: relative; width: 100%;}
.header .gnav .syuyaku .gnav-dropdown__list > li > a{
    display: block;
    padding: 12px 5px 12px 25px;
    font-size: 1.4rem;
    color: #000000;
    line-height: 1.3;
    font-weight: bold;
    padding-left: 0;
    text-align: left;
}
.header .gnav .syuyaku .gnav-dropdown__list > li > a:hover{
    color: #009935;
}
.header .gnav .syuyaku .gnav-dropdown__list > li > span{
    display: block;
    padding: 12px 5px 12px 25px;
    font-size: 1.4rem;
    color: #999;
    line-height: 1.3;
    font-weight: bold;
    padding-left: 0;
    text-align: left;
}
.header .gnav .syuyaku .gnav-dropdown__list > li .icoGreenArrowRight{
    position: relative;
}
.header .gnav .syuyaku .gnav-dropdown__list > li .icoGreenArrowRight:before{
    position: absolute;
    right: 0.75em;
    left: auto;
    background-image: url(../img/contents/share/ico-greenArrow-hover.svg);
}

/* header sidebar ここから
-------------------------------------*/
@media screen and (max-width: 767px) {
	.sidebar {display: none;}
}

.sidebar {
  position: fixed;
  top: 0;
  right: 0;
  width: 80px;
  z-index: 9999;
  margin-top: 0;
  transition: z-index 0s .2s, margin .2s, height .2s;
  box-sizing: border-box;
}
html:is(.is-show-sidebar-nav, .is-show-sidebar-news, .is-show-sidebar-language) .sidebar {
  z-index: 40;
  transition: z-index 0s, margin .2s, height .2s
}
html.is-urgent-news-close .sidebar { --urgent-news-height: 0px;}
.sidebar:before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  z-index: -1;
  transition: background-color .1s .3s;
}
html:is(.is-show-sidebar-nav, .is-show-sidebar-search, .is-show-sidebar-language) .sidebar:before {
  background-color: var(--white);
  transition: background-color .1s
}
.sidebar:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 1px;
  background-color: var(--bd-gray);
  opacity: 0
}
html:is(.is-show-sidebar-nav, .is-show-sidebar-language) .sidebar:after {
  opacity: 1
}
@media print, screen and (min-width: 1201px) {
  .sidebar {
    display: grid;
  }
}
@media screen and (min-width: 2561px) {
  .sidebar {
    right: calc((100vw - 2560px) / 2 - var(--scrollbar-width) / 2);
  }
}
.sidebar__utility {
  width: 100%;
  margin: auto 0 min(8vh - 27px, 40px)
}

.sidebar__language {
 visibility: hidden;
  position: fixed;
  top: 0px;
  right: 80px;
  height: 206px;
  background-color: var(--white);
  overflow: hidden;
  z-index: -2;
  translate: 150% 0;
  transition: translate .3s .1s, visibility 0s .4s, height .2s, top .2s;
  border: 1px solid #DEDEDE;
}
.sidebar__nav {
 visibility: hidden;
  position: fixed;
  top: 0;
  right: 80px;
  height: calc(100svh - var(--urgent-news-height, 0px));
  background-color: var(--primary);
  overflow: hidden;
  z-index: -2;
  translate: 150% 0;
  transition: translate .3s .1s, visibility 0s .4s, height .2s, top .2s
}
.sidebar__nav { width: 90%;}
.sidebar__language {  width: 200px;}

html:is(.is-show-sidebar-nav) .sidebar__nav {
  translate: 0 0;
  visibility: visible;
  transition: translate .3s .1s, visibility 0s, height .2s, top .2s
}
html:is(.is-show-sidebar-language) .sidebar__language {
  translate: 0 0;
  visibility: visible;
  transition: translate .3s .1s, visibility 0s, height .2s, top .2s
}
.sidebar__language {
  padding: 0;
  box-sizing: border-box
}

.common-language-nav__item {
    margin: 0;
    padding: 0;
    text-indent: 0;
    border-bottom: 1px solid var(--bd-gray);
}

.common-language-nav__item:last-child {
  border-bottom: 0
}
.common-language-nav__link {
  text-decoration: none;
  color: var(--black);
  font-weight: var(--bold);
  font-size: 14px;
  line-height: 1.8;
  height: 50px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  box-sizing: border-box;
  transition: opacity .2s
}
.common-language-nav__link:hover {
  opacity: .6;
 background: #F2FAF4;

}







html:is(.is-show-sidebar-course) .sidebar__course {
  translate: 0 0;
  visibility: visible;
  transition: translate .3s .1s, visibility 0s, height .2s, top .2s
}
.sidebar-overlay {
  display: none;
  position: fixed;
  top: var(--urgent-news-height, 0px);
  left: 0;
  width: calc(100% - var(--md-side-margin));
  height: calc(100dvh - var(--urgent-news-height, 0px));
  background-color: rgb(var(--black-rgb)/.8);
  z-index: 35;
  visibility: hidden;
  opacity: 0;
  transition: opacity .3s .1s, visibility .3s .1s, height .2s, top .2s
}
@media print, screen and (min-width: 1201px) {
  .sidebar-overlay {
    display: block
  }
}
@media print, screen and (min-width: 1201px) {
  html:is(.is-show-sidebar-nav, .sidebar__language, .is-show-sidebar-news, .is-show-sidebar-course) .sidebar-overlay {
    opacity: 1;
    visibility: visible;
    transition: opacity .3s, visibility .3s, height .2s, top .2s
  }
}
.sidebar-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  background-color: var(--primary);

}

.sidebar-menu {margin-top: -29px;}


.sidebar-menu__item {
  margin: 0;
  padding: 0;
  text-indent: 0;
  position: static
}
.sidebar-menu__item:before {
  content: "";
  display: none;
  width: 48px;
  height: 1px;
  border-radius: 0;
  background-color: var(--white);
  opacity: .5;
  position: static;
  margin: 0 auto
}
.sidebar-menu__item + .sidebar-menu__item:before {
  display: block
}
.sidebar-menu__link {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: 0;
  background-color: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  height: 90px;
  color: var(--white);
  text-decoration: none;
  position: relative;
  box-sizing: border-box;
  transition: height .2s
}
.sidebar-menu__link:before {
  content: "";
  width: 100%;
  height: 0;
  background-color: var(--primary-hover);
  position: absolute;
  bottom: 0;
  left: 0;
  transition: height .3s
}
.sidebar-menu__link:hover:before, .sidebar-menu__link._current:before {
  height: 100%
}
.sidebar-menu__link._nav {
  height: var(--md-header-height)
}

html.is-show-sidebar-language .sidebar-menu__link._language:before {
  height: 100%
}
.sidebar-menu__icon {
  width: 24px;
  height: 24px;
  position: relative;
  color: var(--white);
  fill: #fff;
}
.sidebar-menu__icon._close {
  width: 24px;
  height: 24px;
  padding: 5px;
  display: none;

}


html.is-show-sidebar-language .sidebar-menu__icon._language {
  display: none;
}
html.is-show-sidebar-language .sidebar-menu__icon._language + ._close {
  display: block;
}
@media screen and (max-height: 640px) {
  .sidebar-menu__icon._vh-md-only {
    display: none;
  }
}
.sidebar-menu__text {
  font-size: 12px;
  line-height: 2;
  font-weight: var(--bold);
  position: relative
}
@media screen and (max-height: 640px) {
  .sidebar-menu__text._vh-md-only {
    display: none;
  }
}
.sidebar-utility {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: min(5vh - 19px, 24px)
}
.sidebar-utility__item {
  margin: 0;
  padding: 0;
  text-indent: 0;
  font-size: 12px;
  line-height: 1.1;
  position: static;
  --sidebar-utility-text-color: var(--black);
  --sidebar-utility-hover-text-color: rgb(var(--black-rgb) / .6)
}
.sidebar-utility__item:before {
  display: none;
  }
.sidebar-utility__item._white {
  --sidebar-utility-text-color: rgb(var(--white-rgb) / .7);
  --sidebar-utility-hover-text-color: var(--white)
}
html:is(.is-show-sidebar-nav, .is-show-sidebar-search, .is-show-sidebar-language) .sidebar-utility__item {
  --sidebar-utility-text-color: var(--black);
  --sidebar-utility-hover-text-color: rgb(var(--black-rgb) / .6)
}
.sidebar-utility__link {
  writing-mode: vertical-rl;
  white-space: nowrap
}
.sidebar-utility__button {
  justify-content: center
}
.sidebar-utility__button span {
  writing-mode: vertical-rl;
  white-space: nowrap
}
.sidebar-utility__link, .sidebar-utility__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: var(--sidebar-utility-text-color);
  text-decoration: none;
  width: 100%;
  display: flex;
  align-items: center;
  font-weight: var(--medium);
  transition: color .2s
}
.sidebar-utility__link:hover, .sidebar-utility__button:hover {
  color: var(--sidebar-utility-hover-text-color)
}
.sidebar-hamburger {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: 0;
  background-color: var(--primary);
  color: var(--white);
  font-weight: var(--bold);
  width: 100%;
  height: 90px;
  font-size: 12px;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  position: relative;
  transition: height .2s
}
button.sidebar-hamburger,
button.sidebar-menu__link{
    cursor: pointer;
	height: 90px;
}

.sidebar-hamburger:before {
  content: "";
  width: 100%;
  height: 0;
  background-color: var(--primary-hover);
  position: absolute;
  bottom: 0;
  left: 0;
  transition: height .3s
}
.sidebar-hamburger:hover:before, html.is-show-sidebar-nav .sidebar-hamburger:before {
  height: 100%
}
.sidebar-hamburger__lines {
  width: 20px;
  height: 14px;
  display: flex;
  align-items: center;
  position: relative
}
.sidebar-hamburger__line {
  width: 20px;
  height: 2px;
  background-color: var(--white);
  display: block;
  margin: 0;
  transition: width .2s
}
.sidebar-hamburger__line:before, .sidebar-hamburger__line:after {
  content: "";
  width: 20px;
  height: 2px;
  background-color: var(--white);
  position: absolute;
  left: 0;
  transition: transform .2s, width .2s
}
.sidebar-hamburger__line:before {
  top: 0
}
.sidebar-hamburger__line:after {
  bottom: 0
}
html.is-show-sidebar-nav .sidebar-hamburger__line {
  background-color: transparent
}
html.is-show-sidebar-nav .sidebar-hamburger__line:before {
  width: 20px !important;
  top: 50%;
  transform: rotate(-45deg)
}
html.is-show-sidebar-nav .sidebar-hamburger__line:after {
  bottom: calc(50% - 2px);
  transform: rotate(-135deg)
}
.sidebar-hamburger:hover .sidebar-hamburger__line {
  width: 13px
}
.sidebar-hamburger:hover .sidebar-hamburger__line:before {
  width: 18px
}
.sidebar-hamburger__text {
  font-size: 12px;
  line-height: 2;
  font-weight: var(--bold);
  position: relative
}
@media screen and (max-height: 640px) {
  .sidebar-hamburger__text {
    display: none;
  }
}
.sidebar-nav {
  height: 100%
}
.sidebar-nav__inner {
  width: 100%;
  position: relative;
  padding: 40px 0 0;
  transition: translate .2s
}
.sidebar-nav__list {
  list-style: none;
  margin: 0;
  padding: 0 24px;
  display: grid;
  width: var(--md-sidebar-width);
  border-top: 1px solid var(--bd-gray);
  box-sizing: border-box
}
.sidebar-nav__item {
  margin: 0;
  padding: 0;
  text-indent: 0;
  position: static;
  border-top: 1px solid var(--bd-gray);
  display: flex;
  gap: 16px
}
.sidebar-nav__item:first-child {
  border-top: 0
}
.sidebar-nav__item:before {
  display: none;
  }
.sidebar-nav__list._2nd .sidebar-nav__item {
  border-top: 0;
  border-bottom: 1px solid var(--bd-gray)
}
.sidebar-nav__link {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--black);
  text-decoration: none;
  width: 100%;
  min-height: min(9.1666666667vh, 80px);
  transition: opacity .2s;
  box-sizing: border-box
}
.sidebar-nav__link:hover {
  opacity: .6
}
.sidebar-nav__link[target=_blank]:after {
  content: "";
  -webkit-mask-image: url(/assets/img/common/icon_external.svg);
  mask-image: url(/assets/img/common/icon_external.svg);
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background-color: var(--black);
  margin: 0 0 0 -8px
}
.sidebar-nav__link[href$=".pdf"]:after {
  content: "";
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  -webkit-mask-image: none;
  mask-image: none;
  background-image: url(../img/contents/ico_pdf2.svg);
  background-color: transparent !important;
  margin: 0 0 0 -8px
}
.sidebar-nav__list._conversion .sidebar-nav__link {
  min-height: min(7.6666666667vh, 60px)
}
.sidebar-nav__list._2nd .sidebar-nav__link {
  color: var(--text)
}
.sidebar-nav__list._2nd .sidebar-nav__link:after {
  background-color: var(--text)
}
.sidebar-nav__list._2nd > .sidebar-nav__item > .sidebar-nav__link {
  font-size: 1rem;
  line-height: 1.8;
  font-weight: var(--medium);
  min-height: min(7.6666666667vh, 60px);
  padding: 4px 0 4px 24px
}
.sidebar-nav__list._3rd > .sidebar-nav__item > .sidebar-nav__link {
  font-size: .875rem;
  line-height: 1.6;
  font-weight: var(--medium);
  min-height: min(6.6666666667vh, 54px);
  padding: 4px 0 4px 24px
}
.sidebar-nav__list._4th > .sidebar-nav__item > .sidebar-nav__link, .sidebar-nav__list._lower > .sidebar-nav__item > .sidebar-nav__link {
  font-size: 12px;
  line-height: 1.6;
  font-weight: var(--medium);
  min-height: min(6.6666666667vh, 50px);
  padding: 4px 0 4px 24px
}
.sidebar-nav__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0
}
.sidebar-nav__title {
  font-size: 1.125rem;
  line-height: 1.8;
  font-weight: var(--medium)
}
.sidebar-nav__list._conversion .sidebar-nav__title {
  font-size: 1rem
}
.sidebar-nav__trigger {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: 0;
  background-color: transparent;
  width: 42px;
  height: auto;
  flex-shrink: 0;
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center
}
.sidebar-nav__trigger:before {
  content: "";
  width: 1px;
  height: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  background-color: var(--bd-gray)
}
.sidebar-nav__trigger:after {
  content: "";
  display: block;
  rotate: 90deg;
  -webkit-mask-image: url(/assets/img/common/icon_arrow_border.svg);
  mask-image: url(/assets/img/common/icon_arrow_border.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 14px;
  height: 14px;
  background-color: var(--black)
}
.sidebar-nav__trigger:hover:after {
  animation: arrow-up .5s
}
.sidebar-nav__lower {
  position: absolute;
  top: 0;
  left: var(--md-sidebar-width);
  width: var(--md-sidebar-width);
  height: 100svh;
  background-color: var(--white);
  visibility: hidden;
  opacity: 0;
  overflow-y: auto;
  overflow-x: hidden;
  transition: opacity .2s, visibility .2s
}
.sidebar-nav__lower._active {
  opacity: 1;
  visibility: visible;
  transition: opacity 0s, visibility 0s
}
.sidebar-nav__lower:has(._active) {
  overflow-y: visible;
  overflow-x: visible
}
.sidebar-nav__back {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0 24px;
  border: 0;
  background-color: transparent;
  font-weight: var(--medium);
  font-size: 1rem;
  line-height: 1.8;
  min-height: 67px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box
}
.sidebar-nav__back:before {
  content: "";
  display: block;
  rotate: -90deg;
  -webkit-mask-image: url(/assets/img/common/icon_arrow_border.svg);
  mask-image: url(/assets/img/common/icon_arrow_border.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 14px;
  height: 14px;
  background-color: var(--black)
}
.sidebar-nav__back:hover:before {
  animation: arrow-up .5s
}
.sidebar-nav__parent {
  border-top: 1px solid var(--bd-gray)
}
.sidebar-nav__parent-link {
  display: flex;
  align-items: center;
  color: var(--black);
  text-decoration: none;
  font-weight: var(--bold);
  font-size: 1.25rem;
  line-height: 1.8;
  padding: 4px 24px;
  min-height: min(7.6666666667vh, 84px);
  box-sizing: border-box;
  transition: opacity .2s
}
.sidebar-nav__parent-link:hover {
  opacity: .6
}
.sidebar-nav__parent._3rd .sidebar-nav__parent-link {
  font-size: 1.125rem;
  min-height: min(7.6666666667vh, 80px);
  font-weight: var(--medium)
}
.sidebar-nav__parent._4th .sidebar-nav__parent-link, .sidebar-nav__parent._lower .sidebar-nav__parent-link {
  font-size: 1rem;
  min-height: min(7.6666666667vh, 77px);
  font-weight: var(--medium)
}
.sidebar-nav__utility {
  border-top: 1px solid var(--bd-gray);
  width: var(--md-sidebar-width)
}
.sidebar-nav__other {
  border-top: 1px solid var(--bd-gray);
  width: var(--md-sidebar-width);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: min(2.3333333333vh, 24px) 20px;
  box-sizing: border-box
}
.sidebar-nav__manaba {
  width: 120px
}
.sidebar-2nd-nav__back {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0 24px;
  border: 0;
  background-color: transparent;
  font-weight: var(--medium);
  font-size: 1rem;
  line-height: 1.8;
  min-height: 67px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box
}
.sidebar-2nd-nav__back:before {
  content: "";
  display: block;
  rotate: -90deg;
  -webkit-mask-image: url(/assets/img/common/icon_arrow_border.svg);
  mask-image: url(/assets/img/common/icon_arrow_border.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 14px;
  height: 14px;
  background-color: var(--black)
}
.sidebar-2nd-nav__back:hover:before {
  animation: arrow-up .5s
}
.sidebar-2nd-nav__parent {
  border-top: 1px solid var(--bd-gray)
}
.sidebar-2nd-nav__parent-link {
  display: flex;
  align-items: center;
  color: var(--black);
  text-decoration: none;
  font-weight: var(--bold);
  font-size: 1.25rem;
  line-height: 1.8;
  padding: 4px 24px;
  min-height: min(7.6666666667vh, 84px);
  box-sizing: border-box;
  transition: opacity .2s
}
.sidebar-2nd-nav__parent-link:hover {
  opacity: .6
}
.sidebar-2nd-nav__list {
  list-style: none;
  margin: 0;
  padding: 0 24px;
  border-top: 1px solid var(--bd-gray)
}
.sidebar-2nd-nav__item {
  margin: 0;
  padding: 0;
  text-indent: 0;
  position: static;
  border-bottom: 1px solid var(--bd-gray);
  display: flex;
  gap: 16px
}
.sidebar-2nd-nav__item:before {
  display: none;
  }
.sidebar-2nd-nav__link {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--black);
  text-decoration: none;
  font-size: 1rem;
  line-height: 1.8;
  font-weight: var(--medium);
  width: 100%;
  min-height: min(7.6666666667vh, 60px);
  padding: 4px 0 4px 24px;
  box-sizing: border-box;
  transition: opacity .2s
}
.sidebar-2nd-nav__link:hover {
  opacity: .6
}
@media print, screen and (min-width: 768px) {
  .sidebar-3rd-nav {
    margin: 0
  }
}
.sidebar-3rd-nav__back {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0 24px;
  border: 0;
  background-color: transparent;
  font-weight: var(--medium);
  font-size: 1rem;
  line-height: 1.8;
  min-height: 67px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box
}
.sidebar-3rd-nav__back:before {
  content: "";
  display: block;
  rotate: -90deg;
  -webkit-mask-image: url(/assets/img/common/icon_arrow_border.svg);
  mask-image: url(/assets/img/common/icon_arrow_border.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 14px;
  height: 14px;
  background-color: var(--black)
}
.sidebar-3rd-nav__back:hover:before {
  animation: arrow-up .5s
}
.sidebar-3rd-nav__parent {
  border-top: 1px solid var(--bd-gray)
}
.sidebar-3rd-nav__parent-link {
  display: flex;
  align-items: center;
  color: var(--black);
  text-decoration: none;
  font-weight: var(--bold);
  font-size: 1.125rem;
  line-height: 1.8;
  padding: 4px 24px;
  min-height: min(7.6666666667vh, 80px);
  box-sizing: border-box;
  transition: opacity .2s
}
.sidebar-3rd-nav__parent-link:hover {
  opacity: .6
}
.sidebar-3rd-nav__list {
  list-style: none;
  margin: 0;
  padding: 0 24px;
  border-top: 1px solid var(--bd-gray)
}
.sidebar-3rd-nav__item {
  margin: 0;
  padding: 0;
  text-indent: 0;
  position: static;
  border-bottom: 1px solid var(--bd-gray);
  display: flex;
  align-items: center;
  gap: 16px
}
.sidebar-3rd-nav__item:before {
  display: none;
  }
.sidebar-3rd-nav__link {
  display: flex;
  align-items: center;
  color: var(--text);
  text-decoration: none;
  font-size: .875rem;
  line-height: 1.6;
  font-weight: var(--medium);
  width: 100%;
  min-height: min(6.6666666667vh, 54px);
  padding: 4px 0 4px 24px;
  box-sizing: border-box;
  transition: color .2s
}
.sidebar-3rd-nav__link:hover {
  color: #999
}

/* snsアイコン
-------------------------------------*/
.header .sns{}
.header .sns ul{display: inline-block; vertical-align: middle;padding: 21px 8px 0;}
.header .sns ul li{float: left; padding: 0 7px 0 0; font-size: 1.2rem;}
.header .sns ul li a img{ width:29px; height:29px!important; }

@media screen and (max-width: 767px) { /* スマホ */
    .header .sns{text-align: center; }
}
/*
@media print, screen and (min-width: 1301px) { /* PC：1200px～

	.header .sns{float: right; margin-left: 30px;}
    .header .sns ul{padding: 15px 10px 0;}
    .header .sns ul li a img{ width:34px; height:34px!important; }

	.header .sns ul li a:hover{opacity: 0.6;}
}*/
@media print, screen and (min-width: 768px) { /* PC：768px～1199px */
   /*   .header .sns{display: none; }*/
}


/* toggle
-------------------------------------*/
@media print, screen and (min-width: 768px) {
    .header .js-nav-trigger{float: right;}

}

	/* トグル
-------------------------------------*/
.g-header__nav__list .item--menu .toggle span:nth-child(1) {width:20px;}
.g-header__nav__list .item--menu .toggle span:nth-child(2) {width:16px;}
.g-header__nav__list .item--menu .toggle span:nth-child(3) {width:18px;}

.g-header__nav__list .item--menu:not(.is-active) .toggle span {background:#000000; transition:all 0.3s ease;}
.g-header__nav__list .item--menu:not(.is-active) a:hover span {background:#8a7314;}
.g-header__nav__list .item--menu:not(.is-active) a:hover span:nth-child(1),
.g-header__nav__list .item--menu:not(.is-active) .toggle span:nth-child(1) {
    transform:translate(0,0);
}
.g-header__nav__list .item--menu:not(.is-active) a:hover span:nth-child(2),
.g-header__nav__list .item--menu:not(.is-active) .toggle span:nth-child(2) {
    transform:translate(0,0);
}
.g-header__nav__list .item--menu:not(.is-active) a:hover span:nth-child(3),
.g-header__nav__list .item--menu:not(.is-active) .toggle span:nth-child(3) {
    transform:translate(0,0);
}
.g-header__nav__list .item--menu.js-nav-trigger.is-active a {background: #F2F2EB;}
.g-header__nav__list .item--menu.is-active .toggle span:nth-child(2),
.mode-pc .g-header__nav__list .item--menu.is-active a:hover .toggle span:nth-child(2) {width:0;}

@media print, screen and (min-width: 768px) {
    .g-header__nav__list .item--menu a,
    .g-header__nav__list .item--menu .toggle {
        width:102px;
        height:102px;
    }
    .g-header__nav__list .item span:before {
        content:"";
        display:inline-block;
        position:absolute;
        bottom:0;
        left:0;
        background:#000000;
        width:0;
        height:1px;
        transition:width ease 0.25s;
    }
    .g-header__nav__list .item--link a:hover span:before,
    .pageIndex .g-header__nav__list .item--link:nth-of-type(1) a span:before,
    .pageNews .g-header__nav__list .item--link:nth-of-type(2) a span:before,
    .pageProfile .g-header__nav__list .item--link:nth-of-type(3) a span:before,
    .pageConcert .g-header__nav__list .item--link:nth-of-type(4) a span:before,
    .pageDiscography .g-header__nav__list .item--link:nth-of-type(5) a span:before,
    .pageEt_cetera .g-header__nav__list .item--link:nth-of-type(6) a span:before,
    .pageFan_club .g-header__nav__list .item--link:nth-of-type(8) a span:before{width:100%;}

    .g-header__nav a {font-size:1.3rem;}
    .g-header__nav__list .item--menu:not(.is-active) a:hover span:nth-child(1),
    .g-header__nav__list .item--menu:not(.is-active) .toggle span:nth-child(1) {margin:46px 26px;}
    .g-header__nav__list .item--menu:not(.is-active) a:hover span:nth-child(2),
    .g-header__nav__list .item--menu:not(.is-active) .toggle span:nth-child(2) {margin:51px 26px;}
    .g-header__nav__list .item--menu:not(.is-active) a:hover span:nth-child(3),
    .g-header__nav__list .item--menu:not(.is-active) .toggle span:nth-child(3) {margin:56px 26px;}
}
@media screen and (max-width: 1139px){
    .item--link {display:none;}
}
@media screen and (max-width: 767px){
    .g-header__nav__list .item--menu {
        width:60px;
        height:60px;
    }
    .g-header__nav__list .item--menu a,
    .g-header__nav__list .item--menu .toggle {
        width:60px;
        height:60px;
        padding:0;
    }
    .g-header__nav a {font-size:1.3rem;}
    .g-header__nav__list .item--menu:not(.is-active) a:hover span:nth-child(1),
    .g-header__nav__list .item--menu:not(.is-active) .toggle span:nth-child(1) {margin:24px 20px;}
    .g-header__nav__list .item--menu:not(.is-active) a:hover span:nth-child(2),
    .g-header__nav__list .item--menu:not(.is-active) .toggle span:nth-child(2) {margin:29px 20px;}
    .g-header__nav__list .item--menu:not(.is-active) a:hover span:nth-child(3),
    .g-header__nav__list .item--menu:not(.is-active) .toggle span:nth-child(3) {margin:34px 20px;}
}


.g-header__nav a.ico span:after ,
.g-nav__inner .g-nav__list .item__upper  a.ico:after {
    content: "";
    display: inline-block;
    margin-left: 0.25em;
    width: 1em;
    height: 1em;
    background-size: 100%;
    background-position: center center;
    background-repeat: no-repeat;
}
.g-header__nav a.ico.store span:after ,
.g-nav__inner .g-nav__list .item__upper a.store:after {
    background-image: url(../img/header/ico_store.svg);
}
.g-header__nav a.ico.fan span:after ,
.g-nav__inner .g-nav__list .item__upper a.fan:after {
    background-image: url(../img/ico_link.svg);
}
@media screen and (max-width: 1139px){
    .item--link {display:none;}
}
@media screen and (max-width: 767px){
    .header .item--menu {
        width:60px;
        height:60px;
    }
    .header .item--menu a,
    .header .item--menu .toggle {
        width:60px;
        height:60px;
        padding:0;
    }
    .header .item--menu:not(.is-active) a:hover span:nth-child(1),
    .header .item--menu:not(.is-active) .toggle span:nth-child(1) {margin:24px 20px;}
    .header .item--menu:not(.is-active) a:hover span:nth-child(2),
    .header .item--menu:not(.is-active) .toggle span:nth-child(2) {margin:29px 20px;}
    .header .item--menu:not(.is-active) a:hover span:nth-child(3),
    .header .item--menu:not(.is-active) .toggle span:nth-child(3) {margin:34px 20px;}
}

/* ######################################################################################

    トップ　PICK UP BAND

###################################################################################### */

.band {
  --band-color: transparent;
  --band-side-margin: calc(var(--sm-side-margin) * -1);
  --band-side-padding: 0;
  --band-side-line-position: calc(var(--sm-side-margin) - 1px);
  background-color: var(--band-color);
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: .1px;
  padding-bottom: .1px;
  padding-left: var(--band-side-padding);
  padding-right: var(--band-side-padding);
  margin-left: var(--band-side-margin);
  margin-right: var(--band-side-margin)
}
@media print, screen and (min-width: 768px) {
  .band {
    --band-side-margin: calc(var(--md-side-margin-ratio) * -1);
    --band-side-line-position: calc(var(--md-side-margin-ratio) - 1px)
  }
}
@media print, screen and (min-width: 1201px) {
  .band {
    --band-side-margin: calc(var(--md-side-margin) * -1);
    --band-side-line-position: calc(var(--md-side-margin) - 1px)
  }
}
.band._dark-gray {
  --band-color: var(--bg-dark-gray);
  --component-bd-color: var(--bd-dark-white);
  position: relative;
  z-index: 1
}
.band._dark-gray:before, .band._dark-gray:after {
  content: "";
  width: 1px;
  background-color: var(--bd-dark-white);
  position: absolute;
  top: 0;
  bottom: 0
}
.band._dark-gray:before {
  left: var(--band-side-line-position)
}
.band._dark-gray:after {
  right: var(--band-side-line-position)
}
.band._gray {
  --band-color: var(--bg-gray);
  --bd-gray-hex: var(--bd-gray)
}
.band._primary {
  --band-color: var(--component-primary-light-color)
}
.band._bg-img01 {
  background-image: url(/assets/img/common/band_bg01_sp.webp)
}
@media print, screen and (min-width: 768px) {
  .band._bg-img01 {
    background-image: url(/assets/img/common/band_bg01.webp)
  }
}
.band._in-column {
  --band-side-padding: var(--sm-side-margin);
  --band-side-line-position: calc(var(--sm-side-margin) - 1px)
}
@media print, screen and (min-width: 768px) {
  .band._in-column {
    --band-side-margin: calc(var(--md-side-margin-ratio) * -1);
    --band-side-padding: var(--md-side-margin-ratio);
    --band-side-line-position: calc(var(--md-side-margin-ratio) - 1px)
  }
}
@media print, screen and (min-width: 1201px) {
  .band._in-column {
    --band-side-margin: calc(var(--md-side-margin) * -1);
    --band-side-padding: var(--md-side-margin);
    --band-side-line-position: calc(var(--md-side-margin) - 1px)
  }
}
.band._use-img {
  --band-side-padding: 0
}
.band._fit {
  --band-side-padding: 0;
  --band-side-margin: 0
}
.band._has-padding {
  --band-side-padding: var(--sm-side-margin)
}
@media print, screen and (min-width: 768px) {
  .band._has-padding {
    --band-side-padding: var(--md-side-margin-ratio)
  }
}
@media print, screen and (min-width: 1201px) {
  .band._has-padding {
    --band-side-padding: var(--md-side-margin)
  }
}

@media print, screen and (min-width: 768px) {
  .voice-slider__controls {
    padding: 40px 24px 0 0;
    justify-content: flex-end
  }
}
.slider-controls {
  display: flex;
  align-items: center;
  gap: 24px;
  --slider-controls-color: var(--black)
}
.slider-controls._white {
  --slider-controls-color: var(--white)
}
.slider-controls__arrow {
  cursor: pointer;
  width: 18px;
  height: 18px;
  position: relative;
  font-size: .0625rem;
  text-indent: -9999px
}
.slider-controls__arrow:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: 270deg;
  -webkit-mask-image: url(/assets/img/common/icon_arrow_border.svg);
  mask-image: url(/assets/img/common/icon_arrow_border.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 12px;
  height: 12px;
  background-color: var(--slider-controls-color)
}
.slider-controls__arrow._next:before {
  rotate: 90deg
}
.slider-controls__arrow:hover:before {
  animation: arrow-up .5s
}
.slider-controls__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px
}
.slider-controls__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--slider-controls-color);
  opacity: .2;
  cursor: pointer
}
.slider-controls__pagination [aria-current=true] {
  opacity: 1
}
.slider-controls__pause {
  font-size: .0625rem;
  text-indent: -9999px;
  width: 18px;
  height: 18px;
  cursor: pointer;
  position: relative
}
.slider-controls__pause:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  -webkit-mask-image: url(/assets/img/common/icon_pause.svg);
  mask-image: url(/assets/img/common/icon_pause.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 14px;
  height: 14px;
  background-color: var(--slider-controls-color)
}
.slider-controls__pause._stop:before {
  -webkit-mask-image: url(/assets/img/common/icon_play.svg);
  mask-image: url(/assets/img/common/icon_play.svg);
  width: 14px;
  height: 14px
}
.banner-slider {
  overflow: hidden
}
.banner-slider._border-top {
  border-top: 1px solid var(--bd-gray)
}
@media print, screen and (min-width: 768px) {
  .banner-slider._padding-bottom {
    padding-bottom: 48px
  }
}
@media print, screen and (min-width: 1201px) {
  .banner-slider._padding-bottom {
    padding-bottom: 0
  }
}
@media print, screen and (min-width: 768px) {
  .banner-slider__inner {
    margin-inline: -1px
  }
}
.banner-slider__item {
  height: auto;
  display: flex
}
@media print, screen and (min-width: 768px) {
  .banner-slider__item {
    border-left: 1px solid var(--bd-gray);
    border-right: 1px solid var(--bd-gray);
    box-sizing: border-box
  }
}
.banner-slider__controls {
  border-top: 1px solid var(--bd-gray);
  padding: 40px 20px;
  display: flex;
  justify-content: center
}
@media print, screen and (min-width: 768px) {
  .banner-slider__controls {
    padding: 48px 24px 0 0;
    justify-content: flex-end
  }
}
.top-event-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--black);
  text-decoration: none;
  padding: 48px 0 0
}
@media print, screen and (min-width: 768px) {
  .top-event-card {
    padding: 80px 0 0
  }
}
.top-event-card__visual {
  position: relative
}
.top-event-card__mask {
  overflow: hidden;
  transition: transform .3s ease-out
}
.top-event-card:hover .top-event-card__mask {
  transform: scale(.95)
}
.top-event-card__img {
  width: 100%;
  object-fit: cover;
  transition: transform .3s ease-out
}
.top-event-card:hover .top-event-card__img {
  transform: scale(1.15)
}
.top-event-card__text {
  display: flex;
  flex-direction: column;
  padding: 16px 20px;
  gap: 8px;
  flex-grow: 1
}
@media print, screen and (min-width: 768px) {
  .top-event-card__text {
    gap: 16px;
    padding: 24px
  }
}
.top-event-card__text:after {
  content: "";
  flex-shrink: 0;
  display: block;
  margin: auto 0 0 auto;
  -webkit-mask-image: url(/assets/img/common/icon_arrow.svg);
  mask-image: url(/assets/img/common/icon_arrow.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 18px;
  height: 18px;
  background-color: var(--black)
}
@media print, screen and (min-width: 768px) {
  .top-event-card__text:after {
    margin: auto 0 0 auto
  }
}
.top-event-card:hover .top-event-card__text:after {
  animation: arrow .5s
}
.top-event-card__title {
  margin: 0;
  font-weight: var(--medium);
  font-size: 1rem;
  line-height: 1.8
}
@media print, screen and (min-width: 768px) {
  .top-event-card__title {
    font-size: 1.5rem;
    line-height: 1.6;
    margin: 0 16px
  }
}
.tag-slider {
  padding: 7px 0 8px;
  border-top: 1px solid var(--tag-slider-border-color)
}
@media print, screen and (min-width: 768px) {
  .tag-slider {
    padding: 8px 0 10px
  }
}
.tag-slider._black {
  --tag-slider-border-color: var(--bd-gray);
  --tag-slider-text-color: var(--black)
}
.tag-slider._white {
  --tag-slider-border-color: var(--bd-dark-white);
  --tag-slider-text-color: var(--white)
}
.tag-slider__inner {
  display: flex;
  overflow: hidden;
  white-space: nowrap
}
.tag-slider__list {
  padding: 0 16px 0 0;
  display: flex;
  gap: 16px;
  animation-duration: calc(var(--marquee-width) / 3 * .1s);
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-delay: 0s;
  animation-fill-mode: both;
  box-sizing: border-box
}
@media print, screen and (min-width: 768px) {
  .tag-slider__list {
    gap: 24px;
    padding: 0 24px 0 0
  }
}
html.is-loaded .tag-slider__list {
  animation-name: loop-slide
}
@media print, screen and (min-width: 768px) {
  .tag-slider:hover .tag-slider__list {
    animation-play-state: paused
  }
}
.tag-slider__item {
  width: auto;
  font-size: .875rem;
  line-height: 1.8;
  font-weight: var(--medium);
  color: var(--tag-slider-text-color);
  text-decoration: none;
  transition: opacity .2s
}
@media print, screen and (min-width: 768px) {
  .tag-slider__item {
    font-size: 1.125rem
  }
}
.tag-slider__item:hover {
  opacity: .6
}
.magazine-slider-wrapper {
  position: sticky;
  top: 0;
  transition: top .4s
}
@media print, screen and (min-width: 1201px) {
  .magazine-slider-wrapper {
    top: var(--md-header-height)
  }
}
html.is-scroll-up .magazine-slider-wrapper {
  top: var(--content-padding-top)
}
.magazine-slider {
  border-top: 1px solid var(--bd-dark-white);
  border-bottom: 1px solid var(--bd-dark-white)
}
.magazine-slider__inner {
  overflow: hidden
}
.magazine-slider__items {
  display: flex;
  gap: 20px
}
@media print, screen and (min-width: 768px) {
  .magazine-slider__items {
    gap: min(40px, 2.6666666667svw)
  }
}
.magazine-slider__item {
  width: calc((100vw - var(--sm-side-margin) * 2 - 20px) / 2);
  display: flex;
  flex-shrink: 0;
  box-sizing: border-box
}
@media print, screen and (min-width: 768px) {
  .magazine-slider__item {
    width: calc((100vw - var(--md-side-margin-ratio) * 2 - min(40px, 2.6666666667svw) * 2) / 3)
  }
}
@media print, screen and (min-width: 1201px) {
  .magazine-slider__item {
    width: calc((100vw - var(--md-side-margin) * 2 - min(40px, 2.6666666667svw) * 3) / 4)
  }
}
.banner-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--black);
  text-decoration: none;
  padding: 48px 0 0
}
@media print, screen and (min-width: 768px) {
  .banner-card {
    padding: 80px 0 0
  }
}
.banner-card._img-only {
  padding: 0
}
@media print, screen and (min-width: 768px) {
  .banner-card._img-only {
    padding: 80px 0
  }
}
.banner-card._sm-padding-bottom {
  padding-top: 0
}
@media print, screen and (min-width: 768px) {
  .banner-card._sm-padding-bottom {
    padding: 80px 0 40px
  }
}
.banner-card__visual {
  position: relative
}
.banner-card__mask {
  overflow: hidden;
  transition: transform .3s ease-out
}
.banner-card:hover .banner-card__mask {
  transform: scale(.95)
}
.banner-card__img {
  width: 100%;
  object-fit: cover;
  transition: transform .3s ease-out
}
.banner-card:hover .banner-card__img {
  transform: scale(1.15)
}
.banner-card__text {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  gap: 16px;
  flex-grow: 1
}
@media print, screen and (min-width: 768px) {
  .banner-card__text {
    padding: 24px
  }
}
.banner-card__text:after {
  content: "";
  flex-shrink: 0;
  display: block;
  margin-left: auto;
  -webkit-mask-image: url(/assets/img/common/icon_arrow.svg);
  mask-image: url(/assets/img/common/icon_arrow.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 18px;
  height: 18px;
  background-color: var(--black)
}
.banner-card:hover .banner-card__text:after {
  animation: arrow .5s
}
.banner-card__text._icon-pos-bottom {
  flex-direction: column;
  align-items: flex-start;
  padding-bottom: 24px
}
@media print, screen and (min-width: 768px) {
  .banner-card__text._icon-pos-bottom {
    padding-bottom: 16px
  }
}
.banner-card__text._icon-pos-bottom:after {
  margin-top: auto
}
.banner-card[target=_blank] .banner-card__text:after {
  -webkit-mask-image: url(/assets/img/common/icon_external.svg);
  mask-image: url(/assets/img/common/icon_external.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 18px;
  height: 18px;
  background-color: var(--black)
}
.banner-card[href$=".pdf"] .banner-card__text:after {
  -webkit-mask-image: none;
  mask-image: none;
  background-image: url(../img/contents/ico_pdf2.svg);
  background-color: transparent
}
.banner-card__title {
  margin: 0;
  font-weight: var(--medium);
  font-size: 1rem;
  line-height: 1.8
}
.banner-card__description {
  color: var(--black);
  font-weight: var(--medium);
  font-size: .875rem;
  margin: 0
}
/* ######################################################################################

    ページトップ

###################################################################################### */
.pageTopFix{
    position: fixed;
    background-color: #009935;
    z-index: 8000;
    cursor: pointer;
    text-indent: -99999px;
}
.pageTopFix:before{
    content: "";
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
}

@media print, screen and (min-width: 768px) {
    .pageTopFix{
        bottom: 10px;
        right: 10px;
        width: 50px;
        height: 50px;
    }
    .pageTopFix:before{
        width: 12px;
        height: 12px;
        top: calc(50% - 3px);
        left: calc(50% - 6px);
    }
}
@media screen and (max-width: 767px) {
    .pageTopFix{
        bottom: 15px;
        right: 15px;
        width: 46px;
        height: 46px;
    }
    .pageTopFix:before{
        width: 10px;
        height: 10px;
        top: calc(50% - 2.5px);
        left: calc(50% - 5px);
    }
}


/* ######################################################################################

    右側　緑帯

###################################################################################### */
.rightSideBar,
.rightSideBar__sns,
.rightSideBar__copy{display: none;}

@media print, screen and (min-width: 768px) {
    .rightSideBar{
        position: absolute;
        display: block;
        right: 0;
        width: 80px;
        height: 100%;
        background: #009944;
        z-index: 99998;
    }
    .rightSideBar__copy{
        display: block;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        height: 50vw;
        padding: 0.5em 0.5em 0.5em;
        text-align: center;
        color: #fff;
        font-size: 1.2rem;
        letter-spacing: 0.02em;
        z-index: 3;
    }
    .rightSideBar__sns{
        display: block;
        padding: 50px 0.75em 0.5em;
        z-index: 1;
        height: 300px;
    }
    .rightSideBar__sns__text{
        display: block;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        color: #fff;
        font-size: 1.0rem;
        letter-spacing: 0.15em;
        height: 90px;
    }
    .rightSideBar__sns__list{
        text-align: center;
    }
    .rightSideBar__sns__list li + li{
        margin-top: 0.5em;
    }
    .rightSideBar__sns__list a{
        display: block;
    }
    .rightSideBar__sns__list img{
        max-width: 100%;
        height: auto;
    }
}



/* ######################################################################################

    フッター

###################################################################################### */
@media print, screen and (min-width: 768px) {
    .footer{background-color: #464849;}
    .footer .contents{padding-left: 0;}
    .footerInfo a,.footer .sitemap.pc a{text-decoration: none;}
    .footerInfo a:hover,.footer .sitemap.pc a:hover{color: #ccc;}
	.footer a:hover img{opacity: 0.6;}
}
@media screen and (max-width: 767px) {
    .footer{padding: 0 0;}
	.footer .contents { padding: 0 0;}
    .footer .contents .mean-nav.meanMenuAcc{padding: 0 0; margin-bottom: 0;}
    .footer .contents .mean-nav.meanMenuAcc .sns{display: none;}
    .footerInfo{padding-top: 3em;text-align: center;}
}


/* 関連リンク
-------------------------------------*/
@media print, screen and (min-width: 768px) {
    .footer .contents.relationLink {
		margin: 0 auto;
		padding: 100px 0 100px;
		background: #EEF1F4;
		width: auto!important;

	}
	.footer .relationLink h4{font-size: 2.2rem; text-align: center; font-weight: normal; }
	.footer .relationLink .relation-banner {
		max-width: 1260px;
		display: -webkit-box;
		display: flex;
		flex-flow: wrap;
		margin: 30px auto 0;
		justify-content:space-between;
		list-style: none;
	}
	.footer .relationLink .relation-banner li{
		box-sizing: border-box;
		width: 16%;
		border: 1px solid #eee;
		margin: 0;
	}
	.footer .relationLink .relation-banner li img{
		vertical-align: top;
		border: 0;
		width: 100%;
		height: auto;
	}
}
@media screen and (max-width: 767px) {
    .footer .relationLink {
		margin: 0 auto;
		padding: 10px 0 10px;
	}
	.footer .relationLink h4{
        font-size: 1.8rem;
        font-weight: normal;
        text-align: center;
        margin-bottom: 0;
    }
	.footer .relationLink .relation-banner {
		width: 100%;
		display: -webkit-box;
		display: flex;
		flex-flow: wrap;
		margin: 20px auto 0;
		list-style: none;
		border-top: 1px solid #eee;
		border-left: 1px solid #eee;
	}
	.footer .relationLink .relation-banner li{
		box-sizing: border-box;
		width: 50%;
		border-bottom: 1px solid #eee;
		border-right: 1px solid #eee;
	}
	.footer .relationLink .relation-banner li img{
		vertical-align: top;
		border: 0;
		width: 100%;
		height: auto;
	}

}

/* header ハンバーガーナビ　PC
-------------------------------------*/
@media print, screen and (min-width: 768px) {
    .sidebar .sitemap.pc {
		margin: 0 auto;
		padding: 30px 25px 0;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
		background: ;

	}

    .sidebar .sitemap.pc > ul > li > a,
    .sidebar .sitemap.pc > ul > li > span{
        font-size: 1.4rem;
        font-weight: bold;
        padding-bottom: 12px;
        display: block;
		color: var(--white);

    }
	.sidebar .sitemap.pc > ul > li > span.under{color:rgba(255,255,255,.7);}
	.sidebar .sitemap.pc a:hover{text-decoration: none; opacity: .6}


    .sidebar .sitemap.pc > ul > li > ul{border-top: 1px solid rgba(255,255,255,.2); margin-bottom: 50px;padding-top: 10px;}
    .sidebar .sitemap.pc > ul > li > ul > li > a,
    .sidebar .sitemap.pc > ul > li > ul > li > span{
        font-size: 1.3rem;
        margin-top: 5px;
        display: inline-block;
		color: var(--white);
		font-weight: var(--regular);
    }

	.sidebar .sitemap.pc > ul > li a{color: var(--white); text-decoration: none;}
    .sidebar .sitemap.pc > ul > li > span:not(.title),
    .sidebar .sitemap.pc > ul > li > ul > li > span:not(.title){
        color:rgba(255,255,255,.7);
    }

    .sidebar .sitemap.pc > ul > li > ul > li > a[target="_blank"]:after{
        content: "";
        display: inline-block;
        margin-left: 0.25em;
        width: 9px;
        height: 8px;
        background-image: url(../img/footer/icon_external.svg);
        background-size: 9px 8px;
    }
	.sidebar .sitemap.pc > ul > li > ul > li > a[href$=".pdf"]:after {
	  content: "";
    position: relative;
    top: 0.2em;
    display: inline-block;
    width: 13px;
    height: 15px;
    background-image: url("../img/contents/ico_pdf2.svg");
    background-size: 13px 15px;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 0.25em;
    margin-right: 0.25em;
}
}
@media screen and (max-width: 767px) {
    .sidebar .sitemap.pc{display: none;}
}
@media print, screen and (min-width: 1600px) { /* PC：1600px～ */
    .sidebar .sitemap.pc {padding: 60px;}
}
/* sns sidebar-nav__inner js-sidebar-nav-wrapper
-------------------------------------*/
@media print, screen and (min-width: 768px) {
	.sidebar-nav__inner .f-sns{padding: 0 140px;}
	.sidebar-nav__inner .f-sns .sns ul{margin-top: 10px;}
	.sidebar-nav__inner .f-sns .sns ul li{float: left; padding: 0 10px 0 0}
	.sidebar-nav__inner .f-sns .sns ul li img{width: 34px; height: 34px; }
	.sidebar-nav__inner .f-sns .sns ul li a:hover{opacity: 0.6;}
	.sidebar-nav__inner .f-sns p {  font-size: 1.2rem;  margin: 0; color:#fff; }
}


/* footerナビ　PC
-------------------------------------*/
@media print, screen and (min-width: 768px) {
    .footer .sitemap.pc {
		margin: 0 auto;
		padding: 80px 0 0 0;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
		background: #464849;

	}
    .sitemap.pc > ul{width: 200px; margin-right: 30px; font-size: 0;}
    .sitemap.pc > ul:last-child{width: 140px; margin-right: 0;}
	.sitemap.pc > ul:nth-child(1),
	.sitemap.pc > ul:nth-child(5){width: 150px;}
    .en .sitemap.pc > ul:last-child{width: 220px;}
    .scn .sitemap.pc > ul:last-child,
    .tcn .sitemap.pc > ul:last-child{width: 180px;}

    .footer .sitemap.pc > ul > li > a,
    .footer .sitemap.pc > ul > li > span{
        font-size: 1.4rem;
        font-weight: bold;
        padding-bottom: 10px;
        display: block;
		color: var(--white);

    }
	.footer .sitemap.pc > ul > li > span.under{color:#aaa;}


    .footer .sitemap.pc > ul > li > ul{border-top: 1px solid rgba(255,255,255,.2); margin-bottom: 50px;padding-top: 10px;}
    .footer .sitemap.pc > ul > li > ul > li > a,
    .footer .sitemap.pc > ul > li > ul > li > span{
        font-size: 1.2rem;
        margin-top: 2px;
        display: inline-block;
		color: var(--white);
		font-weight: var(--regular);
    }

	.footer .sitemap.pc > ul > li a{color: var(--white);}
    .footer .sitemap.pc > ul > li > span:not(.title),
    .footer .sitemap.pc > ul > li > ul > li > span:not(.title){
        color: #aaa;
    }

    .footer .sitemap.pc > ul > li > ul > li > a[target="_blank"]:after{
        content: "";
        display: inline-block;
        margin-left: 0.25em;
        width: 9px;
        height: 8px;
        background-image: url(../img/footer/icon_external.svg);
        background-size: 9px 8px;
    }
	.footer .sitemap.pc > ul > li > ul > li > a[href$=".pdf"]:after {
	  content: "";
		position: relative;
		top: 0.2em;
		display: inline-block;
		width: 13px;
		height: 15px;
		background-image: url("../img/contents/ico_pdf2.svg");
		background-size: 13px 15px;
		background-repeat: no-repeat;
		background-position: center;
		margin-left: 0.25em;
		margin-right: 0.25em;
}
}
@media screen and (max-width: 767px) {
    .footer .sitemap.pc{display: none;}
}
@media print, screen and (min-width: 1600px) { /* PC：1600px～ */
    .footer .sitemap.pc {padding-left: 0; padding-right: 0;}
}


/* ######################################################################################

    フッター上　ナビゲーション（sp）

###################################################################################### */
.fnav.sp{background-color: #f4f4f5; padding: 2em 0;}
.fnav.sp ul{margin: 0 -1%;}
.fnav.sp ul li{padding-left: 1%; padding-right: 1%;}
.fnav.sp ul li a{


    text-decoration: none;
    color: #111;
    display: block;
    padding: 1.3em 1.3em 1.3em 0.5em;
    border: 1px solid #009935;
    background-color: #fff;
    margin-top: 0.8em;
    font-size: 1.3rem;
    position: relative;
}
.fnav.sp li:nth-child(1) a,
.fnav.sp li:nth-child(2) a{margin-top: 0;}

/*　改行設定　*/
.fnav.sp ul li a span{display: inline-block;}

/* アイコン */
.fnav.sp ul li a:before,
.fnav.sp ul li a:after{
    content: "";
    position: absolute;

}
.fnav.sp ul li a:before{
    width: 14px;
    height: 14px;
    border-radius: 7px;
    background-color: #009935;
    top: 20px;
    right: 6px;
}
.fnav.sp ul li a:after{
    width: 4px;
    height: 4px;
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    top: 25px;
    right: 12px;
}

/* １行のボタンは中央揃え */
.fnav.sp ul li.col-xs-12{text-align: center;}



/* ######################################################################################

    フッター下　

###################################################################################### */
.footerBar{background-color: #464849;}
.footerBar *{color: #fff;}

@media print, screen and (min-width: 768px) {
    .footerBar{
        padding-top: 50px;
        padding-bottom: 60px;
        position: relative;
		border-top: 1px solid #6b6d6d;
    }
}
@media screen and (max-width: 767px) {
    .footerBar{
        padding-bottom: 30px;
    }
    .footerBar{
    }
}


/* 住所、連絡
-------------------------------------*/
@media print, screen and (min-width: 768px) {
    .footer .footerInfo{
        margin: 0 auto;
        padding: 40px 0;
    }
    .footerInfo .logo{margin-bottom: 35px;}
    .footerInfo .name{
        font-size: 1.6rem;
        font-weight: normal;
        margin-bottom:1em;
        font-weight: bold;
    }

    .footerInfo p{font-size: 1.2rem; margin: 0; }

    .footerInfo .data{
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        color: #fff;
        margin-bottom: 70px;
    }

    .footerInfo .data > *{padding: 0 30px;}
    .footerInfo .data > *:first-child{padding-left: 0;}
    .footerInfo .data > * + *{border-left: 1px solid  rgb(255 255 255 / .2);}

    .footerInfo .data .f-address{width: 380px;}
    .footerInfo .data .f-address p {margin-bottom:0;}
    .footerInfo .data .f-address a {text-decoration: underline; color: #009935;}
    .footerInfo .data .f-contact{width: 480px;}
    .footerInfo .data .f-contact .tel a{pointer-events: none;}
}
@media screen and (max-width: 767px) {
    .footerInfo .logo img{max-width: 290px; height: auto; padding-bottom: 1.5em;}
    .footerInfo h4{font-size: 1.6rem; font-weight: normal;margin-bottom: 30px; }
    .footerInfo p{font-size: 1.3rem; margin: 0 0 1.5em; }
    .footerInfo .data .f-address{margin-bottom: 1.5em;}
    .footerInfo .data .f-contact .tel{margin-right: 1em;}

}

/* sns
-------------------------------------*/
@media print, screen and (min-width: 768px) {
	.footerInfo .data .f-sns .sns ul{margin-top: 10px;}
	.footerInfo .data .f-sns .sns ul li{float: left; padding: 0 10px 0 0}
	.footerInfo .data .f-sns .sns ul li img{width: 34px; height: 34px; }
	.footerInfo .data .f-sns .sns ul li a:hover{opacity: 0.6;}
}
@media screen and (max-width: 767px) {
	.footerInfo .f-sns{text-align: center; margin: 4em auto 0;}
	.footerInfo .data .f-sns p{margin: 0 0 1.5em; font-size: 1.2rem;}
	.footerInfo .data .f-sns .sns ul{display: inline-block; vertical-align: middle;}
	.footerInfo .data .f-sns .sns ul li{float: left; padding: 0 15px 0 0;}
	.footerInfo .data .f-sns .sns ul li img{width: 42px; height: 42px; }
	.footerInfo .data .f-sns .sns ul li a:hover{opacity: 0.6;}
}

/* copyrightその他
-------------------------------------*/
@media print, screen and (min-width: 768px) {
	.footerBar ul.footerNav{
        padding: 0;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        align-items: flex-end;
	}
    .footerBar .copyright{padding-top: 15px; font-size: 1.2rem;color:  rgb(255 255 255 / .5); }


    .footerBar .footerTargetNav ul{font-size: 0;padding-top: 15px;}
    .footerBar .footerTargetNav ul li{display: inline-block; line-height: 1;}
    .footerBar .footerTargetNav ul li a{font-size: 1.2rem; text-decoration: none; line-height: 1; padding: 0 20px;}
	.footerBar .footerTargetNav ul li a:hover{text-decoration: none; color:  rgb(255 255 255 / .6);}

    .footerBar .footerTargetNav ul li:first-child a{padding-left: 0;}
    .footerBar .footerTargetNav ul li:last-child a{padding-right: 0;}
    .footerBar .footerTargetNav ul li a:hover{opacity: .6;}


	.footerBar .officialLogo{margin-bottom: -10px;}
	.footerBar .officialLogo img{width: 70px; height: auto;}

}
@media screen and (max-width: 767px) {
    .footerBar .copyright{padding-top: 115px; text-align: center; display: block; font-size: 1.2rem;}

    .footerBar .footerTargetNav ul{font-size: 0; padding-top: 50px; text-align: center;}
    .footerBar .footerTargetNav ul li{display: inline-block; line-height: 1;}
    .footerBar .footerTargetNav ul li a{font-size: 1.2rem; text-decoration: underline; line-height: 1; padding: 0 20px;}
	.footerBar .footerTargetNav ul li a:hover{text-decoration: none;}

	.footerBar .officialLogo{display: none;}
}


/* ######################################################################################

    下層ページ　右カラム　ナビゲーション

###################################################################################### */
/* ====================================================
    スライダー部分
==================================================== */
@media screen and (max-width: 767px) { /* スマホ */
  .subColumn .bannerSlide{
    position: relative;
    z-index: 999;
    top: 0;
    right: 0;
    width: 100%;
    height: 150px;
    padding: 25px 15% 0;
	background: rgb(0,153,53);
    background: linear-gradient(135deg, rgba(0,153,53,1) 30%, rgba(89,198,94,1) 100%);
    overflow: hidden;
  }
	.subColumn .bannerSlide h3{color: #Fff; font-size: 12px; margin:0 0 5px; text-align: center; }
  .subColumn .bannerSlide .inner{
    padding: 6px;
    background: #fff;
    width: 100%;
    height: 90px;
	overflow: hidden;
  }
  .subColumn .bannerSlide .inner div{
    height: 100%;
  }
  .subColumn .bannerSlide .inner div,
  .subColumn .bannerSlide .inner a{
    height: 100%;
  }
  .subColumn .bannerSlide .inner a:after{
    display: none;
  }
  .subColumn .bannerSlide .inner img{
    width: 100%;
    height: 100%;
  }
}
@media print, screen and (min-width: 768px) { /* PC：768px～ */
  .subColumn .bannerSlide{
    position: relative;
    z-index: 999;
    top: 0;
    right: 0;
    width: 180px;
    height: 130px;
    padding: 15px 14px 0;
	background: rgb(0,153,53);
    background: linear-gradient(135deg, rgba(0,153,53,1) 30%, rgba(89,198,94,1) 100%);
    overflow: hidden;
  }
	.subColumn .bannerSlide h3{color: #Fff; font-size: 12px; margin:0 0 5px; text-align: center; }
  .subColumn .bannerSlide .inner{
    padding: 6px;
    background: #fff;
    width: 100%;
    height: 79px;
	overflow: hidden;
  }
  .subColumn .bannerSlide .inner div{
    height: 100%;
  }
  .subColumn .bannerSlide .inner div,
  .subColumn .bannerSlide .inner a{
    height: 100%;
  }
  .subColumn .bannerSlide .inner a:after{
    display: none;
  }
  .subColumn .bannerSlide .inner img{
    width: 100%;
    height: 100%;
  }
}


/* ====================================================
    協賛企業一覧
==================================================== */
.subColumn .partner + .partner{margin-top: 1em;}
.subColumn .partner .partnerLogo{margin-bottom: 2em;}

.subColumn .partner .partnerLogo li a,
.subColumn .partner .partnerLogo li span{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
  width: 100%;
}


.subColumn .partner .partnerLogo li a:hover img{opacity:0.8;}

/* 言語ごとにリンク先を切り替える */
body.en .subColumn .partner .partnerLogo li.jp,
body.scn .subColumn .partner .partnerLogo li.jp,
body.tcn .subColumn .partner .partnerLogo li.jp{display: none!important;}
body.scn .subColumn .partner .partnerLogo li.en,
body.tcn .subColumn .partner .partnerLogo li.en{display: none!important;}
body.en .subColumn .partner .partnerLogo li.cn{display: none!important;}

body.en .subColumn .partner .partnerLogo li.en{display: block!important;}
body.scn .subColumn .partner .partnerLogo li.cn,
body.tcn .subColumn .partner .partnerLogo li.cn{display: block!important;}

@media screen and (max-width: 767px) { /* スマホ */
  .subColumn .bannerList{padding: 20px 0;margin-bottom: 20px;}
  .subColumn .partner{padding-left: 40px; padding-right: 40px;}
  .subColumn .partner .partnerTitle{font-size: 1.6rem; margin-bottom: 1em;text-align: center;}
  .subColumn .partner .partnerLogo li{margin-bottom: 0.6em;font-size: 1.2rem;}
}

@media print, screen and (min-width: 768px) { /* PC：768px～ */
  .subColumn .bannerList{width: 180px; margin-left: auto; margin-right: auto; padding-top: 40px;}
  .subColumn .partner .partnerTitle{font-size: 1.3rem; color: #333; margin: 0 0 1.2em;text-align: left;}
  .subColumn .partner .partnerLogo li{margin-bottom: 0.9em; font-size: 1.2rem;}
}

/* .textlink */
.subColumn .partner.textlink .partnerLogo a{
	border: none !important;
	display:inherit;
	color: #333;
	font-size: 1.2rem;
	background: none;
	line-height: 1.4;
    padding-bottom: 0.5em;
}
.subColumn .partner.textlink h3{
	border-bottom: 1px solid #ddd;
	padding: 0 0 8px;
	margin-bottom: 10px;
}
.subColumn .partner.textlink .partnerLogo li{margin: 0 0 0.15em;;}


@media screen and (max-width: 767px) { /* スマホ */
  .subColumn .partner.middle .partnerLogo,
  .subColumn .partner.small .partnerLogo{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .subColumn .partner.middle .partnerLogo li{width: 47%;}
  .subColumn .partner.small .partnerLogo li{width: 47%;}
  .subColumn .partner.drink .partnerLogo li{width: 47%;margin: auto;}
}

/* パートナーごとサイズ */
@media screen and (max-width: 767px) { /* スマホ */
  .subColumn .partner.large .partnerLogo li img{width: 100%; height: auto;}
  .subColumn .partner.middle .partnerLogo li img{width: 100%; height: auto;}
  .subColumn .partner.drink .partnerLogo li img{width: 100%; height: auto;}
  .subColumn .partner.small .partnerLogo li img{width: 100%; height: auto;}

}

@media print, screen and (min-width: 768px) { /* PC：768px～ */
  .subColumn .partner.large .partnerLogo li img{width: 100%; height: auto;}
  .subColumn .partner.middle .partnerLogo li img{width: 100%; height: auto;}
  .subColumn .partner.drink .partnerLogo li img{width: 100%; height: auto;}
  .subColumn .partner.small .partnerLogo li img{width: 100%; height: auto;}
}




/* ######################################################################################

    外部リンクアイコン

###################################################################################### */
 a.exLink:after {
    content: "";
    display: inline-block;
    background-image: url("../img/contents/ico_link_g.svg");
    background-repeat: no-repeat;
    background-size: 100%;
    width: 0.8em;
    height: 0.8em;
    margin-left: 5px;
    vertical-align: text-top;
}


/* ######################################################################################

    見出し　heading-group

###################################################################################### */
.heading-group {
  display: grid;
  margin: 24px 0 24px;
  text-align: center;
  justify-content: center;
  color: var(--black)
}
@media print, screen and (min-width: 768px) {
  .heading-group {
    margin: 60px 0 48px
  }
}
.heading-group._white {
  color: var(--white)
}
.heading-group._left {
  text-align: left;
  justify-content: start
}
@media print, screen and (min-width: 1201px) {
  .heading-group._min-md-left {
    text-align: left;
    justify-content: start
  }
}
@media print, screen and (min-width: 768px) {
  .heading-group._min-sm-left {
    text-align: left;
    justify-content: start
  }
}
@media print, screen and (min-width: 768px) {
  .heading-group._min-sm-vertical {
    display: flex
  }
}
.heading-group:after {
  display: none
}
.heading-group:has(+.heading-group-note) {
  margin-bottom: 0
}
.heading-group__en {
  font-family: var(--font-barlow);
  text-transform: uppercase;
  font-weight: var(--semi-bold);
  font-size: 4rem;
  line-height: 1;
  letter-spacing: -1.44px
}
@media print, screen and (min-width: 768px) {
  .heading-group__en {
    font-size: 7.5rem;
    letter-spacing: -2.4px
  }
}
.heading-group__en._white {
  color: var(--white)
}
@media print, screen and (min-width: 768px) {
  .heading-group._large .heading-group__en {
    font-size: 8.75rem;
    letter-spacing: -2.8px
  }
}
.heading-group._semi-small .heading-group__en {
  font-size: 3.75rem;
  letter-spacing: -.96px
}
@media print, screen and (min-width: 768px) {
  .heading-group._semi-small .heading-group__en {
    font-size: 5.625rem;
    letter-spacing: -1.28px
  }
}
.heading-group._small .heading-group__en {
  font-size: 3rem;
  letter-spacing: -.96px
}
@media print, screen and (min-width: 768px) {
  .heading-group._small .heading-group__en {
    font-size: 4rem;
    letter-spacing: -1.28px
  }
}
.heading-group._tiny .heading-group__en {
  font-size: 2.625rem;
  letter-spacing: -.84px
}
@media print, screen and (min-width: 768px) {
  .heading-group._min-sm-vertical .heading-group__en {
    writing-mode: vertical-rl;
    white-space: nowrap
  }
}
.heading-group__jp {
  color: var(--primary);
  font-weight: var(--black-bold);
  font-size: 1.2rem;
  line-height: 1.6
}
.heading-group__jp:has(>wbr) {
  word-break: keep-all;
  overflow-wrap: break-word
}
@media print, screen and (min-width: 768px) {
  .heading-group__jp {
    font-size: 1.6rem
  }
}
.heading-group__jp._tiny {
  font-size: 1.125rem
}
@media print, screen and (min-width: 768px) {
  .heading-group__jp._tiny {
    font-size: 1.25rem
  }
}
.heading-group__jp._large {
  font-size: 1.375rem !important
}
@media print, screen and (min-width: 768px) {
  .heading-group__jp._large {
    font-size: 2rem !important
  }
}
.heading-group._semi-small .heading-group__jp {
  font-size: 1.125rem
}
@media print, screen and (min-width: 768px) {
  .heading-group._semi-small .heading-group__jp {
    font-size: 1.5rem
  }
}
.heading-group._small .heading-group__jp {
  font-size: 1.125rem
}
@media print, screen and (min-width: 768px) {
  .heading-group._small .heading-group__jp {
    font-size: 1.25rem
  }
}
.heading-group._tiny .heading-group__jp {
  font-size: 1.125rem
}
@media print, screen and (min-width: 768px) {
  .heading-group._tiny .heading-group__jp {
    font-size: 1.25rem
  }
}
.heading-group._min-sm-vertical .heading-group__jp {
  text-transform: uppercase
}
@media print, screen and (min-width: 768px) {
  .heading-group._min-sm-vertical .heading-group__jp {
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap
  }
}
.heading-group._white .heading-group__jp {
  color: var(--white)
}
.heading-group-note {
  font-size: 1.125rem;
  line-height: 1.6;
  font-weight: var(--black-bold);
  margin: 16px 0 0;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center
}
