@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@600&display=swap');

/* == BASIC ELEMENTS' SETTINGS == */
body {
  margin: 0;
  padding: 0;
  color: #333;
  background: #FFF;
  font-size: 16px;
  line-height: 1.8;
  font-family: "メイリオ", Meiryo,"HiraKakuPro-W3","ヒラギノ角ゴ Pro W3","Helvetica Neue", Helvetica, "Arial", "ＭＳ Ｐゴシック",sans-serif;
  min-width: 1040px;
  -webkit-text-size-adjust: 100%;
}
div,p,form,dl,dt,dd,figure,ul,li { margin:0; padding:0 }
ul,ol { list-style:none }
a,
a:link,
a:visited { color: #06A; text-decoration: underline }
a:hover,
a:active { color: #06A; text-decoration: none }
a:focus, a:active, a:hover,
div:focus, div:active, div:hover,video:focus { outline: none }
p { margin-bottom: 20px }
img { border: none; vertical-align: bottom }
summary { list-style-type:none }
summary::-webkit-details-marker { display:none }
.topToFix { margin-right: 10px; right: 0; bottom: 10px }
.dspPC { display: block }
.dspTAB { display: none }
.dspSP { display: none }
a[name] { display: block; margin-top:-157px; padding-top:157px }

/*===================== HEAD ===================== */
header { position:relative; padding-bottom:157px }
header .headerTop {
  width: 1040px;
  margin: auto;
  height: 100px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header .headerTop .headLogo a,
header .headerTop .headSns { display: flex; align-items: center }
header .headerTop .headSns a { display: block; margin-right: 15px; color: #037; height: 60px; text-align: center; box-sizing: border-box; font-weight: bold }
header .headerTop .headSns a > img { display: block; margin: auto }
header .headerTop .headSns a.dratike { width: 120px; border-left:#d0d0d0 1px solid; margin-right: 0; font-size: 14px }
header .headerTop .headSns a.dratike > img { margin-top: 8px; margin-bottom: 10px }
header .headerTop .headSns a.onlineshop { width: 120px; border-left:#d0d0d0 1px solid; margin-right: 0; font-size: 14px }
header .headerTop .headSns a.onlineshop > img {margin-top: 4px; margin-bottom: 4px }
header .headerTop .headSns a.fcmypage { width: 120px; border-left:#d0d0d0 1px solid; margin-right: 0; font-size: 14px }
header .headerTop .headSns a.fcmypage > img {margin-top: 8px; margin-bottom: 8px }
header .headerTop .headSns a.ssowner { width: 120px; border-left:#d0d0d0 1px solid; margin-right: 0; font-size: 14px }
header .headerTop .headSns a.ssowner > img { margin-top: 8px; margin-bottom: 8px }
header nav { border-top:#e6e6e6 1px solid; border-bottom:#e6e6e6 1px solid }
header .dspPC { position:fixed; width:100%; height:157px; top:0; z-index:100; background-color:#FFF }
header .dspPC nav ul {
  width: 1040px;
  padding: 0; list-style: none;
  margin: auto;
  height: 54px;
  display: flex;
  justify-content: flex-start
}
header .dspPC nav ul li {
  font-size: 14px;
  line-height: 54px;
  flex-grow: 0;
  width: 17%;
}
header .dspPC nav ul li a { display: block; text-align: center; font-weight: bold }
header .dspPC nav ul li a,
header .dspPC nav ul li a:link,
header .dspPC nav ul li a:visited { color: #037 }
header .dspPC nav ul li a:hover,
header .dspPC nav ul li a:active { text-decoration: underline }
header .dspPC nav ul li:nth-of-type(4) { width: 19% }
header .dspPC nav ul li:nth-of-type(6) { width: 23% }
header .dspPC nav ul li:nth-of-type(7) { width: 27% }
header .dspPC nav ul li:nth-of-type(8) { width: 23% }
header .dspPC nav ul li:nth-of-type(9) { width: 21% }
header .dspPC nav label { cursor :pointer }
header .dspPC nav label:before { content: "\f105"; font-family: "Font Awesome 5 Free"; font-weight: 900; display: inline-block; color: #037; font-size: 20px; line-height: 54px; width: 50px; text-align: center }
header .dspPC nav input { display: none }
header .dspPC nav li.main { display: block; opacity: 1 }
header .dspPC nav li.sub { display: none; overflow: hidden; width: 0; padding: 0; opacity: 0; transition: 0.8s }
header .dspPC nav input:checked ~ label:before { content: "\f104" }
header .dspPC nav input:checked ~ li.sub { display: block; opacity: 1; width: 11% }
header .dspPC nav input:checked ~ li.sub.w15 { width: 15% }
header .dspPC nav input:checked ~ li.sub.w15-5 { width: 15.5% }
header .dspPC nav input:checked ~ li.main { display: none; opacity: 0 }
@media print {
  header { padding-bottom:0 }
  header .dspPC { position: relative }
}

/*===================== FOOT ===================== */
footer { min-width: 1040px; max-width: 100%; background-color: #222; padding-bottom: 10px }
footer .footerWrap { width: 1040px; max-width: 100%; margin: auto; padding: 40px 0 20px }
footer .footSNS i[class^="fa"] { font-size: 35px; line-height: 60px }
footer .footSNS i[class$="facebook"] { font-size: 32px }
footer .footSNS i[class$="twitter"] { font-size: 30px }
footer .footSNS a { display: block; margin-right: 15px; color: #FFF; height: 60px; text-align: center; box-sizing: border-box; font-weight: bold }
/* footNavi */
footer .footNav { font-size: 14px; margin:40px 0; display:flex; flex-wrap:wrap }
footer .footNav,
footer .footNav a { color:#FFF }
footer .footNav > .column { width:25% }
footer .footNav .column > a { display:inline-block; margin-bottom:10px; font-weight:bold }
footer .footNav details { margin-bottom:10px; font-weight:bold }
footer .footNav details { cursor:pointer; transition: .5s }
footer .footNav summary { position: relative; transition: 0.2s }
footer .footNav summary:after { content:"+"; padding-left:15px }
footer .footNav details[open] summary:after,
footer .footNav summary details[open] summary:after { content: "−" }
footer .footNav summary + ul { padding-left:15px; list-style:none; margin-top:5px; font-weight:normal }
footer .footNav summary + ul > li { margin-bottom:5px }

/* footLINK */
footer .footLink { border-top: #666 1px solid; padding:100px; font-size: 14px }
footer .footLink ul {
  margin: 0; padding: 0; list-style: none;
  margin-bottom: 40px;
  display: flex;
  justify-content: space-evenly;
}
footer .footLink ul li a,
footer .footLink ul li a:link,
footer .footLink ul li a:visited { color: #FFF }
/* Copyright */
footer > p { text-align: center }
footer > p > small { color: #FFF; font-size: 10px }
footer .footLink { padding: 10px; font-size: 13px }
footer nav ul { list-style: none; margin: 0 0 30px; padding: 0 }
footer nav ul li { border-bottom: #666 1px solid }
footer nav ul li:first-of-type { border-top: #666 1px solid }
footer nav ul li > a,
footer nav ul li > a:link,
footer nav ul li > a:visited { display: block; padding: 8px; color: #FFF; font-weight: 900 }

/*===================== MIDASHI ===================== */
h3,
h3[class^="h3"] {
  margin: 0 0 10px;
  padding: 4px 2px 4px 8px;
  min-height: 22px;
  font-size: 125.0%;
  line-height: 1.5;
  position: relative;
}
h3      { color: #00418D; border-left: 6px solid #00418D }
h3.h3B  { color: #06B; border-left: 6px solid #06B }
h3.h3R  { color: #F33; border-left: 6px solid #F33 }
h3.h3P  { color: #FD5C85; border-left: 6px solid #FD5C85 }
h3.h3D  { color: #666; border-left: 6px solid #666 }
h3.h3G  { color: #090; border-left: 6px solid #090 }
h3.h3Y  { color: #F90; border-left: 6px solid #F90 }
h3.h3Or { color: #FF7F00; border-left: 6px solid #FF7F00 }

h3[class^="h3-bar"] {
  margin: 0 0 10px;
  padding: 8px 2px 8px 15px;
  min-height: 22px;
  position: relative;
}
h3.h3-bar   { color: #FFF; border: none; background-color: #00418D }
h3.h3-barB  { color: #FFF; border: none; background-color: #06B }
h3.h3-barRB { color: #00418E; border: none; background-color: #E6F0FF }
h3.h3-barR  { color: #FFF; border: none; background-color: #F55 }
h3.h3-barP  { color: #FFF; border: none; background-color: #FD5C85 }
h3.h3-barD  { color: #FFF; border: none; background-color: #666 }
h3.h3-barG  { color: #FFF; border: none; background-color: #35AA35 }
h3.h3-barY  { color: #FFF; border: none; background-color: #FC0 }
h3.h3-barOr { color: #FFF; border: none; background-color: #FF7F00 }

h3[class^="h3-box"] {
  padding:6px 15px;
  margin:0 0 15px;
  color:#333;
  background: none;
  border-style: solid;
  border-width: 2px;
}
h3[class^="h3-Lline"] {
  padding:6px 2px 6px 14px;
  margin:0 0 15px;
  color:#333;
  background: none;
  border-left-width: 4px;
  border-left-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
h3[class^="h3-line"] {
  padding:6px 0 6px 15px;
  margin:0 0 15px;
  color:#333;
  background: none;
  border-left: none;
  border-bottom-width:2px;
  border-bottom-style:solid;
}
h3.h3-line { color:#00418D }
h3.h3-lineB { color:#06B }
h3.h3-lineR { color:#F00 }
h3.h3-lineP { color:#FD5C85 }
h3.h3-lineD { color:#666 }
h3.h3-lineG { color:#35AA35 }
h3.h3-lineY { color:#FC0 }
h3.h3-lineOr { color:#FF7F00 }

h4 { margin: 5px 0; font-size: 112.5%; font-weight: bold; line-height: 1.5 }
h4.h4-icon {
  margin: 0 0 12px;
  padding: 0 2px 0 16px;
  background: url(../image/bg-h4-icon.gif) left center no-repeat;
}
h4[class^="h4-box"] {
  background:none;
  margin:0 0 15px;
  padding:6px 15px;
  border-style: solid;
  border-width: 1px;
}
h4[class^="h4-Lline"] {
  background:none;
  margin:0 0 15px;
  padding:6px 0 6px 10px;
  border-left-style: solid;
  border-left-width: 2px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}
h4[class^="h4-line"] {
  font-size:112.5%;
  font-weight:bold;
  background:none;
  margin:0 0 15px;
  padding:6px 0 6px 15px;
  border-bottom-style: double;
  border-bottom-width: 3px;
}
h4[class^="h4-Lborder"] {
  font-size:112.5%;
  font-weight: bold;
  background: none;
  padding: 0 0 0 5px;
  border-left-style:solid;
  border-left-width:6px;
  margin-bottom: 15px;
}
h4[class^="h4-Lborder"].box {
  border:#CCC 1px solid;
  padding: 4px 7px;
  margin-bottom: 15px;
}
h4[class^="h4-Lborder"].box:before {
  content: "　";
  width: 6px;
  display: inline-block;
  margin-right: 5px;
}
h4[class^="h4-bar"] {
  margin: 0 0 10px;
  padding: 5px 2px 5px 15px;
  position: relative;
}
h4.h4-bar   { color: #FFF; border: none; background-color: #00418D }
h4.h4-barB  { color: #FFF; border: none; background-color: #06B }
h4.h4-barRB { color: #00418E; border: none; background-color: #E6F0FF }
h4.h4-barR  { color: #FFF; border: none; background-color: #F55 }
h4.h4-barP  { color: #FFF; border: none; background-color: #FD5C85 }
h4.h4-barD  { color: #FFF; border: none; background-color: #666 }
h4.h4-barG  { color: #FFF; border: none; background-color: #35AA35 }
h4.h4-barY  { color: #FFF; border: none; background-color: #FC0 }
h4.h4-barOr { color: #FFF; border: none; background-color: #FF7F00 }
h3[class^="h3-"],
h4[class^="h4-"] { border-color: #03328d }
h3[class*="B"],
h4[class*="B"] { border-color: #06B }
h3[class*="R"],
h4[class*="R"] { border-color: #F00 }
h3[class*="P"],
h4[class*="P"] { border-color: #FD5C85 }
h3[class*="D"],
h4[class*="D"] { border-color: #666 }
h3[class*="G"],
h4[class*="G"] { border-color: #35AA35 }
h3[class*="Y"],
h4[class*="Y"] { border-color: #FC0 }
h3[class*="Or"],
h4[class*="Or"] { border-color: #FF7F00 }
h4.h4-Lborder.box:before   { background-color: #00418D }
h4.h4-LborderB.box:before  { background-color: #06B }
h4.h4-LborderR.box:before  { background-color: #F00 }
h4.h4-LborderP.box:before  { background-color: #FD5C85 }
h4.h4-LborderD.box:before  { background-color: #666 }
h4.h4-LborderG.box:before  { background-color: #35AA35 }
h4.h4-LborderY.box:before  { background-color: #FC0 }
h4.h4-LborderOr.box:before { background-color: #FF7F00 }
h5 {
  font-size:106.3%;
  font-weight:bold;
  border-bottom:2px solid #999;
  padding:10px 0 5px;
  margin:0 0 10px;
  line-height:18px;
}
a[class*="list"]:before { content:'\f0da'; font-family: "Font Awesome 5 Free"; font-weight: 900; margin-right: 3px }
a[class*="list"]:hover:before { text-decoration: none }
a.list:before,a.list.textNv,a.textNv { color: #00418D }
a[class*="Bu"],
a[class*="Bu"]:before { color: #06B }
a[class*="Re"],
a[class*="Re"]:before { color: #F00 }
a[class*="Pi"],
a[class*="Pi"]:before { color: #FD5C85 }
a[class*="Y"],
a[class*="Y"]:before { color: #F0A900 }
a[class*="G"],
a[class*="G"]:before { color: #35AA35 }
a[class*="D"],
a[class*="D"]:before,
a[class*="Gr"],
a[class*="Gr"]:before { color: #666 }
a[class*="Or"],
a[class*="Or"]:before { color: #FF7F00 }

.uline { text-decoration: underline !important }
.ulineNo { text-decoration: none !important }

*[class*="text-icon"] {}
*[class*="text-icon"]:before { content: "■"; font-size:1.3em; line-height: 1 }
.text-icon:before   { color: #00418D }
.text-iconB:before  { color: #06B }
.text-iconR:before  { color: #F00 }
.text-iconP:before  { color: #FD5C85 }
.text-iconY:before  { color: #FC0 }
.text-iconD:before  { color: #666 }
.text-iconG:before  { color: #35AA35 }
.text-iconOr:before { color: #FF7F00 }

.qa-8 dt {
  margin-bottom: 1em;
  color: #333333;
  font-weight: 600;
}

.qa-8 dt::before,
.qa-8 dd::before {
  margin-right: .4em;
}

.qa-8 dt::before {
  content: "Q.";
}

.qa-8 dd {
  margin: 0 0 2.5em;
  padding: 1em 1.5em;
  background-color: #f2f2f2;
  color: #333333;
}

.qa-8 dd::before {
  content: "A.";
}

.f70 { font-size: 68.8% }/*11px*/
.f75 { font-size: 75% }/*12px*/
.f80 { font-size: 81.3% }/*13px*/
.f85 { font-size: 87.5% }/*14px*/
.f90 { font-size: 93.8% }/*15px*/
.f100 { font-size: 100% }/*16px*/
.f115 { font-size: 112.5% }/*18px*/
.f125 { font-size: 125% }/*20px*/
.f150 { font-size: 150% }/*24px*/
.f180 { font-size: 187.5% }/*30px*/
.f200 { font-size: 200% }/*32px*/
*[class*="textBo"] { font-weight: bold }
.textRe,.textBoRe { color: #F00 }
.textNv,.textBoNv { color: #00418D }
.textG,.textBoG { color: #393 }
.textW,.textBoW { color: #FFF }
.textBl,.textBoBl { color: #333 !important }
.textBoNo { font-weight: normal }
.bold { font-weight: bold }
.Sat { color: #5BE }
.Holi { color: #F66 }
.logoColorB { color:#003378 }

.flexBox { display: flex }
.flexBox.yoko { flex-direction: row }
.flexBox.centerW { justify-content: center }
.flexBox.end { justify-content: flex-end }
.flexBox.wrap { flex-wrap: wrap }
.flexBox.justify { justify-content: space-between }
.flexBox.space { justify-content: space-around }
.flexBox.top { align-items: flex-start }
.flexBox.bottom { align-items: flex-end }
.flexBox.centerH { align-items: center }
.flexBox.stretch { align-items: stretch }
.flexBox img.auto { width: auto; max-width: 100% }
/* == /BASIC ELEMENTS' SETTINGS == */
/* == BASIC PARTS == */
main.wrapper {
  padding: 0;
  background-color: #FFF;
  margin:0 auto min(6vw,80px);
  position: relative;
  width: 1040px;
  max-width: 100%;
  box-sizing: border-box
}
.wrapper main > h1 {
  border-bottom: 2px solid #E5001B;
  margin: 0 0 30px;
  padding: 15px 10px 10px 10px;
  font-size: min(7vw,24px);
  font-weight: normal;
  line-height: 1.6;
}


/* == = MAIN = */
#main {
  background-color: #fff;
  margin: 0 auto 80px;
  position: relative;
  width: 1040px;
}
.main .main-inner { padding-bottom: 1px; position: relative }

/* ==== CONTENTS ==== */
.contents {
  margin: 0;
  padding: 0 40px 0 0;
  width: 800px;
  float: left;
}
.contents .contents-header {
  margin: 0;
  padding: 0;
  min-height: 60px;
  position: relative;
  border-bottom: 2px solid #E5001B;
}
.contents .contents-header h1,
#breadCrumb + h1 {
  margin: 0;
  padding: 15px 0 15px 10px;
  font-size: 24px;
  font-weight: normal;
  line-height: 38px;
  color: #333;
}
#breadCrumb + h1 { border-bottom: 2px solid #E5001B }
.contents .contents-inner { margin: 0; padding: 20px 0 30px; position: relative }

main.wrapper article section:has(+ .side-bar) { width:800px; max-width:100% }
main.wrapper article section + .side-bar { margin-left:40px }
main.wrapper section > h1 {
  margin: 0 0 20px;
  padding: min(1vw,15px) 0 min(1vw,15px) min(1vw,10px);
  font-size: min(4.8vw,24px);
  font-weight: normal;
  line-height: 1.6;
  color: #333;
  border-bottom: 2px solid #E5001B;
}
/* == = = /CONTENTS = */
/* == = = SIDE_BAR = */
.side-bar {
  width: 200px;
  float: right;
  position: sticky;
  top: 157px;
}
.side-bar div.rcontent .rcontent-header {
  font-size:13px;
  line-height:30px;
  color:#00418D;
  text-align:center;
  background-color:#FFF;
}
.side-bar img { vertical-align: bottom }
.rcontent .rcontent-body { background-color:#00418D }
ul.subnavi,
ul.relnavi,
ul.sublist { margin: 0; padding:10px 0; list-style: none }
ul.subnavi.footList { width: 100%; display:flex }
ul.subnavi li,
ul.sublist li,
ul.relnavi li {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  position: relative;
}
ul.subnavi.footList li {
  line-height: 28px;
  flex-grow: 1;
}
ul.subnavi li a,
ul.relnavi li a {
  display: block;
  color: #FFF;
  padding: 11px 0 11px 15px;
  border-left:#00418D 5px solid;
}
ul.subnavi.footList li a {
  border-left:none;
  padding: 11px 0;
  text-align: center;
}
ul.subnavi li a:hover,
ul.relnavi li a:hover,
ul.subnavi li ul.sublist li a:hover,
ul.relnavi li ul.sublist li a:hover { border-left-color: #E5001B; background-color: #003579; text-decoration: none }
ul.subnavi.footList li a:hover { border-top-color: #E5001B; background-color: #003579; text-decoration: none }
ul.sublist { padding: 0 }
ul.subnavi li ul.sublist li a,
ul.relnavi li ul.sublist li a { padding: 11px 0 11px 15px; border-left:#00418D 15px solid }
ul.subnavi li.newwin a:after {
  content: " ";
  width:12px;
  height: 9px;
  background: url(/image/icon-newwin.gif) no-repeat;
  display: inline-block;
  margin-left: 5px;
}
/* == = /MAIN = */
/* == /BASIC PARTS == */
/* == COMMON CLASSES == */
.clear { clear: both }
.clearfix:after {
  clear: both;
  content: " ";
  display: block;
  height: 0;
  visibility: hidden }
.no-display { display: none }
.center { text-align: center }
.right { text-align: right }
.left { text-align: left }

span.small { font-size: 10px }
span.note { font-size: 10px; color: #666 }
span.link-indent {
  display: block;
  padding-left: 24px;
  text-indent: -24px;
}
p.table-caption {
  margin: 0;
  padding: 0 5px;
  font-size: 18px;
  font-weight: bold;
  line-height: 22px;
  color: #00418D;
}
p.moderato { margin: 2px 0; font-size: 100%; line-height: 167% }
img.pre-icon { padding-right: 4px; vertical-align: middle }
/* == /COMMON CLASSES == */
/* == UTILS == */
button#button-historyback,
button#button-alterpage {
  margin: 0;
  border: none;
  padding: 7px 15px 7px 20px;
  height: 28px;
  font-size: 12px;
  line-height: 14px;
  text-align: center;
  color: #FFF;
  background: url(../image/bg-button_general.gif);
  background-position: 0 0;
  cursor: pointer }

button#button-historyback:hover,
button#button-alterpage:hover { background-position: 0 28px }

button#button-historyback img.post-icon,
button#button-alterpage img.post-icon { padding: 3px 0 6px 6px }

/* == /UTILS == */
/* == BUTTON == */
*[class^="button-"],
.button {
  box-sizing: border-box;
  text-align: center;
  margin: 10px auto;
  width: 100%;
  padding: 0;
  border-radius: 3px
}
*[class^="button-"] > a,
.button > a {
  text-decoration: none;
  display: block;
  color: #FFF;
  padding: 10px 0;
  box-sizing: border-box
}
*[class^="button-"]:hover,
.button:hover { border-radius: 3px }
*[class^="button-"] > a:hover,
.button > a:hover { text-decoration: none; border-radius: 3px }
/*botton circle*/
*[class^="button-"].circle,
.button.circle,
*[class^="button-"].circle > a,
.button.circle > a,
*[class^="button-"].circle > a:hover,
.button.circle > a:hover { border-radius: 50px }
/*botton line*/
*[class^="button-"].line,
.button.line,
*[class^="button-"].line > a,
.button.line > a { background-color: #FFF }

*[class^="button-"].line,
.button.line { border-width: 1px; border-style: solid }

*[class^="button-"].line:hover,
.button.line:hover,
*[class^="button-"].line > a:hover,
.button.line > a:hover { color:#FFF }

/*botton round*/
*[class^="button-"].round,
.button.round,
*[class^="button-"].round > a,
.button.round > a,
*[class^="button-"].round > a:hover,
.button.round > a:hover { border-radius: 10px }

*[class^="button-"].line.round > a,
.button.round > a,
*[class^="button-"].line.round > a:hover,
.button.round > a:hover { border-radius: 9px }

/*botton shadow*/
*[class^="button-"].shadow:hover,
.button.shadow:hover { transform: translateY(2px); box-shadow: none }
.button-navyBg.shadow:hover { border: 2px solid #093779; box-shadow: none }

/*botton 各指定*/
.button { background-color: #EEE; color: #333; box-sizing: border-box }
.button > a { color: #666 }
.button:hover,
.button > a:hover { background-color: #CCC; color: #FFF }
.button.noLink { color: #898989; padding: 10px 0 }
.button.noLink:hover { background-color: #EEE }

.button-navy { border:#03328d 1px solid; background-color: #03328d }
.button-green { border:#009d42 1px solid; background-color: #009d42 }
.button-gray { border:#888 1px solid; background-color: #888 }
.button-navyBg:hover,
.button-navyBg:hover > a,
.button-navyBg > a:hover { background: #FFF; color: #093779 }

.button-navy:hover,.button-navy > a:hover     { color: #03328d; background-color: #FFF }
.button-green:hover,.button-green > a:hover   { color: #009d42; background-color: #FFF }
.button-gray:hover,.button-gray > a:hover     { color: #888; background-color: #FFF }

.button-navy.shadow   { box-shadow: 0 3px #001e7b }
.button-green.shadow  { box-shadow: 0 3px #3e7304 }
.button-gray.shadow   { box-shadow: 0 3px #676565 }
.button.shadow        { box-shadow: 0 3px #9c9c9c }
.button-navyBg.shadow { box-shadow: 0 3px #001533 }

.button-navy.line   { border-color: #093779; color: #093779 }
.button-green.line  { border-color: #529d00; color: #529d00 }
.button-gray.line   { border-color: #888; color: #888 }
.button.line        { border-color: #9c9c9c; color: #9c9c9c }
.button-navyBg.line { border-color: #001533; color: #001533 }

.button-navy.line > a   { color: #093779 }
.button-green.line > a  { color: #529d00 }
.button-gray.line > a   { color: #888 }
.button.line > a        { color: #9c9c9c }
.button-navyBg.line > a { color: #001533 }

.button-navy.line:hover,.button-navy.line > a:hover     { border-color: #093779; background-color: #093779 }
.button-green.line:hover,.button-green.line > a:hover   { border-color: #529d00; background-color: #529d00 }
.button-gray.line:hover,.button-gray.line > a:hover     { border-color: #888; background-color: #888 }
.button.line:hover,.button.line > a:hover               { border-color: #9c9c9c; background-color: #9c9c9c }
.button-navyBg.line:hover,.button-navyBg.line > a:hover { border-color: #001533; background-color: #001533 }

.button-navy.line.shadow:hover   { border: 1px solid #093779; box-shadow: none }
.button-green.line.shadow:hover  { border: 1px solid #529d00; box-shadow: none }
.button-gray.line.shadow:hover   { border: 1px solid #888; box-shadow: none }
.button.line.shadow:hover        { border: 1px solid #9c9c9c; box-shadow: none }
.button-navyBg.line.shadow:hover { border: 1px solid #001533; box-shadow: none }
/*2024カテゴリTOP改修時追加*/
#categoryTOP a[class^="btn"] {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  max-width:500px;
  text-decoration:none !important;
  position:relative;
  padding:min(3vw,10px);
  box-sizing: border-box;
  margin-bottom:min(4vw,25px)
}
#categoryTOP a[class^="btn"].line { margin-bottom:0 }
#categoryTOP a[class^="btn"]:after {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-size: 1.4rem;
  font-weight: 900;
  position:absolute;
  right:10px
}
a[class^="btn"].line { background-color:transparent; margin-bottom:0 }
a.btnNv { background-color:#093779; color:#FFF; text-align:center }
a.btnNv.line { color:#000; border-top:2px #093779 solid }
a.btnNv.line:nth-last-child(-n + 2) { border-bottom:2px #093779 solid }
.circleBtnNv { color: #00418E; border: #00418E 1px solid; line-height: 1.3; padding: min(2vw,5px) min(4vw,15px) 3px; margin-bottom: 7px; text-decoration: none !important; border-radius: 15px; background-color: #FFF; cursor: pointer }

/* == /BUTTON == */
/* == TO TOP == */
.topToFix {
  background-color: #003579;
  width: 50px;
  height: 50px;
  position: sticky;
  bottom:1%;
  position: fixed;
  right:1%
}
.topToFix a { display: block; height: 50px; text-align: center; padding: 5px }
.topToFix img { width: 40px }
/* == /TO TOP == */
/* == ON PRINTING == */
@media print {
  body { background: none; background-color: transparent }
  main { background: none }
  .no-print { display: none }
}
/* == ON PRINTING == */

/* == IMAGE == */
.photo-image-l { margin: 0 15px 15px 0; float: left }
.photo-image-r { margin: 0 0 15px 15px; float: right }
.photo-image-c { margin: 0 auto 15px }

/* == /IMAGE == */
.mg0 { margin: 0 !important }
.mg5 { margin: 5px !important }
.mg10 { margin: 10px !important }
.mg15 { margin: 15px !important }
.mg20 { margin: 20px !important }
.mg25 { margin: 25px !important }
.mg30 { margin: 30px !important }
.mg35 { margin: 35px !important }
.mg40 { margin: 40px !important }
.mg50 { margin: 50px !important }
.mg60 { margin: 60px !important }
.mg70 { margin: 70px !important }
.mg80 { margin: 80px !important }
.mg90 { margin: 90px !important }
.mg100 { margin: 100px !important }
.marginbtm0, .mgB0 { margin-bottom: 0 !important }
.marginbtm5, .mgB5 { margin-bottom: 5px !important }
.marginbtm10, .mgB10 { margin-bottom: 10px !important }
.marginbtm15, .mgB15 { margin-bottom: 15px !important }
.marginbtm20, .mgB20 { margin-bottom: 20px !important }
.marginbtm25, .mgB25 { margin-bottom: 25px !important }
.marginbtm30, .mgB30 { margin-bottom: 30px !important }
.marginbtm30, .mgB35 { margin-bottom: 35px !important }
.marginbtm40, .mgB40 { margin-bottom: 40px !important }
.marginbtm50, .mgB50 { margin-bottom: 50px !important }
.mgB60 { margin-bottom: 60px !important }
.mgB70 { margin-bottom: 70px !important }
.mgB80 { margin-bottom: 80px !important }
.mgB90 { margin-bottom: 90px !important }
.mgB100 { margin-bottom: 100px !important }
.mgT0 { margin-top: 0 !important }
.mgT5 { margin-top: 5px !important }
.mgT10 { margin-top: 10px !important }
.mgT15 { margin-top: 15px !important }
.mgT20 { margin-top: 20px !important }
.mgT25 { margin-top: 25px !important }
.mgT30 { margin-top: 30px !important }
.mgT35 { margin-top: 35px !important }
.mgT40 { margin-top: 40px !important }
.mgT50 { margin-top: 50px !important }
.mgT60 { margin-top: 60px !important }
.mgT70 { margin-top: 70px !important }
.mgT80 { margin-top: 80px !important }
.mgT90 { margin-top: 90px !important }
.mgT100 { margin-top: 100px !important }
.mgL0 { margin-left: 0 !important }
.mgL5 { margin-left: 5px !important }
.mgL10 { margin-left: 10px !important }
.mgL15 { margin-left: 15px !important }
.mgL20 { margin-left: 20px !important }
.mgL25 { margin-left: 25px !important }
.mgL30 { margin-left: 30px !important }
.mgL35 { margin-left: 35px !important }
.mgL40 { margin-left: 40px !important }
.mgL50 { margin-left: 50px !important }
.mgL60 { margin-left: 60px !important }
.mgL70 { margin-left: 70px !important }
.mgL80 { margin-left: 80px !important }
.mgL90 { margin-left: 90px !important }
.mgL100 { margin-left: 100px !important }
.mgR0 { margin-right: 0 !important }
.mgR5 { margin-right: 5px !important }
.mgR10 { margin-right: 10px !important }
.mgR15 { margin-right: 15px !important }
.mgR20 { margin-right: 20px !important }
.mgR25 { margin-right: 25px !important }
.mgR30 { margin-right: 30px !important }
.mgR35 { margin-right: 35px !important }
.mgR40 { margin-right: 40px !important }
.mgR50 { margin-right: 50px !important }
.mgR60 { margin-right: 60px !important }
.mgR70 { margin-right: 70px !important }
.mgR80 { margin-right: 80px !important }
.mgR90 { margin-right: 90px !important }
.mgR100 { margin-right: 100px !important }
.pd0 { padding: 0 !important }
.pd5 { padding: 5px !important }
.pd5p { padding: 5% !important }
.pd10p { padding: 10% !important }
.pd10 { padding: 10px !important }
.pd15 { padding: 15px !important }
.pd20 { padding: 20px !important }
.pd25 { padding: 25px !important }
.pd30 { padding: 30px !important }
.pd35 { padding: 35px !important }
.pd40 { padding: 40px !important }
.pd50 { padding: 50px !important }
.pd60 { padding: 60px !important }
.pd70 { padding: 70px !important }
.pd80 { padding: 80px !important }
.pd90 { padding: 90px !important }
.pd100 { padding: 100px !important }
.pdT0 { padding-top: 0 !important }
.pdT5 { padding-top: 5px !important }
.pdT10 { padding-top: 10px !important }
.pdT15 { padding-top: 15px !important }
.pdT20 { padding-top: 20px !important }
.pdT25 { padding-top: 25px !important }
.pdT30 { padding-top: 30px !important }
.pdT35 { padding-top: 35px !important }
.pdT40 { padding-top: 40px !important }
.pdT50 { padding-top: 50px !important }
.pdT60 { padding-top: 60px !important }
.pdT70 { padding-top: 70px !important }
.pdT80 { padding-top: 80px !important }
.pdT90 { padding-top: 90px !important }
.pdT100 { padding-top: 100px !important }
.pdR0 { padding-right: 0 !important }
.pdR5 { padding-right: 5px !important }
.pdR10 { padding-right: 10px !important }
.pdR15 { padding-right: 15px !important }
.pdR20 { padding-right: 20px !important }
.pdR25 { padding-right: 25px !important }
.pdR30 { padding-right: 30px !important }
.pdR35 { padding-right: 35px !important }
.pdR40 { padding-right: 40px !important }
.pdR50 { padding-right: 50px !important }
.pdR60 { padding-right: 60px !important }
.pdR70 { padding-right: 70px !important }
.pdR80 { padding-right: 80px !important }
.pdR90 { padding-right: 90px !important }
.pdR100 { padding-right: 100px !important }
.pdB0 { padding-bottom: 0 !important }
.pdB5 { padding-bottom: 5px !important }
.pdB10 { padding-bottom: 10px !important }
.pdB15 { padding-bottom: 15px !important }
.pdB20 { padding-bottom: 20px !important }
.pdB25 { padding-bottom: 25px !important }
.pdB30 { padding-bottom: 30px !important }
.pdB35 { padding-bottom: 35px !important }
.pdB40 { padding-bottom: 40px !important }
.pdB50 { padding-bottom: 50px !important }
.pdB60 { padding-bottom: 60px !important }
.pdB70 { padding-bottom: 70px !important }
.pdB80 { padding-bottom: 80px !important }
.pdB90 { padding-bottom: 90px !important }
.pdB100 { padding-bottom: 100px !important }
.pdL0 { padding-left: 0 !important }
.pdL5 { padding-left: 5px !important }
.pdL10 { padding-left: 10px !important }
.pdL15 { padding-left: 15px !important }
.pdL20 { padding-left: 20px !important }
.pdL25 { padding-left: 25px !important }
.pdL30 { padding-left: 30px !important }
.pdL35 { padding-left: 35px !important }
.pdL40 { padding-left: 40px !important }
.pdL50 { padding-left: 50px !important }
.pdL60 { padding-left: 60px !important }
.pdL70 { padding-left: 70px !important }
.pdL80 { padding-left: 80px !important }
.pdL90 { padding-left: 90px !important }
.pdL100 { padding-left: 100px !important }
.lh15 { line-height: 15px }
.lh16 { line-height: 16px }
.lh17 { line-height: 17px }
.lh18 { line-height: 18px }
.lh19 { line-height: 19px }
.lh20 { line-height: 20px }
.lh21 { line-height: 21px }
.lh22 { line-height: 22px }
.lh23 { line-height: 23px }
.lh24 { line-height: 24px }
.lh25 { line-height: 25px }
.lh26 { line-height: 26px }
.lh27 { line-height: 27px }
.lh28 { line-height: 28px }
.lh29 { line-height: 29px }
.lh30 { line-height: 30px }

.image-l,
.text-l { float: left }
.image-r,
.text-r { float: right }
.indent1 { text-indent: 1em; display: inline-block }
ul.textCaution { margin: 0; padding: 0 0 0 1.2em; list-style: none }
ul.textCaution li::before { content: "⚠️"; margin-left: -1.2em; margin-right: 0.2em; display: inline-block }
ul.noList { margin:0; padding:0; list-style:none }
ul.textCaution li .disc li:before,
ul.textCaution li .decimal li:before { content: ""; margin:0 }
ul.textCaution ul li::before {display: none;}


/* ul.textKome { margin: 0; padding: 0 0 0 1.2em; list-style: none }
ul.textKome li:before { content: "※"; margin-left: -1.2em; margin-right: 0.2em; display: inline-block }
ul.noList { margin:0; padding:0; list-style:none }
ul.textKome li .disc li:before,
ul.textKome li .decimal li:before { content: ""; margin:0 } */

a:link, a:visited { text-decoration: none }
a:hover, a:active { text-decoration: underline }

*[class~="hover"]:hover { opacity: 0.70 }

/* == FOR LIST(LOG) PAGES == */
div.list-top { min-height: 22px }
div.list-top p.table-caption { float: left }
div.list-top div.to-history { margin: 4px 0; padding: 0; float: right }
/* == /FOR LIST(LOG) PAGES == */


/* == SOCIAL BOTTOM == */
.social-btn { margin: 0 0 20px 0; padding: 0 0 20px 0 }
.social-btn div { float: left; height: 21px; vertical-align: top }
/* == /SOCIAL BOTTOM == */

/* == NEWSMEMO == */
.newsmemo { padding: 10px 13px; margin-bottom: 15px }
.memoB { background-color: #F1F9FF; border: 1px dotted #1E9FFF }
.memoBno { background-color: #F1F9FF }
.memoR { background-color: #FEE; border: 1px dotted #F55 }
.memoRno { background-color: #FEE }
.memoY { background-color: #FFFFD9; border: 1px dotted #F0C000 }
.memoYno { background-color: #FFFFD9 }
.memoOr { background-color: #fff1e4; border: 1px dotted #F0C000 }
.memoOrno { background-color: #fff1e4 }
.memoG { background-color: #ECFFEC; border: 1px dotted #00B000 }
.memoGno { background-color: #ECFFEC }
.memoGr,
.memoD { background-color: #F7F7F7; border: 1px dotted #666 }
.memoGrno,
.memoDno { background-color: #F7F7F7 }
/* == /NEWSMEMO == */

/* == /BG-HORIZON-LIST/ == */
a.boxlink { position: relative; display: block }
a.boxlink img.boxlink { position: absolute; bottom: 0; right: 0 }
/* == TICKET-SEASONALITY == */
*[class^="seasonalityBg-"] { display: block; font-weight: bold }
*[class^="priceCat-"] { display:inline-block }
.seasonalityBg-pre,
.priceCat-pre { background-color: #003378; color: #FFF }
.seasonalityBg-sta,
.priceCat-sta { background-color: #FFE000; color: #666 }
.seasonalityBg-val,
.priceCat-val { background-color: #AAA; color: #FFF }
.seasonalityBg-dp,
.priceCat-dp { background-color: #CD2910; color: #FFF }
.seasonalityBg-op,
.priceCat-op { background-color: #FF80BF; color: #FFF }
.seasonalityBg-local,
.priceCat-local { background-color: #32AF00; color: #FFF }
/* == /TICKET-SEASONALITY == */
/* DRATICKET */
.guideDraticket table,
.guideDraticket td,
.guideDraticket th { border-spacing: 0; border: none; padding: 0; border-collapse: collapse }
.guideDraticket table { width:100% }
.guideDraticket td { width:49% }
.guideDraticket td:first-child { padding-right: 1% }
.guideDraticket td:last-child { padding-right: 1% }
.guideDraticket .guideDraticketFC { float: left; margin-right: 10px }
.guideDraticket .guideDraticketToroku { float: left }
.draticketBtn300 a {
  width: 300px;
  height: 50px;
  display: block;
  text-indent: -9999px;
  border: #00A5E3 1px solid;
  background:#FFF url(/ticket/sales/image/2017/draticketLogo300.png) no-repeat center center;
  background-size: 250px auto;
}


.draticketBtn300 a:hover { background-color: #00A7E3 }
.draticketBtn300.circle a { border-radius: 50px }
/* /DRATICKET */
/* == REGISTRATION HISTORY == */
div.registration-history {
  margin: 0 0 10px;
  padding: 20px 0 0 0;
}
ul.resume {
  margin: 0;
  padding: 0;
  font-size: 17px;
  line-height: 30px;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
ul.resume li { margin: 0; padding: 0 20px 0 0 }
ul.resume li span.history-current { color: #999 }


/* ======== news/css/news.css ======= */
table.registration-list { margin-bottom: 30px; width: 100% }
table.registration-list th.date,
table.registration-list td.date { width: 112px }
table.registration-list th.uniform-number,
table.registration-list td.uniform-number { width: 46px }
table.registration-list th.position,
table.registration-list td.position { width: 92px }
table.registration-list th.name,
table.registration-list td.name { width: 112px }

/* ======== news/css/detail.css ======= */
div.newsdate {
  margin: 0 20px 10px;
  padding: 0 5px 0;
  font-size: 14px;
  line-height: 20px;
  color: #777;
  text-align: right;
}
div.news-article-area p.post { margin: 0 20px 20px }
.block { padding-bottom:40px }
.top-block,
.sub-block { margin: 0; padding: 0 0 40px 0; width: auto }
div.top-block .blockbox,
div.sub-block .blockbox { padding: 0 0 30px 15px; overflow: hidden }
div[class^="article-photo-"] { padding: 7px; margin-top: 0; margin-bottom: 20px }
div.article-photo-l { margin-right: 20px; float: left }
div.article-photo-r { margin-left: 20px; float: right }
div.article-photo-c { margin-left: auto; margin-right: auto }
div[class^="article-photo-"].noBorder { border: none }
div[class^="article-photo-"] p { margin: 0; padding: 8px 0 0; text-align: left }
div[class^="article-photo-"] p.center { text-align: center }
div[class^="article-photo-"] p.right { text-align: right }
div.bottom-navi {
  margin: 0 0 20px;
  border-top: 1px solid #c2c2c2;
  padding: 28px 0 0;
  text-align: center;
}
/* ======== /news/css/detail.css ======= */
.movieWrap { position: relative; width: calc(100% - 10px); max-width: 760px; margin: 0 auto }
.movieWrap > .iframeWrap { height: 0; padding-bottom: 56.25% }
.movieWrap > .iframeWrap > iframe { position: absolute; top: 0; left: 0 }
ul.disc { list-style: disc; margin:0 0 0 0.2em; padding: 0 0 0 1.1em }
ol.decimal { list-style: decimal; margin:0 0 0 0.2em; padding: 0 0 0 1.1em }

/* ======== 2024.1.10 Ando 改修 ======= */
/*2024改修*/
main details { margin-bottom:min(5vw,40px) }
main details > summary {/*上部アコーディオンナビ*/
  display:flex;
  align-items: center;
  width:1040px;
  max-width:100%;
  background-color:#003884;
  border-bottom:#E5001B min(8vw,6px) solid;
  color:#FFF;
  margin: 1em 0 0;
  padding: min(2vw,7px) min(3vw,20px);
  min-height: min(22vw,80px);
  box-sizing: border-box
}
main details > summary:after { content: "\f078"; font-family: "Font Awesome 5 Free"; font-weight: 900; margin-left:auto; font-size:min(5vw,20px) }
main details[open] summary:after { content: "\f077" }
main details > summary > h1 {
  margin: 0;
  font-family: 'Chakra Petch', sans-serif;
  font-size: min(7vw,32px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  line-height: 1;
  letter-spacing: 5px
}
main details > summary > h1 > span { font-size:min(2.7vw,12px); font-weight:normal; padding:5px 5px 0; letter-spacing:0 }
main details > summary + ul { list-style:none; margin:0; padding:0; background-color:#2661A8; color:#FFF }
main details > summary + ul a,
main details > summary + ul a:link,
main details > summary + ul a:visited { color:#FFF; text-decoration:none }
main details > summary + ul li { border-bottom:#003278 1px solid; padding: 0 min(3vw,20px) }
main details > summary + ul li:last-of-type { border-bottom:none }
main details > summary + ul li a { display: flex; justify-content: space-between; line-height:min(9vw,40px) }
main details > summary + ul li a:after { content: "\f054"; font-family: "Font Awesome 5 Free"; font-weight: 900; margin-left:auto; font-size:min(4vw,20px); color:#003278 }

/*カテゴリTOP*/
#categoryTOP #column2 figure { width:48% }
#categoryTOP #column3 figure { width:30% }
#categoryTOP figure { text-align:center; width: auto; margin-bottom:min(5vw,60px) }
#categoryTOP figure figcaption { color:#003884; font-size:20px; font-weight:900; border-bottom: 6px solid #003884; position: relative }
#categoryTOP figure figcaption:before { content:""; position:absolute; left:0; bottom:-6px; width:33%; height:inherit; border-bottom:6px solid #E5001B }
#categoryTOP figure img { max-width:100% }
#categoryTOP figure a { box-sizing:border-box }
/*スライダー*/
section#sliderWrap { margin-bottom:min(5vw,40px) }
section#sliderWrap li a { text-decoration:none }
section#sliderWrap img { width: 100%; max-width:720px; max-height:540px }
section#sliderWrap li .caption { background-color:#052346; padding:10px; color:#FFF }
section#sliderWrap li .caption p { margin:0 }
section#sliderWrap .slider { background: #fff url('/js/slick/ajax-loader.gif') center center no-repeat; min-height: 540px; max-width: 720px; margin: 0 auto }
section#sliderWrap .slider.slick-initialized { background: inherit; min-height: inherit }
section#sliderWrap .slider > li { display: none }
section#sliderWrap .slick-initialized .slick-slide { display: block }
section#sliderWrap .slick-slider { width:100%; max-width:720px; margin-left:auto; margin-right:auto }
section#sliderWrap .slick-dots { bottom:0; height:37px }
section#sliderWrap .slick-dotted.slick-slider { margin-bottom:0; padding-bottom:40px }
section#sliderWrap .slick-dots li { width:5%; height:5px }
section#sliderWrap .slick-prev,
section#sliderWrap .slick-next { width:40px; height:40px }


/*
==================================================
～1040
==================================================
*/
@media screen and ( max-width:1040px) {
  main > article { padding:min(3.5vw,1em) }
  /*2024カテゴリTOP改修時追加*/
  a.btnNv.line:nth-last-child(2) { border-bottom:none }
  /*カテゴリTOP*/
  #categoryTOP #column2 figure { width:48% }
  #categoryTOP #column3 figure { width:51% }
  /*スライダー*/
  section#sliderWrap .slick-prev,
  section#sliderWrap .slick-next { top: 96%; width:30px; height:30px }
  section#sliderWrap .slick-prev { left:0 }
  section#sliderWrap .slick-next { right:0 }
  .slick-prev:before,
  .slick-next:before { font-size:25px }
}
/*
==================================================
～670
==================================================
*/
@media screen and ( max-width:670px ){
  main details > summary { margin: 0 }/*上部アコーディオンナビ*/
  /*カテゴリTOP*/
  #categoryTOP #column2 figure { width:98% }
  #categoryTOP #column3 figure { width:98% }
  /*スライダー*/
  section#sliderWrap .slick-prev,
  section#sliderWrap .slick-next { top: 94% }
  /* ------ タブ系 ------ */
  .tabWrap .flexBox + div > form { display: block }
  .startinglineupWrap { display: block }
  .startinglineupWrap > .block { width: 100% }
}
