@charset "UTF-8";

/* ==========================================
	01 reset
	02 utility
	03 Layout
	04 page style
========================================== */

/* ==========================================
	01 reset
========================================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,mt
small, strike, strong, sub, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
}

body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    max-width: 100%;
}

html {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q, blockquote {
    quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none;
}

a {
    /*outline: none;*/
}
a img {
    border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
    display: block;
}

/* ==========================================
	02 utility
========================================== */
/* text */
.fSize80{ font-size: 80% !important;}
.fSize85{ font-size: 85% !important;}
.fSize90{ font-size: 90% !important;}
.fSize95{ font-size: 95% !important;}
.fSize105{ font-size: 105% !important;}
.fSize110{ font-size: 110% !important;}
.fSize115{ font-size: 115% !important;}
.fSize120{ font-size: 120% !important;}
.fBold{ font-weight: bold !important;}
.fNormal{ font-weight: normal !important;}
.fCoRed{ color: #cc0000 !important;}
.fCoGray{ color: #666666 !important;}
.fStyleob{font-style: oblique;}
.fSize150 {font-size: 150% !important;}
.linkUrl {word-break: break-all;}

.alignC{ text-align: center !important;}
.alignL{ text-align: left !important;}
.alignR{ text-align: right !important;}

.txtUnderLine{ text-decoration: underline;}
.txtLineThrough{ text-decoration: line-through;}
.txtDecoration{ text-decoration:none;}

.sup { position: relative; top: -0.3em; font-size: 80%;}

.angle_a::before {
    content: "< ";
}

.angle_a::after{
    content: " >";
}

/* 202003追記 */
.discontinue{
    padding: 3px 15px;
    border: 1px #cc0000 solid;
    font-weight: normal !important;
    line-height: 2;
}
.discontinue_text{
    display: inline-block !important;
    font-weight: normal !important;
    font-size: 1rem !important;
    color: #cc0000;
    vertical-align: middle;
}
.discontinue_text a{
    display: inline-block !important;
    text-decoration: underline !important;
}
@media screen and (max-width:641px ){
    .discontinue{
        margin-left: 3px;
        padding: 1px 15px;
    }
    .P_discontinue{
        padding: 5px;;
    }
.BRdiscontinue{
    display: none;
}
}
/* margin */
.mt0 { margin-top: 0 !important;}
.mt5 { margin-top: 5px !important;}
.mt10 { margin-top: 10px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}
.mt55 { margin-top: 55px !important;}
.mt60 { margin-top: 60px !important;}
.mt1rem { margin-top: 1rem !important;}
.mt2rem { margin-top: 2rem !important;}
.mt3rem { margin-top: 3rem !important;}
.mt4rem { margin-top: 4rem !important;}
.mt5rem { margin-top: 5rem !important;}
.mt6rem { margin-top: 6rem !important;}
.mt7rem { margin-top: 7rem !important;}
.mt11rem { margin-top: 11rem !important;}

.mb0 { margin-bottom: 0 !important;}
.mb5 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb55 { margin-bottom: 55px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb70 { margin-bottom: 70px !important;}
.mb80 { margin-bottom: 80px !important;}
.mb90 { margin-bottom: 90px !important;}
.mb110 { margin-bottom: 110px !important;}
.mb210 { margin-bottom: 210px !important;}
.mb-defalt { margin-bottom: 1.8em !important;}
.mb1rem { margin-bottom: 1rem !important;}
.mb2rem { margin-bottom: 2rem !important;}
.mb3rem { margin-bottom: 3rem !important;}
.mb4rem { margin-bottom: 4rem !important;}
.mb5rem { margin-bottom: 5rem !important;}

@media screen and (max-width:641px ){
    .smb0 { margin-bottom: 0 !important;}

/* rem margin */
.SPmt01rem{margin-top:0.1rem  !important;}
.SPmt02rem{margin-top:0.2rem !important;}
.SPmt03rem{margin-top:0.3rem !important;}
.SPmt04rem{margin-top:0.4rem !important;}
.SPmt05rem{margin-top:0.5rem !important;}
.SPmt06rem{margin-top:0.6rem !important;}
.SPmt07rem{margin-top:0.7rem !important;}
.SPmt08rem{margin-top:0.8rem !important;}
.SPmt09rem{margin-top:0.9rem !important;}
.SPmt10rem{margin-top:1.0rem !important;}
.SPmt11rem{margin-top:1.1rem !important;}
.SPmt12rem{margin-top:1.2rem !important;}
.SPmt13rem{margin-top:1.3rem !important;}
.SPmt14rem{margin-top:1.4rem !important;}
.SPmt15rem{margin-top:1.5rem !important;}
.SPmt20rem{margin-top:2.0rem !important;}
.SPmt25rem{margin-top:2.5rem !important;}
.SPmt30rem{margin-top:3.0rem !important;}
.SPmt35rem{margin-top:3.5rem !important;}
.SPmt40rem{margin-top:4.0rem !important;}
.SPmt45rem{margin-top:4.5rem !important;}
.SPmt50rem{margin-top:5.0rem !important;}
.SPmr01rem{margin-right:0.1rem !important;}
.SPmr02rem{margin-right:0.2rem !important;}
.SPmr03rem{margin-right:0.3rem !important;}
.SPmr04rem{margin-right:0.4rem !important;}
.SPmr05rem{margin-right:0.5rem !important;}
.SPmr06rem{margin-right:0.6rem !important;}
.SPmr07rem{margin-right:0.7rem !important;}
.SPmr08rem{margin-right:0.8rem !important;}
.SPmr09rem{margin-right:0.9rem !important;}
.SPmr10rem{margin-right:1.0rem !important;}
.SPmr11rem{margin-right:1.1rem !important;}
.SPmr12rem{margin-right:1.2rem !important;}
.SPmr13rem{margin-right:1.3rem !important;}
.SPmr14rem{margin-right:1.4rem !important;}
.SPmr15rem{margin-right:1.5rem !important;}
.SPmr20rem{margin-right:2.0rem !important;}
.SPmr25rem{margin-right:2.5rem !important;}
.SPmr30rem{margin-right:3.0rem !important;}
.SPmr35rem{margin-right:3.5rem !important;}
.SPmr40rem{margin-right:4.0rem !important;}
.SPmr45rem{margin-right:4.5rem !important;}
.SPmr50rem{margin-right:5.0rem !important;}
.SPmb01rem{margin-bottom:0.1rem !important;}
.SPmb02rem{margin-bottom:0.2rem !important;}
.SPmb03rem{margin-bottom:0.3rem !important;}
.SPmb04rem{margin-bottom:0.4rem !important;}
.SPmb05rem{margin-bottom:0.5rem !important;}
.SPmb06rem{margin-bottom:0.6rem !important;}
.SPmb07rem{margin-bottom:0.7rem !important;}
.SPmb08rem{margin-bottom:0.8rem !important;}
.SPmb09rem{margin-bottom:0.9rem !important;}
.SPmb10rem{margin-bottom:1.0rem !important;}
.SPmb11rem{margin-bottom:1.1rem !important;}
.SPmb12rem{margin-bottom:1.2rem !important;}
.SPmb13rem{margin-bottom:1.3rem !important;}
.SPmb14rem{margin-bottom:1.4rem !important;}
.SPmb15rem{margin-bottom:1.5rem !important;}
.SPmb20rem{margin-bottom:2.0rem !important;}
.SPmb25rem{margin-bottom:2.5rem !important;}
.SPmb30rem{margin-bottom:3.0rem !important;}
.SPmb35rem{margin-bottom:3.5rem !important;}
.SPmb40rem{margin-bottom:4.0rem !important;}
.SPmb45rem{margin-bottom:4.5rem !important;}
.SPmb50rem{margin-bottom:5.0rem !important;}
.SPml0rem{margin-left:0rem !important;}
.SPml01rem{margin-left:0.1rem !important;}
.SPml02rem{margin-left:0.2rem !important;}
.SPml03rem{margin-left:0.3rem !important;}
.SPml04rem{margin-left:0.4rem !important;}
.SPml05rem{margin-left:0.5rem !important;}
.SPml06rem{margin-left:0.6rem !important;}
.SPml07rem{margin-left:0.7rem !important;}
.SPml08rem{margin-left:0.8rem !important;}
.SPml09rem{margin-left:0.9rem !important;}
.SPml10rem{margin-left:1.0rem !important;}
.SPml11rem{margin-left:1.1rem !important;}
.SPml12rem{margin-left:1.2rem !important;}
.SPml13rem{margin-left:1.3rem !important;}
.SPml14rem{margin-left:1.4rem !important;}
.SPml15rem{margin-left:1.5rem !important;}
.SPml20rem{margin-left:2.0rem !important;}
.SPml25rem{margin-left:2.5rem !important;}
.SPml30rem{margin-left:3.0rem !important;}
.SPml35rem{margin-left:3.5rem !important;}
.SPml40rem{margin-left:4.0rem !important;}
.SPml45rem{margin-left:4.5rem !important;}
.SPml50rem{margin-left:5.0rem !important;}
}


.ml0 { margin-left: 0 !important;}
.ml5 { margin-left: 5px !important;}
.ml10 { margin-left: 10px !important;}
.ml15 { margin-left: 15px !important;}
.ml19 { margin-left: 19px !important;}
.ml20 { margin-left: 20px !important;}
.ml25 { margin-left: 25px !important;}
.ml30 { margin-left: 30px !important;}
.ml35 { margin-left: 35px !important;}
.ml40 { margin-left: 40px !important;}
.ml45 { margin-left: 45px !important;}
.ml50 { margin-left: 50px !important;}
.ml53 { margin-left: 53px !important;}
.ml54 { margin-left: 54px !important;}
.ml55 { margin-left: 55px !important;}
.ml60 { margin-left: 60px !important;}
.ml63 { margin-left: 63px !important;}
.ml67 { margin-left: 67px !important;}
.ml90 { margin-left: 90px !important;}
.ml70 { margin-left: 70px !important;}
.ml75 { margin-left: 75px !important;}
.ml79 { margin-left: 79px !important;}
.ml80 { margin-left: 80px !important;}
.ml85 { margin-left: 85px !important;}
.ml90 { margin-left: 90px !important;}
.ml110 { margin-left: 110px !important;}
.ml125 { margin-left: 125px !important;}
.ml210 { margin-left: 210px !important;}
.ml215 { margin-left: 215px !important;}
.ml245 { margin-left: 245px !important;}
.ml250 { margin-left: 250px !important;}
.ml-defalt { margin-left: 1.8em !important;}
.ml1rem { margin-left: 1rem !important;}
.ml2rem { margin-left: 2rem !important;}
.ml3rem { margin-left: 3rem !important;}
.ml4rem { margin-left: 4rem !important;}
.ml5rem { margin-left: 5rem !important;}
.mr20 {margin-right: 20px !important;}
.mr40 {margin-right: 40px !important;}
.mr60 { margin-right: 60px !important;}
.mr70 { margin-right: 70px !important;}
/* margin PCのみ*/
.ml50_sp { margin-left: 50px !important;}
.ml81em_sp { margin-left: 8.1em;}

@media screen and (max-width:641px ){
    .ml50_sp { margin-left: 0 !important;}
    .ml81em_sp { margin-left: 0;}
}
/* width */
.w180 {width: 180px;}
.w250 {width: 250px;}
.w300 {width: 300px;}
.w335 {width: 335px !important;}
.w550 {width: 550px;}

/* padding */
.pl1em {padding-left: 1em;}
.pl2em {padding-left: 2em;}
.pl3em {padding-left: 3em;}
.pl4em {padding-left: 4em;}
.pl5em {padding-left: 5em;}
.pl6em {padding-left: 6em;}
.pl7em {padding-left: 7em;}
.pl8em {padding-left: 8em;}
.pl9em {padding-left: 9em;}
.pl10em {padding-left: 10em;}

.note {
    font-size: 85%;
    text-indent: -0.8rem;
    padding-left: 0.8rem;
    display: inline-block;
}

/* List */
.dl-float-list {
	overflow: hidden;
}
.dl-float-list dt {
	font-weight: bold;
	float: left;
	clear: both;
}
.dl-float-list dd {
	margin-left: 7em;
}

.dl-float-list._ml150 dd {
    margin-left: 150px;
}

.dl-float-list02 {
	overflow: hidden;
}

.dl-float-list02 dt {
    float: left;
    clear: both;
}

.dl-float-list02 dd {
	margin-left: 5em;
}

.dl-float-list02._ml120 dd {
    margin-left: 120px;
}

.flexBox01 {
	display: flex;
}
.flexBox02 {
    display: flex;
}
.flexBox03 {
    display: flex;
    align-items: flex-end;
}

/*---- 20200228 追記 ----*/
.SP_only_br{
    display: block;
}
@media screen and (min-width:641px ){
    .SP_only_br{
        display: none;
    }
}
@media screen and (min-width:641px ){
.flexBox02 {
	display: flex;
}

.ml-01 {
	margin-left: 30.2%;
}
.ml-02 {
	margin-left: 34.5%;
}
.ml-03 {
	margin-left: 10%;
}
.ml-04 {
	margin-left: 44.4%;
}
.ml-05 {
	margin-left: 16%;
}
.ml-sp-40 {
	margin-left: 40px !important;
}
}



.dl-float-list.f-ml1em dd { margin-left: 1em;}
.dl-float-list.f-ml2em dd { margin-left: 2em;}
.dl-float-list.f-ml3em dd { margin-left: 3em;}
.dl-float-list.f-ml4em dd { margin-left: 4em;}
.dl-float-list.f-ml5em dd { margin-left: 5em;}
.dl-float-list.f-ml6em dd { margin-left: 6em;}
.dl-float-list.f-ml7em dd { margin-left: 7em;}
.dl-float-list.f-ml8em dd { margin-left: 8em;}
.dl-float-list.f-ml9em dd { margin-left: 9em;}
.dl-float-list.f-ml10em dd { margin-left: 10em;}
.dl-float-list.f-ml11em dd { margin-left: 11em;}
.dl-float-list.f-ml12em dd { margin-left: 12em;}
.dl-float-list.f-ml13em dd { margin-left: 13em;}
.dl-float-list.f-ml14em dd { margin-left: 14em;}
.dl-float-list.f-ml15em dd { margin-left: 15em;}
.dl-float-list.f-ml16em dd { margin-left: 16em;}
.dl-float-list.f-ml17em dd { margin-left: 17em;}
.dl-float-list.f-ml18em dd { margin-left: 18em;}
.dl-float-list.f-ml19em dd { margin-left: 19em;}
.dl-float-list.f-ml20em dd { margin-left: 20em;}
.dl-float-list.f-ml21em dd { margin-left: 21em;}
.dl-float-list.f-ml22em dd { margin-left: 22em;}
.dl-float-list.f-ml23em dd { margin-left: 23em;}
.dl-float-list.f-ml24em dd { margin-left: 24em;}
.dl-float-list.f-ml25em dd { margin-left: 25em;}
.dl-float-list.f-ml26em dd { margin-left: 26em;}
.dl-float-list.f-ml27em dd { margin-left: 27em;}
.dl-float-list.f-ml28em dd { margin-left: 28em;}
.dl-float-list.f-ml29em dd { margin-left: 29em;}
.dl-float-list.f-ml30em dd { margin-left: 30em;}
.dl-float-list.f-ml40em dd { margin-left: 40em;}
.dl-float-list.f-ml47em dd { margin-left: 47em;}
.dl-float-list.f-ml50em dd { margin-left: 50em;}



#tmpl_main .lst_sq li {
	position: relative;
	padding-left: 1em;
}
#tmpl_main .lst_sq li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	display: block;
	width: 0.2em;
	height: 0.2em;
	border-radius: 0.2em;
	color: #000;
	background: #000;
}
#tmpl_main .lst_sq02 li {
	position: relative;
	padding-left: 1em;
	list-style-type: none !important;
}
#tmpl_main .lst_sq02 li:before {
	content: "●";
	position: absolute;
	left: -6px;
	top: 1%;
	display: block;
	width: 0.2em;
	height: 0.2em;
	border-radius: 0.2em;
	color: #000;
}
#tmpl_main .lst_num {
	padding-left: 1.4em;
}
#tmpl_main .lst_num2,#tmpl_main .lst_num3 {
	padding-left: 2em;
}
#tmpl_main .lst_num3 {
	padding-left: 4em;
}

#tmpl_main .lst_num li:not(:last-child), #tmpl_main .lst_num2 li:not(:last-child) {
	margin-bottom: 10px;
}
.dl-float-list02.f-ml15em dd {
    margin-left: 15em;
}
.dl-float-list02.f-ml8em dd {
    margin-left: 8em;
}
.dl-float-list02.f-ml9em dd {
    margin-left: 9em;
}
.dl-float-list02 dt {
    float: left;
    clear: both;
}
.dl-float-list02 {
    overflow: hidden;
}
/* for ie */
@media all and (-ms-high-contrast:none) {
#tmpl_main .lst_num {
	padding-left: 1.6em;
}
#tmpl_main .lst_num2 {
	padding-left: 2.2em;
}
}
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, #tmpl_main .lst_num {
	padding-left: 1.6em;
}
	*::-ms-backdrop, #tmpl_main .lst_num2 {
	padding-left: 2.2em;
}
}
_:-ms-lang(x), _::-webkit-meter-bar,#tmpl_main .lst_num {
	padding-left: 1.6em;
}
_:-ms-lang(x), _::-webkit-meter-bar,#tmpl_main .lst_num2 {
	padding-left: 2.2em;
}

#tmpl_main .lst_num li, #tmpl_main .lst_num2 li,#tmpl_main .lst_num3 li{
	list-style-type: decimal;
}
#tmpl_main .lst_non li {
	list-style-type: none;
}
@media screen and (max-width: 640px) {
	.dl-float-list {
		display: block;
		width: 100%;
	}
	.dl-float-list:not(.sp-float) > dt {
		float: none;
	}
	.dl-float-list:not(.sp-float) > dd {
		margin-left: auto !important;
	}
	.dl-float-list dd:not(:last-child) {
		margin-bottom: 1em;
	}
	.dl-float-list02 {
		display: block;
		width: 100%;
	}
	.dl-float-list02:not(.sp-float) > dt {
		float: none;
	}
	.dl-float-list02:not(.sp-float) > dd {
		margin-left: auto !important;
	}
	.dl-float-list02 dd:not(:last-child) {
		margin-bottom: 1em;
	}
    .mb-defalt {
		margin-bottom: 1em !important;
	}
	.mb40 {
		margin-bottom: 20px !important;
	}
	.mb50 {
		margin-bottom: 25px !important;
	}
	.mb60 {
		margin-bottom: 30px !important;
	}
	.mb70 {
		margin-bottom: 35px !important;
	}
	.mb80 {
		margin-bottom: 40px !important;
	}
	.mb90 {
		margin-bottom: 45px !important;
	}
	.w335 { width: auto !important; }
}

/* ==========================================
	03 Layout
========================================== */
/* fonts */
@font-face {
    font-family: "SST";
    src: url("../fonts/SSTJpPro-Regular.woff") format("woff");
    font-weight: normal;
}

@font-face {
    font-family: "SST";
    src: url("../fonts/SSTJpPro-UltraLight.woff") format("woff");
    font-weight: 300;
}

@font-face {
    font-family: "SST";
    src: url("../fonts/SSTJpPro-Bold.woff") format("woff");
    font-weight: bold;
}


/* main */
#tmpl_main {
    width: 100% !important;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    line-height: 1.6;
}
#tmpl_content {
    background-color: #fff;
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}
#tmpl_main a {
    color: #000000;
    text-decoration: underline;
}
#tmpl_main a:hover {
    color: #000000;
    text-decoration: none;
}
#tmpl_main ul, #tmpl_main ol {
    margin: 0;
    padding: 0;
    list-style: none;
}
span.reverse{
    font-family: Arial, Helvetica, sans-serif;
}
#tmpl_contentMenu_bar {
    -webkit-font-smoothing: antialiased;
    min-width: 1190px;
    background: #fff;
    border-bottom: #c8c8c8 solid 1px;
}
#tmpl_contentMenu_bar_base {
    position: relative;
    width: 1190px;
    margin: 0 auto;
    max-width: 1190px;
}
#tmpl_contentMenu_breadcrumbs {
    font-size: 75%;
    line-height: 1.8;
    padding: 0.5rem 0 0.5rem 0 !important;
    color: #656565;
    overflow: hidden;
}
#tmpl_contentMenu_breadcrumbs li {
    float: left;
    padding-right: 0.5em;
}
#tmpl_contentMenu_breadcrumbs li:not(:last-child):after {
    content: '>';
    padding-left: 0.5em;
}
#tmpl_contentMenu_breadcrumbs a {
    color: #656565;
    text-decoration: none;
}
#tmpl_contentMenu_breadcrumbs a:hover {
    color: #656565;
    text-decoration: underline;
}
#tmpl_contentMenu_bar_base .ttlArea {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}
#tmpl_contentMenu_bar_base .ttlArea .ttl_l {
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.8;
}
#tmpl_contentMenu_bar_base .ttlArea a {
    color: #595959;
    text-decoration: none;
}
#tmpl_contentMenu_bar_base .ttlArea a:hover {
    text-decoration: underline;
}
#tmpl_contentMenu_bar_base .ttlArea .ttl_r {
    font-size: .85rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #000;
}
#tmpl_contentMenu_bar_base .ttlArea .ttr_la::before{
    content: '\025b6';
    padding-right: 0.5em;
}
#mainContants {
    margin: 3rem auto 0;
    width: 1190px;
    background: #FFF;
}
.section {
    margin: 0 auto 6rem;
}
.ttl-01 {
    margin-bottom: 2.7rem;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1.4;
}
.ttl-02 {
    margin-bottom: 1.5rem;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.6;
}
.ttl-03 {
    margin-bottom: 1rem;
    font-weight: bold;
    font-size: 1.35rem;
    line-height: 1.7;
}
.ttl-04 {
    margin-bottom: 1rem;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1.7;
}
.ml-13{
    margin-left: -13px;
}
@media screen and (max-width: 640px) {
  #tmpl_main {
      width: 100% !important;
      margin: 0;
      padding: 0;
      line-height: 1.6;
  }
	#tmpl_main img {
		max-width: 100%;
	}
  #tmpl_main #tmpl_contentMenu_bar {
      -webkit-font-smoothing: antialiased;
      min-width: 100%;
      background: #fff;
      border-bottom: #c8c8c8 solid 1px;
  }
  #tmpl_main #tmpl_contentMenu_bar #tmpl_contentMenu_bar_base {
      position: relative;
      width: 100%;
      margin: 0 auto;
      max-width: 100%;
  }
  #tmpl_main #tmpl_contentMenu_bar #tmpl_contentMenu_bar_base #tmpl_contentMenu_breadcrumbs {
      padding: 0.5rem 1rem !important;
  }
  #tmpl_contentMenu_bar_base .ttlArea {
      margin: 0 1rem 0.5rem 1rem;
      display: block;
  }
  #tmpl_contentMenu_bar_base .ttlArea .ttl_l {
      margin: 0 auto 0.25rem;
  }
  #mainContants {
      width: 100%;
      font-size: 85%;
      margin: 1.5rem auto 0;
  }
  .section {
      margin-bottom: 3em;
      padding: 0 20px;
  }
  .ttl-01 {
      margin-bottom: 2.2rem;
      font-size: 1.4rem;
  }
  .ttl-02 {
      margin-bottom: 1rem;
      font-size: 1.1rem;
  }
  .ttl-03 {
      margin-bottom: 0.5rem;
      font-size: 0.95rem;
  }
  .ttl-04 {
      margin-bottom: 0.5rem;
      font-size: 0.9rem;
  }
}

/****************************************
          Clearfix
*****************************************/
.clearfix:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: " ";
  font-size: 0;
}

/* clearfix for ie7 */
.clearfix {
  display: inline-block;
}

.clearfix {
  display: block;
}



/****************************************
          navigation
*****************************************/
#galleryMenu {
    background: #2f2d33;
    min-width: 1190px;
}
#galleryMenu .sp {
    display: none;
}
#galleryMenu .inner {
    margin: 0 auto;
    width: 1190px;
}
#galleryMenu nav li {
    float: left;
    border-right: 2px solid #000000;
    font-size: 80%;
    font-weight: bold;
    text-align: center;
}
#galleryMenu nav li:first-child {
    border-left: 2px solid #000000;
}
#galleryMenu nav li a {
    width: 116px;
    display: block;
    background-position: center 20px;
    padding: 66px 15px 20px;
    background-repeat: no-repeat;
    color: #ffffff;
    background-size: 40px 36px;
    text-decoration: none;
}
#galleryMenu nav li a:hover {
    text-decoration: none;
}
#galleryMenu nav li:first-child a,
#galleryMenu nav li:last-child a{
    width: 118px;
}
#galleryMenu nav li.top a {
    background-image: url(../img/icon_top.png);
}
#galleryMenu nav li.schedule a {
    background-image: url(../img/icon_schedule.png);
}
#galleryMenu nav li.archive a {
    background-image: url(../img/icon_archive.png);
}
#galleryMenu nav li.about a {
    background-image: url(../img/icon_about.png);
}
#galleryMenu nav li.public a {
    background-image: url(../img/icon_public.png);
}
#galleryMenu nav li.access a {
    background-image: url(../img/icon_access.png);
}
#galleryMenu nav li.qa a {
    background-image: url(../img/icon_qa.png);
}
#galleryMenu nav li.Instagram a {
    background-image: url(../img/instagram.png);
}
#galleryMenu nav li.movie a {
    background-image: url(../img/movie.png);
}
#galleryMenu nav li a:hover,
#top #galleryMenu nav li.top a, #schedule #galleryMenu nav li.schedule a, #archive #galleryMenu nav li.archive a,
#about #galleryMenu nav li.about a, #public #galleryMenu nav li.public a, #access #galleryMenu nav li.access a, #qa #galleryMenu nav li.qa a,
#movie #galleryMenu nav li.movie a {
    color: #000000;
    background-color: #ebeaeb;
}

@media screen and (max-width: 640px) {
  #galleryMenu {
      min-width: 100%;
  }
  #galleryMenu .sp {
      display: block;
  }
  #galleryMenu .inner {
      width: 100%;
      margin: 0 auto;
  }
  #galleryMenu nav .btn {
      font-size: 12px;
      line-height: 40px;
      color: #b7b5b5;
      padding: 0 45px 0 0;
      text-align: right;
      background: #36333a url(../img/nav_open.png) right 21px center no-repeat;
      background-size: 16px 9px;
  }
  #galleryMenu nav .btn.open {
      background: #36333a url(../img/nav_close.png) right 21px center no-repeat;
      background-size: 16px 9px;
  }
  #galleryMenu nav ul {
      display: none;
  }
  #galleryMenu nav li {
      float:none;
      text-indent: 0px;
      text-align: left;
      border-right: 0;
  }
  #galleryMenu nav li a {
      display: block;
      width: 100% !important;
      height: 49px;
      background: #66626c !important;
      background-size: 12px 7px !important;
      border-bottom: solid 1px #33303a;
      border-top: solid 1px #8a8592;
      font-size: 12px;
      line-height: 49px;
      color: #fff !important;
      box-sizing: border-box;
      padding: 0 0 0 30px;
  }
  #galleryMenu nav li:first-child {
      border-left: 0;
  }
  #galleryMenu nav li:first-child a {
      border-top: none;
  }
}



/****************************************
          bottom
*****************************************/
#tmpl_main .btn {
    text-align: center;
}
#tmpl_main .btn a {
    background-color: #2f2d33;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    min-width: 270px;
    display: inline-block;
    padding: 15px;
    text-decoration: none;
}
#tmpl_main .btn a:hover {
    background-color: #ffffff;
    border: 2px solid #2f2d33;
    padding: 13px;
    color: #2f2d33;
}

#tmpl_main .btn_b {
    margin-right: 30px;
    text-align: center;
}

#tmpl_main .btn_b a {
    background-color: #fff;
    border: 2px solid #2f2d33;
    color: #2f2d33;
    text-align: center;
    font-weight: bold;
    min-width: 200px;
    display: inline-block;
    padding: 13px;
    text-decoration: none;
}

#tmpl_main .btn_b a:hover {
    background-color: #2f2d33;
    padding: 13px;
    color: #ffffff;
}

@media screen and (max-width: 640px) {
  #tmpl_main .btn a, #tmpl_main .btn_b a {
      min-width: auto;
      width: 80%;
  }
  #tmpl_main .btn_b {
    margin-right: 0;
    margin-bottom: 20px;
}
}



/****************************************
          pagetop
*****************************************/
.pagetop {
    margin: 0 auto;
    width: 100%;
    height: 0;
}
.pagetop .floater {
    position: static;
    margin: 0 auto;
    width: 100%;
    min-width: 1190px;
    height: 0;
    zoom: 1;
}
.pagetop .floater.fixed {
    position: fixed;
    bottom: 0;
    z-index: 1000;
    height: 0;
}
.pagetop .floater div {
    position: relative;
    margin: 0 auto;
    width: 910px;
}
.pagetop .floater a {
    position: relative;
    top: -74px;
    right: 40px;
    display: block;
    margin: 0 0 0 auto;
    width: 40px;
    height: 32px;
    background-color: #666666;
    background-color: rgba(0,0,0, 0.6);
    border-radius: .125em;
    text-align: center;
    transition: background-color 0.2s ease-out;
    -o-transition: background-color 0.2s ease-out;
    -ms-transition: background-color 0.2s ease-out;
    -moz-transition: background-color 0.2s ease-out;
    -webkit-transition: background-color 0.2s ease-out;
    overflow: hidden;
}
.touch .pagetop .floater a {
    transition: none;
    -o-transition: none;
    -ms-transition: none;
    -moz-transition: none;
    -webkit-transition: none;
}
.pagetop .floater a:hover {
    background-color: #333333;
    background-color: rgba(0,0,0, 0.8);
}
.pagetop .floater a span {
    display: inline-block;
    margin-top: 0.7em;
    width: 16px;
    height: 6px;
    background: url("../img/arrow_pagetop.png") no-repeat;
    background-size: 16px 6px;
    text-indent: -9999em;
}
.pagetop .target {
    position: fixed;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 0px;
    zoom: 1;
}

@media screen and (max-width: 640px) {
  .pagetop {
      margin-top: 22px;
      padding-bottom: 15px;
      min-width: 320px;
  }
  .pagetop .floater {
      width: 100%;
      min-width: 320px;
  }
  .pagetop .floater.fixed {
      position: fixed;
      left: 0;
      bottom: 15px;
  }
  .pagetop .floater a {
      margin: 0 6.3% 0 auto;
      top: -32px;
      right: 0;
      transition: none;
  }
  .pagetop .floater a:hover {
      background-color: rgba(33, 37, 48, 0.4);
  }
  .pagetop .target {
      bottom: 15px;
  }
}

/* contents_footer_panel 20211111追記 */
.contents_footer_panel{
    max-width: 1190px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #f2f2f2;
    padding: 60px 0;
    margin-bottom: 90px;
}
.contents_footer_article{
    flex-basis: 33%;
	margin-right: 60px;
}
.contents_footer_article:last-of-type{
	margin-right: 0;
}
.contents_footer_article a{
    display: block;
    padding: 30px;
    height: 100%;
	background-color: #fff;
    box-sizing: border-box;
	box-shadow: 0 2px 10px rgb(0 0 0 / 10%);
	transition: .1s ease-in;
}
.contents_footer_article a:hover{
	box-shadow: 0 0 2px rgb(0 0 0 / 20%);
	opacity: 0.8;
}
.contents_footer_article a[tabindex="-1"]:hover{
	box-shadow: 0 2px 10px rgb(0 0 0 / 10%);
	opacity: 1;
}
#tmpl_main .contents_footer_article a{
    text-decoration: none;
}
.contents_footer_title{
    display: block;
    font-weight: bold;
    margin-bottom: 15px;
    font-size: 1.35rem;
	line-height: 1;
}
.contents_footer_img{
    line-height: 0;
	margin-bottom: 10px;
}
.contents_footer_img img{
    max-width: 100%;
    width: 100%;
}
.contents_footer_eventTitle{
    font-weight: bold;
	margin-bottom: 10px;
}
.contents_footer_data{
	font-size: 0.85rem;
}
@media screen and (max-width: 640px){
    .contents_footer_panel {
        margin-bottom: 30px;
        padding: 40px 20px;
        flex-direction: column;
    }
    .contents_footer_article{
        flex-basis: 100%;
		margin-right: 0;
        margin-bottom: 40px;
    }
    .contents_footer_article:last-of-type{
        margin-bottom: 0;
    }
    .contents_footer_title{
        font-size: 1.1rem;
    }
	.contents_footer_eventTitle{
        font-size: 0.9rem;
    }
}

/* 2022/03/02 Update */
.gallery_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.gallery_box .box {
    padding: 10px 5px;
}

.gallery_box .box img {
    height: 140px;
}

.gallery_box .caption {
    font-size: 0.6em;
    text-align: right;
}

.gallery_box.-long .box {
    padding: 10px 40px;
}

.gallery_box.-long .box img {
    height: 180px;
}

.gallery_box + .gallery_box {
    margin-top: 30px;
}

.gallery_box img.border {
    border: 1px solid #ccc;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

@media screen and (max-width: 640px) {
    .gallery_box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column wrap;
                flex-flow: column wrap;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
}

/* youtube */
.author-movie-wrap_col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin-bottom: 210px;
}

.author-movie-wrap_col2 .movie-box {
    width: 50%;
    padding: 0 15px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

@media screen and (max-width: 640px) {
    .author-movie-wrap_col2 .movie-box {
        width: 100%;
        padding: 0;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }
    .author-movie-wrap_col2 .movie-box:nth-of-type(1) {
        margin-bottom: 160px;
    }
}

.author-movie-wrap_col4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.author-movie-wrap_col4 .movie-box {
  width: calc(100% / 4 - calc(30px / 4 * 3));
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.author-movie-wrap_col4 .movie-box .author-movie > img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.author-movie-wrap_col4.-col2 .movie-box {
  width: calc(100% / 2 - 15px);
}
.author-movie-wrap_col4.-col3 .movie-box {
  width: calc(100% / 3 - calc(30px / 3 * 2));
}
.author-movie-wrap_col4 .movie-box:not(:first-child) {
  margin-left: 30px;
}
.author-movie-wrap_col4 .movie-box > p {
  margin-top: 20px;
  text-align: center;
  line-height: 1.2;
}

p.captioMovie {
  margin-top: 20px !important;
  margin-bottom: 50px !important;
  font-size: 1.3rem !important;
}

@media screen and (max-width: 640px) {
  .author-movie-wrap_col4 .movie-box,
  .author-movie-wrap_col4.-col2 .movie-box,
  .author-movie-wrap_col4.-col3 .movie-box {
    width: 100%;
  }
  .author-movie-wrap_col4 .movie-box:not(:first-child) {
    margin-left: 0;
    margin-top: 30px;
  }
}

.movie-end {
  display: block;
  margin: 0 auto;
  position: relative;
}
.movie-end::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
}
.movie-end::after {
  content: "Appreciation period Finished";
  display: inline-block;
  padding: 12px 40px;
  background: #000;
  color: #fff;
  letter-spacing: 0.1em;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.movie-end > img {
  width: 100%;
  vertical-align: bottom;
}

/* online contents */
#on_cont h1.ttl-01 {
    margin-bottom: 1.5rem;
}

#on_cont h1.ttl-01 + p {
    margin-bottom: 2.7rem;
}

.table-dl {
    display: table;
}
.table-dl > dt {
    display: table-cell;
    padding-right: 1em;
    white-space: nowrap;
}
.table-dl > dd {
    display: table-cell;
    flex: 1;
}

@media screen and (max-width: 640px) {
    .table-dl {
        display: block;
        margin-bottom: 10px;
    }
    .table-dl > dt,
    .table-dl > dd {
        display: block;
    }
}

dl.sign01 {
  display: flex;
  flex-flow: column wrap;
  align-items: flex-end;
  text-align: center;
}
dl.sign01 dt,
dl.sign01 dd {
  min-width: 300px;
}
dl.sign01 dd {
  margin-top: 1em;
}

._j-contentEnd {
  justify-content: flex-end;
}
._j-contentBetween {
  justify-content: space-between;
}
._j-contentCenter {
  justify-content: center;
}
._a-itemCenter {
  align-items: center;
}
._a-itemStart {
  align-items: flex-start;
}
._a-itemEnd {
  align-items: flex-end;
}
._f-shrinkFixed {
  flex-shrink: 0;
}
._border {
  border: 1px solid #333;
}

._d-inlineBlock {
  display: inline-block;
}

._pc-content {
  display: none;
}

/* PC Only */
@media screen and (min-width: 640px) {
  ._pc-content {
    display: block;
  }
}

.fCoBlue01 {
  color: #065FD4 !important;
}

.img-layout01 {
  display: flex;
}
.img-layout01 > .img {
  flex: 0 0 auto;
}
.img-layout01 > .img img {
  vertical-align: bottom;
}
.img-layout01 > .text {
  width: 100%;
  flex: 1 1 auto;
}
.img-layout01 > .text.-border {
  padding: 16px;
  border: 1px solid #666;
  box-sizing: border-box;
}
.img-layout01 > *:not(:first-child) {
  margin-left: 24px;
}

/* SP STYLES */
@media screen and (max-width: 640.98px) {
  .img-layout01:not(.-spLow) {
    flex-flow: column wrap;
  }
  .img-layout01:not(.-spLow) > *:not(:first-child) {
    margin-top: 24px;
    margin-left: 0;
  }
}

/*-------------------------------------
A11y
-------------------------------------*/

#on_cont,
.wrapper {
  color: #000;
}