@charset "utf-8";
/* ==============================
title:common.css
update:2018//

--- index ---
1-1.Reset
1-2.Font Text
1-3.Margin
1-4.Padding
1-5.Position
1-6.Float
1-7.None
1-8.Grid Layout

2-1.General Setting
2-2.common
2-3.top-page
============================== */

/****************************************
  1-1.Reset
****************************************/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure,  footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, a {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
input, select {
  vertical-align: middle;
}
button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  font-family: "HiraKakuPro",-apple-system, "Lucida Grande", "Helvetica Neue", "メイリオ", meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  margin: 0;
  padding: 0;
}
pre {
  white-space: pre-wrap;
}
html {
  font-size: 62.5%;
}

hr {
  border: 0;
  border-top: 1px solid #d5d5d5;
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
}
hr.dot {
  background: url(/jp/n5-common/img/hr_dot.svg) repeat-x;
  border-top: none;
  display: block;
  height: 1px;
}

h1, h2, h3, h4, h5, h6, dt, dd, li, caption, th, td, col, p, a, address {
  line-height: 1.6em;
}
main dt, main dd, main li, main caption, main th, main td, main col, main p, main a, main address {
  letter-spacing: .08rem;
}

/****************************************
  1-2.Font Text
****************************************/
/***** Font Style *****/
.font-serif {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HGP明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.transform {
  transform: rotate(0.03deg);
}
.sizeL {
  color: #4d4d4d;
  font-size: 7.2rem;
}
.sizeM {
  color: #333333;
  font-size: 1.9rem;
}
.sizeS {
  color: #666666;
  font-size: 1.4rem;
}

/***** Font Size *****/
.fs10 { font-size: 1.0rem !important; }	.fs11 { font-size: 1.1rem !important; }	.fs12 { font-size: 1.2rem !important; }	.fs13 { font-size: 1.3rem !important; } .fs14 { font-size: 1.4rem !important; }
.fs15 { font-size: 1.5rem !important; }	.fs16 { font-size: 1.6rem !important; }	.fs17 { font-size: 1.7rem !important; } .fs18 { font-size: 1.8rem !important; }	.fs19 { font-size: 1.9rem !important; }
.fs20 { font-size: 2.0rem !important; }	.fs21 { font-size: 2.1rem !important; } .fs22 { font-size: 2.2rem !important; }	.fs23 { font-size: 2.3rem !important; }	.fs24 { font-size: 2.4rem !important; }
.fs25 { font-size: 2.5rem !important; } .fs26 { font-size: 2.6rem !important; }	.fs27 { font-size: 2.7rem !important; }	.fs28 { font-size: 2.8rem !important; }	.fs29 { font-size: 2.9rem !important; }
.fs30 { font-size: 3.0rem !important; }	.fs31 { font-size: 3.1rem !important; }	.fs32 { font-size: 3.2rem !important; }	.fs33 { font-size: 3.3rem !important; } .fs34 { font-size: 3.4rem !important; }
.fs35 { font-size: 3.5rem !important; }	.fs36 { font-size: 3.6rem !important; }	.fs37 { font-size: 3.7rem !important; } .fs38 { font-size: 3.8rem !important; }	.fs39 { font-size: 3.9rem !important; }
.fs40 { font-size: 4.0rem !important; }	.fs41 { font-size: 4.1rem !important; } .fs42 { font-size: 4.2rem !important; }	.fs43 { font-size: 4.3rem !important; }	.fs44 { font-size: 4.4rem !important; }
.fs45 { font-size: 4.5rem !important; } .fs46 { font-size: 4.6rem !important; }	.fs47 { font-size: 4.7rem !important; }	.fs48 { font-size: 4.8rem !important; }	.fs49 { font-size: 4.9rem !important; }
.fs50 { font-size: 5.0rem !important; }

/***** text-align *****/
.txt-left { text-align: left !important; }
.txt-right { text-align: right !important; }
.txt-center { text-align: center !important; }

/***** Vertical-align *****/
.va-top { vertical-align: top; }
.va-mid { vertical-align: middle; }
.va-bot { vertical-align: bottom; }
.va-bas { vertical-align: baseline;}

/***** Color *****/
.txt-red { color: #c0272d !important; }
.txt-blue { color: #10517b !important; }
.txt-green { color: #4B7016 !important; }

/***** Weight *****/
.txt-bold { font-weight: bold !important; }
.txt-normal { font-weight: normal !important; }

/***** hide text *****/
.hide-txt {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

/***** 外字 *****/
.gaiji {
  display: inline-block;
  position: relative;
  vertical-align: baseline;
  max-width: initial;
}
a .gaiji {
  border-bottom: 1px solid #333;
}
a:hover .gaiji {
  border-bottom: none;
}

.gaiji.size-reg {
  height: 1.8rem;
  top: .15em;
}
.gaiji.size-h1 {
  height: 5.5rem;
  top: .03em;
}
.container > h1 .gaiji.size-h1,
.container > section > h1 .gaiji.size-h1 {
  height: 5rem;
  top: .1em;
}
.gaiji.size-h2 {
  height: 3.6rem;
  top: .05em;
}
.gaiji.size-h3 {
  height: 2.6rem;
  top: .03em;
}
.gaiji.size-h4 {
  height: 2.1rem;
  top: .03em;
}
.gaiji.size-h5 {
  height: 1.8rem;
  top: .05em;
}
@media screen and (max-width:768px){
  .gaiji.size-reg {
    height: 1.6rem;
    top: .2em;
  }
  .gaiji.size-h1 {
    height: 3.4rem;
    top: .01em;
  }
  .container > h1 .gaiji.size-h1,
  .container > section > h1 .gaiji.size-h1 {
    height: 3.2rem;
  }
  .gaiji.size-h2 {
    height: 2.9rem;
  }
  .gaiji.size-h3 {
    height: 2.1rem;
  }
  .gaiji.size-h4 {
    height: 1.7rem;
  }
  .gaiji.size-h5 {
    height: 1.5rem;
    top: .03em;
  }
}

/****************************************
  1-3.Margin
****************************************/
/***** Margin All *****/
.m0  { margin:  0px !important; }	.m4  { margin:  4px !important; }	.m6  { margin:  6px !important; }	.m8  { margin:  8px !important; } .m10 { margin: 10px !important; } .m12 { margin: 12px !important; }
.m16 { margin: 16px !important; }	.m20 { margin: 20px !important; } .m24 { margin: 24px !important; }	.m28 { margin: 28px !important; }	.m32 { margin: 32px !important; }	.m36 { margin: 36px !important; }
.m40 { margin: 40px !important; }	.m44 { margin: 44px !important; }	.m48 { margin: 48px !important; }	.m52 { margin: 52px !important; } .m56 { margin: 56px !important; }	.m60 { margin: 60px !important; }
.m64 { margin: 64px !important; }	.m68 { margin: 68px !important; } .m72 { margin: 72px !important; }	.m76 { margin: 76px !important; }	.m80 { margin: 80px !important; }	.m84 { margin: 84px !important; }
.m88 { margin: 88px !important; }	.m92 { margin: 92px !important; }	.m96 { margin: 96px !important; }	.m100 { margin: 100px !important; }

/***** Margin Top *****/
.mT0  { margin-top:  0px !important; } .mT4  { margin-top:  4px !important; } .mT6  { margin-top:  6px !important; } .mT8  { margin-top:  8px !important; } .mT10 { margin-top: 10px !important; }
.mT12 { margin-top: 12px !important; } .mT16 { margin-top: 16px !important; }	.mT20 { margin-top: 20px !important; } .mT24 { margin-top: 24px !important; }	.mT28 { margin-top: 28px !important; }
.mT32 { margin-top: 32px !important; } .mT36 { margin-top: 36px !important; } .mT40 { margin-top: 40px !important; } .mT44 { margin-top: 44px !important; }	.mT48 { margin-top: 48px !important; }
.mT52 { margin-top: 52px !important; } .mT56 { margin-top: 56px !important; }	.mT60 { margin-top: 60px !important; } .mT64 { margin-top: 64px !important; }	.mT68 { margin-top: 68px !important; }
.mT72 { margin-top: 72px !important; } .mT76 { margin-top: 76px !important; }	.mT80 { margin-top: 80px !important; } .mT84 { margin-top: 84px !important; } .mT88 { margin-top: 88px !important; }
.mT92 { margin-top: 92px !important; } .mT96 { margin-top: 96px !important; }	.mT100 { margin-top: 100px !important; }

/***** Margin Bottom *****/
.mB0  { margin-bottom:  0px !important; } .mB4  { margin-bottom:  4px !important; }	.mB6  { margin-bottom:  6px !important; }	.mB8  { margin-bottom:  8px !important; } .mB10 { margin-bottom: 10px !important; }
.mB12 { margin-bottom: 12px !important; }	.mB16 { margin-bottom: 16px !important; } .mB20 { margin-bottom: 20px !important; } .mB24 { margin-bottom: 24px !important; }	.mB28 { margin-bottom: 28px !important; }
.mB32 { margin-bottom: 32px !important; }	.mB36 { margin-bottom: 36px !important; } .mB40 { margin-bottom: 40px !important; }	.mB44 { margin-bottom: 44px !important; }	.mB48 { margin-bottom: 48px !important; }
.mB52 { margin-bottom: 52px !important; } .mB56 { margin-bottom: 56px !important; }	.mB60 { margin-bottom: 60px !important; }	.mB64 { margin-bottom: 64px !important; }	.mB68 { margin-bottom: 68px !important; }
.mB72 { margin-bottom: 72px !important; }	.mB76 { margin-bottom: 76px !important; }	.mB80 { margin-bottom: 80px !important; }	.mB84 { margin-bottom: 84px !important; } .mB88 { margin-bottom: 88px !important; }
.mB92 { margin-bottom: 92px !important; }	.mB96 { margin-bottom: 96px !important; }	.mB100 { margin-bottom: 100px !important; }

/***** Margin Left *****/
.mL0  { margin-left:  0px !important; }	.mL4  { margin-left:  4px !important; }	.mL6  { margin-left:  6px !important; }	.mL8  { margin-left:  8px !important; } .mL10 { margin-left: 10px !important; }
.mL12 { margin-left: 12px !important; }	.mL16 { margin-left: 16px !important; }	.mL20 { margin-left: 20px !important; } .mL24 { margin-left: 24px !important; }	.mL28 { margin-left: 28px !important; }
.mL32 { margin-left: 32px !important; }	.mL36 { margin-left: 36px !important; } .mL40 { margin-left: 40px !important; }	.mL44 { margin-left: 44px !important; }	.mL48 { margin-left: 48px !important; }
.mL52 { margin-left: 52px !important; } .mL56 { margin-left: 56px !important; }	.mL60 { margin-left: 60px !important; }	.mL64 { margin-left: 64px !important; }	.mL68 { margin-left: 68px !important; }
.mL72 { margin-left: 72px !important; }	.mL76 { margin-left: 76px !important; }	.mL80 { margin-left: 80px !important; }	.mL84 { margin-left: 84px !important; } .mL88 { margin-left: 88px !important; }
.mL92 { margin-left: 92px !important; }	.mL96 { margin-left: 96px !important; }	.mL100 { margin-left: 100px !important; }

/***** Margin Right *****/
.mR0  { margin-right:  0px !important; } .mR4  { margin-right:  4px !important; }	.mR6  { margin-right:  6px !important; } .mR8  { margin-right:  8px !important; } .mR10 { margin-right: 10px !important; }
.mR12 { margin-right: 12px !important; } .mR16 { margin-right: 16px !important; } .mR20 { margin-right: 20px !important; } .mR24 { margin-right: 24px !important; } .mR28 { margin-right: 28px !important; }
.mR32 { margin-right: 32px !important; } .mR36 { margin-right: 36px !important; } .mR40 { margin-right: 40px !important; } .mR44 { margin-right: 44px !important; }	.mR48 { margin-right: 48px !important; }
.mR52 { margin-right: 52px !important; } .mR56 { margin-right: 56px !important; } .mR60 { margin-right: 60px !important; } .mR64 { margin-right: 64px !important; } .mR68 { margin-right: 68px !important; }
.mR72 { margin-right: 72px !important; } .mR76 { margin-right: 76px !important; }	.mR80 { margin-right: 80px !important; } .mR84 { margin-right: 84px !important; } .mR88 { margin-right: 88px !important; }
.mR92 { margin-right: 92px !important; } .mR96 { margin-right: 96px !important; } .mR100 { margin-right: 100px !important; }

.mBem1 { margin-bottom: 1em !important; }	.mBem1-5 { margin-bottom: 1.5em !important; }	.mBem2 { margin-bottom: 2em !important; }	.mBem2-5 { margin-bottom: 2.5em !important; }

/****************************************
  1-4.Padding
****************************************/
/***** Padding All *****/
.p0  { padding:    0 !important; } .p4  { padding:  4px !important; }	.p6  { padding:  6px !important; } .p8  { padding:  8px !important; } .p10 { padding: 10px !important; } .p12 { padding: 12px !important; }
.p16 { padding: 16px !important; } .p20 { padding: 20px !important; } .p24 { padding: 24px !important; } .p28 { padding: 28px !important; }	.p32 { padding: 32px !important; } .p36 { padding: 36px !important; }
.p40 { padding: 40px !important; } .p44 { padding: 44px !important; }	.p48 { padding: 48px !important; } .p52 { padding: 52px !important; } .p56 { padding: 56px !important; } .p60 { padding: 60px !important; }
.p64 { padding: 64px !important; } .p68 { padding: 68px !important; } .p72 { padding: 72px !important; } .p76 { padding: 76px !important; }	.p80 { padding: 80px !important; } .p84 { padding: 84px !important; }
.p88 { padding: 88px !important; } .p92 { padding: 92px !important; }	.p96 { padding: 96px !important; } .p100 { padding: 100px !important; }

/***** Padding Top *****/
.pT0  { padding-top:  0px !important; } .pT4  { padding-top:  4px !important; } .pT6  { padding-top:  6px !important; } .pT8  { padding-top:  8px !important; } .pT10 { padding-top: 10px !important; }
.pT12 { padding-top: 12px !important; } .pT16 { padding-top: 16px !important; } .pT20 { padding-top: 20px !important; } .pT24 { padding-top: 24px !important; } .pT28 { padding-top: 28px !important; }
.pT32 { padding-top: 32px !important; } .pT36 { padding-top: 36px !important; } .pT40 { padding-top: 40px !important; } .pT44 { padding-top: 44px !important; } .pT48 { padding-top: 48px !important; }
.pT52 { padding-top: 52px !important; } .pT56 { padding-top: 56px !important; } .pT60 { padding-top: 60px !important; } .pT64 { padding-top: 64px !important; } .pT68 { padding-top: 68px !important; }
.pT72 { padding-top: 72px !important; } .pT76 { padding-top: 76px !important; } .pT80 { padding-top: 80px !important; } .pT84 { padding-top: 84px !important; } .pT88 { padding-top: 88px !important; }
.pT92 { padding-top: 92px !important; } .pT96 { padding-top: 96px !important; } .pT100{ padding-top:100px !important; }

/***** Padding Bottom *****/
.pB0  { padding-bottom:  0px !important; } .pB4  { padding-bottom:  4px !important; }	.pB6  { padding-bottom:  6px !important; } .pB8  { padding-bottom:  8px !important; } .pB10 { padding-bottom: 10px !important; }
.pB12 { padding-bottom: 12px !important; } .pB16 { padding-bottom: 16px !important; } .pB20 { padding-bottom: 20px !important; } .pB24 { padding-bottom: 24px !important; } .pB28 { padding-bottom: 28px !important; }
.pB32 { padding-bottom: 32px !important; } .pB36 { padding-bottom: 36px !important; } .pB40 { padding-bottom: 40px !important; } .pB44 { padding-bottom: 44px !important; }	.pB48 { padding-bottom: 48px !important; }
.pB52 { padding-bottom: 52px !important; } .pB56 { padding-bottom: 56px !important; } .pB60 { padding-bottom: 60px !important; } .pB64 { padding-bottom: 64px !important; } .pB68 { padding-bottom: 68px !important; }
.pB72 { padding-bottom: 72px !important; } .pB76 { padding-bottom: 76px !important; }	.pB80 { padding-bottom: 80px !important; } .pB84 { padding-bottom: 84px !important; } .pB88 { padding-bottom: 88px !important; }
.pB92 { padding-bottom: 92px !important; } .pB96 { padding-bottom: 96px !important; } .pB100 { padding-bottom: 100px !important; }

/***** Padding Left *****/
.pL0  { padding-left:  0px !important; } .pL4  { padding-left:  4px !important; } .pL6  { padding-left:  6px !important; } .pL8  { padding-left:  8px !important; } .pL10 { padding-left: 10px !important; }
.pL12 { padding-left: 12px !important; } .pL16 { padding-left: 16px !important; } .pL20 { padding-left: 20px !important; } .pL24 { padding-left: 24px !important; } .pL28 { padding-left: 28px !important; }
.pL32 { padding-left: 32px !important; } .pL36 { padding-left: 36px !important; } .pL40 { padding-left: 40px !important; } .pL44 { padding-left: 44px !important; } .pL48 { padding-left: 48px !important; }
.pL52 { padding-left: 52px !important; } .pL56 { padding-left: 56px !important; } .pL60 { padding-left: 60px !important; } .pL64 { padding-left: 64px !important; } .pL68 { padding-left: 68px !important; }
.pL72 { padding-left: 72px !important; } .pL76 { padding-left: 76px !important; } .pL80 { padding-left: 80px !important; } .pL84 { padding-left: 84px !important; } .pL88 { padding-left: 88px !important; }
.pL92 { padding-left: 92px !important; } .pL96 { padding-left: 96px !important; } .pL100 { padding-left: 100px !important; }

/***** Padding Right *****/
.pR0  { padding-right:  0px !important; } .pR4  { padding-right:  4px !important; }	.pR6  { padding-right:  6px !important; } .pR8  { padding-right:  8px !important; } .pR10 { padding-right: 10px !important; }
.pR12 { padding-right: 12px !important; }	.pR16 { padding-right: 16px !important; } .pR20 { padding-right: 20px !important; } .pR24 { padding-right: 24px !important; } .pR28 { padding-right: 28px !important; }
.pR32 { padding-right: 32px !important; } .pR36 { padding-right: 36px !important; } .pR40 { padding-right: 40px !important; } .pR44 { padding-right: 44px !important; }	.pR48 { padding-right: 48px !important; }
.pR52 { padding-right: 52px !important; } .pR56 { padding-right: 56px !important; } .pR60 { padding-right: 60px !important; }	.pR64 { padding-right: 64px !important; } .pR68 { padding-right: 68px !important; }
.pR72 { padding-right: 72px !important; } .pR76 { padding-right: 76px !important; }	.pR80 { padding-right: 80px !important; } .pR84 { padding-right: 84px !important; } .pR88 { padding-right: 88px !important; }
.pR92 { padding-right: 92px !important; }	.pR96 { padding-right: 96px !important; } .pR100 { padding-right: 100px !important; }

/****************************************
  1-5.Position
****************************************/
.relative { position: relative !important; }
.absolute { position: absolute !important; }

/****************************************
  1-6.Float
****************************************/
.fl, .res-fl { float: left !important; }
.fr, .res-fr { float: right !important; }

@media screen and (max-width: 768px) {
  .res-fl { float: none !important; }
  .res-fr { float: none !important; }
}

/***** Clearfix *****/
.clearfix::after { content: ""; display: block; clear: both; }

/****************************************
  1-7.None
****************************************/
.sp-disp,
.sp-disp-inline,
.cont-none {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc-disp {
    display: none;
  }
  .sp-disp {
    display: block;
  }
  .sp-disp-inline {
    display: inline;
  }
}
/****************************************
  1-8.Grid Layout
****************************************/
.grid {
  align-items: flex-start;
  display: flex;
  flex-wrap: nowrap;
}
.grid > div[class^="column-"] {
  box-sizing: border-box;
  margin: 0 0 36px;
  padding: 0 12px;
}
.grid > div:first-child {
  padding-left: 0;
}
.grid > div:last-child {
  padding-right: 0;
}

.column-1 {
  width: 10%;
}
.column-2 {
  width: 20%;
}
.column-3 {
  width: 30%;
}
.column-4 {
  width: 40%;
}
.column-5 {
  width: 50%;
}
.column-6 {
  width: 60%;
}
.column-7 {
  width: 70%;
}
.column-8 {
  width: 80%;
}
.column-9 {
  width: 90%;
}
@media screen and (max-width:767px){
  .grid {
    flex-direction: column;
  }
  .grid > div[class^="column-"] {
    margin: 0 0 24px;
    padding: 0;
    width: 100%;
  }
}

.grid-column-inner {
  background: #E5E5E5;
  border: 1px solid #989898;
  border-radius : 2px;
  box-sizing: border-box;
  padding: 24px 12px;
}
.grid-column-inner.white {
  background: #ffffff;
  border-color: #b2b2b2;
}
.grid-column-inner.blue {
  background: #ddebf6;
}
.grid-column-inner.red {
  background-color: #f5e9f2;
}
.grid-column-inner.gray {
  background-color: #efefef;
}
@media screen and (max-width:768px){
  .grid-column-inner {
    padding: 12px 16px;
  }
}
/****************************************
  2-1.General Setting
****************************************/
body {
  color: #333333;
  font-size: 1.8rem;
  font-family: "HiraKakuPro",-apple-system, "Lucida Grande", "Helvetica Neue", "メイリオ", meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  -webkit-text-size-adjust: 100%;
  line-height: 1.6em;
  position: relative;
}
/* no-scroll */
body.no-scroll {
  overflow: hidden;
  position: fixed;
  width: 100%;
  width: calc(100% - 17px);
  height: 100vh;
}
.no-scroll .header-inner {
  padding-right: calc(4.17% + 17px);
}

@media screen and (max-width: 1024px) {
  body.no-scroll,
  .no-scroll .header-inner {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  body {
    font-size: 1.6rem;
    min-width: 320px;
  }
  body.no-scroll,
  .no-scroll .header-inner {
    padding-right: 0;
    width: 100%;
  }
}

a {
  color: #333;
  text-decoration: underline;
  word-break: break-word;
  overflow-wrap: break-word;
}
a:hover {
  text-decoration: none;
}
a:active {
  color: #10517b;
}
a:focus {
  text-decoration: none;
}
.has-img {
  text-decoration: none;
}

img {
  border-style: none;
  height: auto;
  outline: none;
  -ms-interpolation-mode: bicubic;
  vertical-align: top;
  max-width: 100%;
}

object, embed, iframe {
  max-width: 100%;
  outline: none;
  vertical-align: top;
}

sup, sub {
  font-size: 1.4rem;
}
sup {
  vertical-align: super;
}
sub {
  vertical-align: sub;
}

p {
  margin: 0 0 1em 0;
}

table {
  background: #fff;
  border-collapse: collapse;
  margin: 0 0 40px 0;
  width: 100%;
}
th,td {
  border: 1px solid #cbcbcb;
  padding: 16px 20px;
  text-align: left;
  vertical-align: top;
}
th p:last-child,
td p:last-child,
th ul:last-child,
td ul:last-child,
th ol:last-child,
td ol:last-child {
  margin: 0;
}
th {
  background: #e5e5e5;
  font-weight: normal;
}
thead th {
  font-size: 2rem;
  font-weight: bold;
  padding: 14px 20px;
  text-align: center;
}

table caption {
  background: #e5e5e5;
  border: 1px solid #cbcbcb;
  box-sizing: border-box;
  font-size: 2rem;
  font-weight: bold;
  margin: 0 0 -1px;
  padding: 14px 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  table {
    table-layout: fixed;
  }
  .table-scroll {
    overflow: auto;
  }
  .table-scroll table {
    max-width: 736px;
  }
  .res-table {
    border: solid #cbcbcb;
    border-width: 1px 1px 0 1px;
    table-layout: fixed;
  }
  th{
    text-align: center;
  }
  td {
    padding: 12px 20px;
  }
  thead th {
    font-size: 1.6rem;
    padding: 15px 20px;
  }
  .res-table th,
  .res-table td {
    box-sizing: border-box;
    border-width: 0 0 1px 0;
    display: block;
    width: 100% !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .a11y-table thead th {
    font-size: 1.4rem;
    padding: 5px;
  }
  .a11y-table thead th:nth-child(3),
  .a11y-table thead th:nth-child(4),
  .a11y-table thead th:nth-child(5) {
    width: 10%;
  }
  .a11y-table tbody th,
  .a11y-table tbody td {
    padding: 10px 5px;
    word-wrap: break-word;
  }
  table caption {
    font-size: 1.6rem;
    padding: 12px 20px;
  }
}

dl {
  border-top: 1px solid #d5d5d5;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 35px 0;
  width: 100%;
}
dl + dl {
  border-top: none;
}
dt {
  border-bottom: 1px solid #d5d5d5;
  box-sizing: border-box;
  font-weight: bold;
  padding: 15px 20px 15px 10px;
  width: 230px;
}
dd {
  border-bottom: 1px solid #d5d5d5;
  box-sizing: border-box;
  padding: 15px 0 15px 20px;
  width: calc(100% - 230px);
}

@media screen and (max-width: 768px) {
  dl dt {
    padding: 16px 10px 16px 0;
    width: 37%;
  }
  dl dd {
    padding: 16px 0 16px 10px;
    width: 63%;
  }

  /* res-dl */
  .res-dl  {
    flex-wrap: nowrap;
  }
  .res-dl dd {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .res-dl {
    flex-wrap: wrap;
  }
  .res-dl dt {
    width: 100%;
  }
}

/***** h1-5 *****/
h1,h2,h3,h4,h5,h6 {
  color: #4d4d4d;
}
h1 {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HGP明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
  font-size: 6.4rem;
  line-height: 1.125em;
  letter-spacing: 0.64rem;
  transform: rotate(0.03deg);
}
.container > h1,
.container > section > h1 {
  font-size: 5.4rem;
  letter-spacing: 0.5rem;
  padding: 104px 0;
}
@media screen and (max-width:768px){
  .container > h1,
  .container > section > h1 {
    font-size: 3.4rem;
    letter-spacing: 0.2rem;
    padding: 33px 0 53px;
  }
}
.detail-page .container > h1,
.detail-page .container > section > h1 {
  font-size: 4.8rem;
  line-height: 1.333em;
  letter-spacing: 0.48rem;
  padding: 112px 0;
}
@media screen and (max-width:768px){
  .detail-page .container > h1,
  .detail-page .container > section > h1 {
    font-size: 3.4rem;
    line-height: 1.47em;
    letter-spacing: 0.255rem;
    padding: 32px 0 52px;
  }
}
.with-date .container > h1,
.with-date .container > section > h1 {
  padding-top: 156px;
}
@media screen and (max-width:768px){
  .with-date .container > h1,
  .with-date .container > section > h1 {
    padding-top: 72px;
  }
}

h2 {
  font-size: 4rem;
  margin: 0 0 28px 0;
  letter-spacing: .2rem;
}
h3 {
  font-size: 3rem;
  margin: 0 0 21px 0;
  letter-spacing: .225rem;
}
h4 {
  font-size: 2.4rem;
  margin: 0 0 13px 0;
  letter-spacing: .12rem;
}
h5 {
  font-size: 2rem;
  margin: 0 0 14px 0;
  letter-spacing: .1rem;
}
.title-like {
  border-bottom: 1px solid #d5d5d5;
  color: #4d4d4d;
  font-size: 2.4rem;
  font-weight: bold;
  margin: 0 0 13px 0;
  letter-spacing: .12rem;
}
@media screen and (max-width:768px){
  h1 {
    font-size: 4rem;
    letter-spacing: 0.4rem;
    line-height: 1.2em;
  }
  h2 {
    font-size: 3.2rem;
    margin: 0 0 10px 0;
  }
  h3 {
    font-size: 2.4rem;
  }
  h4,.title-like {
    font-size: 1.92rem;
  }
  h5 {
    font-size: 1.6rem;
  }
}

/***** ul ol *****/
ul, ol {
  margin: 0 0 35px 0;
}

li + li {
  margin-top: 1em;
}

ul li {
  list-style-type: square;
  margin-left: 19px;
  word-wrap : break-word;
  overflow-wrap : break-word;
}
ul li li {
  list-style-type: circle;
}
ul li li li {
  list-style-type: disc;
}

ol {
  counter-reset: ol-count;
  list-style-type: none;
}
ol li {
  padding-left: 2.5rem;
  position: relative;
  word-wrap : break-word;
  overflow-wrap : break-word;
}
ol li:before {
  content: counter(ol-count)".";
  counter-increment: ol-count;
  display: block;
  left: 0;
  margin-left: 0;
  position: absolute;
  top: 0;
}
ol li ol {
  counter-reset: ol-count2nd 0;
}
ol li ol li {
  padding-left: 1.5em;
}
ol li ol li:before {
  content: counter(ol-count2nd, upper-alpha)".";
  counter-increment: ol-count2nd 1;
}
ol li ol li ol {
  counter-reset: ol-count3rd 0;
}
ol li ol li ol li {
  padding-left: 2.5em;
}
ol li ol li ol li:before {
  content: "（"counter(ol-count3rd)"）";
  counter-increment: ol-count3rd 1;
}

ol.alpha {
  counter-reset: ol-count-alpha 0;
}
ol.alpha li:before {
  content: counter(ol-count-alpha, upper-alpha)".";
  counter-increment: ol-count-alpha 1;
}
ol.alpha li ol {
  counter-reset: ol-count-alpha2nd 0;
}
ol.alpha li ol li:before {
  content: counter(ol-count-alpha2nd)".";
  counter-increment: ol-count-alpha2nd 1;
}
ol.alpha li ol li ol {
  counter-reset: ol-count-alpha3rd 0;
}
ol.alpha li ol li ol li {
  padding-left: 2.5em;
}
ol.alpha li ol li ol li:before {
  content: "（"counter(ol-count-alpha3rd, upper-alpha)"）";
  counter-increment: ol-count-alpha3rd 1;
}

ol ul li:before {
  content: "" !important;
}
ol ul li {
  padding-left: 0 !important;
}

ul ul, ol ol, ul ol, ol ul {
  margin: 1em 0 0 0;
}

.user-bullet-list li {
  list-style-type: none !important;
  margin: 0 0 .3em 0;
  padding-left: 1.5em;
}
.user-bullet-list li .list-span {
  float: left;
  margin-left: -1.5em;
}

.return-page {
  margin-bottom: 50px;
}

.no-border {
  border: none;
}

@media screen and (max-width: 768px) {
  li + li {
    margin-top: 16px;
  }
  ul li {
    margin-bottom: 0;
    margin-left: 1.5em;
  }

  .return-page {
    margin-bottom: 30px;
    padding-left: 10px;
  }
}

/***** Columns *****/
.res-columns,
.columns {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style-type: none;
  width: 100%;
}
.column3::after{
  content: "";
  display: block;
  width: calc((100% / 3) - (40px * 2 / 3));
}
.column4::before{
  content: "";
  display: block;
  width: calc((100% / 4) - (40px * 3 / 4));
  order:1;
}
.column4::after{
  content: "";
  display: block;
  width: calc((100% / 4) - (40px * 3 / 4));
}

.column2 .column-item {
  width: calc((100% / 2) - (40px * 1 / 2));
}
.column3 .column-item {
  width: calc((100% / 3) - (40px * 2 / 3));
}
.column4 .column-item {
  width: calc((100% / 4) - (40px * 3 / 4));
}

.column-ratio2to1 .column-item:nth-child(1n) {
  width: calc((100% / 3 * 2) - (40px * 1 / 2));
}
.column-ratio2to1 .column-item:nth-child(2n) {
  width: calc((100% / 3 * 1) - (40px * 1 / 2));
}
.column-ratio3to1 .column-item:nth-child(1n) {
  width: calc((100% / 4 * 3) - (40px * 1 / 2));
}
.column-ratio3to1 .column-item:nth-child(2n) {
  width: calc((100% / 4 * 1) - (40px * 1 / 2));
}

.column-item {
  margin: 0 0 40px 0;
}

@media screen and (max-width: 768px) {
  .column3::after{
    width: calc((100% / 3) - (16px * 2 / 3));
  }
  .column4::before{
    width: calc((100% / 4) - (16px * 3 / 4));
  }
  .column4::after{
    width: calc((100% / 4) - (16px * 3 / 4));
  }

  .column2 .column-item {
    width: calc((100% / 2) - (16px * 1 / 2));
  }
  .column3 .column-item {
    width: calc((100% / 3) - (16px * 2 / 3));
  }
  .column4 .column-item {
    width: calc((100% / 4) - (16px * 3 / 4));
  }
  .res-columns .column-item,
  .res-columns .section {
    width: 100% !important;
    margin-right: 0;
    padding: 0;
  }

  .main-menu .column-list {
    margin-bottom: 0;
  }
}

.link-columns {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style-type: none;
  width: 100%;
}
.link-columns::after{
  content: '';
  display: block;
  width: calc((100% - 80px) / 3);
}
.link-columns .link-column3 {
  border-radius: 4px;
  list-style-type: none;
  min-height: 173px;
  margin: 0;
  position: relative;
  overflow: hidden;
  width: calc((100% - 80px) / 3);
}
.link-columns .link-column3:nth-child(n + 4) {
  margin-top: 40px;
}
.link-columns .link-column3::before {
  background: rgba(0, 0, 0, 0.7);
  content: '';
  height: 100%;
  position: absolute;
  transition: background-color .3s ease-in-out;
  width: 100%;
  z-index: 2;
}
.link-columns .link-column3:hover::before {
  background: rgba(0, 0, 0, 0.85);
}
.link-column3 .bg-img {
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  max-width: none;
  z-index: 1;
}

.link-column3 .content {
  display: block;
  padding: 20px;
  position: relative;
  text-decoration: none;
  z-index: 3;
}
.link-column3 .content p {
  color: #ffffff;
  margin: 0;
}
.link-column3 .content .title {
  font-size: 2rem;
  margin-bottom: 25px;
  padding: 0 6px 6px;
  position: relative;
  text-align: center;
}
.link-column3 .content .title:after {
  background: #b2b2b2;
  bottom: 0;
  border-radius: 1px;
  content: '';
  left: 0;
  position: absolute;
  height: 2px;
  width: 100%;
}
.link-column3 .content .title span {
  display: inline-block;
  padding-right: 18px;
  position: relative;
}
.link-column3 .content .title span:after {
  background: url(/jp/n5-common/img/arrow_right_white.svg) no-repeat;
  background-size: 8px 14px;
  content:'';
  height: 14px;
  position: absolute;
  right: 0;
  top: .5em;
  transform: translateY(-.1em);
  width: 8px;
}
@media screen and (max-width:1024px){
  .link-column3 .bg-img {
    height: 100%;
    left: 0;
    object-fit: cover;
    top: 0;
    transform: none;
    width: 100%;
  }
  .link-columns::after{
    content: none;
  }
  .link-columns .link-column3 {
    min-height: 138px;
    width: calc((100% - 40px) / 2);
  }
  .link-columns .link-column3:nth-child(n + 3) {
    margin-top: 40px;
  }
}

@media screen and (max-width:767px){
  .link-columns {
    flex-wrap: nowrap;
    flex-direction: column;
  }
  .link-columns .link-column3 {
    margin-top: 20px;
    width: 100%;
  }
  .link-columns .link-column3:nth-child(n + 4) {
    margin-top: 20px;
  }

  .link-column3 .content .title {
    font-size: 1.6rem;
    margin-bottom: 16px;
    padding: 0 7px 7px;
  }
  .link-column3 .content .title span {
    padding-right: 16px;
  }
  .link-column3 .content .title span:after {
    background-size: 7px 12px;
    height: 12px;
    width: 7px;
  }
}


/***** img Float *****/
img.res-fl, img.fl {
  margin: 4px 40px 35px 0;
}

img.res-fr, img.fr {
  margin: 4px 0 35px 40px;
}
img.res-center, img.center {
  display: block;
  margin: 4px auto 35px auto;
}

@media screen and (max-width: 768px) {
  img.res-fl, img.res-fr, img.res-center {
    display: block;
    margin: 0 auto 16px auto;
    width: 64%;
  }
}

.figure-imgset {
  margin-bottom: 76px;
}
.figure-imgset::after {
  clear: both;
  content: "";
  display: block;
}

figure.res-fl, figure.fl {
  margin: 4px 40px 21px 0;
  max-width: 480px;
}
figure.res-fr, figure.fr {
  margin: 4px 0 21px 40px;
  max-width: 480px;
}

figure.res-center, figure.center {
  margin: 4px auto 21px auto;
}

figcaption {
  color: #666;
  font-size: 1.6rem;
  margin-top: 12px;
  line-height: 1.6em;
}

@media screen and (max-width: 768px) {
  figure.res-fl, figure.res-fr, figure.res-center {
    display: block;
    margin: 0 auto 16px auto;
    text-align: center;
    width: 100% !important;
  }
  figcaption {
    font-size: 1.1rem;
    margin-top: 4px;
  }
}

.res-imgset-fl-l,
.res-imgset-fl-r,
.res-imgset-center {
  margin-bottom: 76px;
}

.res-imgset-fl-l::after,
.res-imgset-fl-r::after,
.res-imgset-center::after {
  clear: both;
  content: "";
  display: block;
}
.res-imgset-fl-l img {
  float: left;
  margin: 4px 40px 35px 0;
  max-width: 480px;
}
.res-imgset-fl-r img {
  float: right;
  margin: 4px 0 35px 40px;
  max-width: 480px;
}
.res-imgset-center img {
  display: block;
  margin: 4px auto 35px auto;
}
@media screen and (max-width: 768px) {
  .res-imgset-fl-l,
  .res-imgset-fl-r,
  .res-imgset-center {
    margin-bottom: 36px;
  }
  .res-imgset-fl-l img,
  .res-imgset-fl-r img,
  .res-imgset-center img {
    display: block;
    float: none;
    margin: 0 auto 16px auto;
    max-width: 100%;
  }
}

.link-hrline {
  border-bottom: 1px solid #d5d5d5;
  border-top: 1px solid #d5d5d5;
}
.link-hrline ul {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 0 -24px;
  padding: 24px 0 12px 0;
  width: calc(100% + 24px);
}
.link-hrline li {
  list-style-type: none;
  margin: 0 0 12px 24px;
}

.link-hrline li a {
  display: inline-block;
  padding-left: 19px;
  position: relative;
}
.link-hrline li a::before {
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat;
  background-size: 8px 14px;
  content: "";
  position: absolute;
  left: 0;
  height: 14px;
  top: .35em;
  width: 8px;
}


/****************************************
  2-2.common
****************************************/
/* noscript */
noscript #message-area {
  max-width: 1280px;
  margin: 2rem auto -8rem;
  padding: 2rem;
}
noscript #message-area p {
  text-align: center;
}

/* header */
header {
  height: 8rem;
  width: 100%;
}

header ul li,
footer ul li {
  list-style-type: none;
}

.logo p {
  margin: 0;
}
header .logo a {
  display: block;
}

header .logo a img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0) perspective(0);
  transition: opacity 0.3s;
  width: 211px;
}
header .logo a:hover img {
  opacity: .85;
  transform: translate3d(0, 0, 0) perspective(0);
  will-change: transform, transition;
}
.header-inner {
  height: 8rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 99;
  background-color: #fff;
  border-bottom: 2px solid #d6caa7;
  box-sizing: border-box;
  padding: 0 4.17%;
  opacity: 1;
}

@media screen and (max-width:1366px) {
  .header-inner {
    padding: 0 40px;
  }
}

.header-inner-box {
  display: flex;
  justify-content: space-between;
}

header .global-nav {
  align-items: center;
  display: flex;
  flex-grow: 1;
  margin: 0;
  padding: 0 5.397%;
}

#header-menu-cont a,
#header-menu-cont p {
  color: #fff;
}

/* メニュー/検索ボタン用 */
.menu-btn {
  margin: 0 70px 0 0;
}
.menu-btn span {
  display: block;
  height: 37px;
  margin: 5px 0 0 0;
  width: 39px;
}
.menu-btn span img {
  transition: opacity 0.3s;
  width: 100%;
}
.icon-close {
  width: 30px;
  height: 43px;
}
.menu-btn:hover span img {
  opacity: .8;
}

.search-btn[aria-expanded="true"] {
  z-index: 9999;
}
.search-btn[aria-expanded="true"],
.search-btn[aria-expanded="true"] span {
  width: auto;
  height: auto;
}

/* 閉じるボタン用 */
.close-btn {
  position: absolute;
  top: 20px;
  margin-left: 0;
}
.close-btn .icons {
  margin-left: 0;
}
#header-menu-cont .close-btn {
  left: 4.17%;
}
#header-search-cont .close-btn {
  right: 21%;
}

/* ヘッダーメニュー用 */
#header-menu-cont,
#header-search-cont {
  animation: fadeOut .3s ease-out 0s forwards;
  -webkit-animation: fadeOut .3s ease-out 0s forwards;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background-color: #10517b;
  bottom: 0;
  flex-direction: column;
  left: 0;
  padding-top: 8rem;
  position: fixed;
  overflow: hidden;
  right: 0;
  top: 0;
  max-width: 100%;
  z-index: 999;
}
#header-search-cont {
  padding: 0 60px 0 43px;
}

.menu-btn[aria-expanded="true"] + #header-menu-cont,
.search-btn[aria-expanded="true"] + #header-search-cont {
  max-width: 100%;
  z-index: 999;
  display: block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-animation: fadeIn .3s ease-out 0s forwards;
  animation: fadeIn .3s ease-out 0s forwards;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

.search-btn[aria-expanded="true"] + #header-search-cont {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow-y: scroll;
}

.menu-btn[aria-expanded="true"] .icon-menu,
.search-btn[aria-expanded="true"] .icon-search {
  display: none;
}
.menu-btn[aria-expanded="false"] .icon-close,
.search-btn[aria-expanded="false"] .icon-close {
  display: none;
}

.mega-menu-utility .search-container {
  position: relative;
  flex-grow: 5;
}

#header-search-cont .search-container {
  width: 980px;
}

#header-search-cont .search-form {
  display: flex;
  flex-direction: column;
}

.search-form-block {
  position: relative;
}

#header-menu-cont .search-form-block {
  max-width: 80rem;
}

#header-search-cont .search-form-block {
  width: 100%;
}

.mega-menu-utility .search-form input[type="text"] {
  background-color: #104566;
  border: none;
  color: #fff;
  width: 100%;
  height: 5rem;
  padding: 0 5rem 0 3.2rem;
  font-size: 2rem;
}

.search-form .search-form-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2rem;
}

.mega-menu-utility .search-form .search-form-btn {
  width: 19px;
  height: 20px;
  margin-right: 0;
}

#header-search-cont .search-form .search-form-btn {
  top: 2.5rem;
  right: 2rem;
}

.all-search {
  cursor: pointer;
  color: #fff;
  display: block;
  text-align: center;
  margin-top: 40px;
}

.all-search input {
  margin-right: 20px;
  width: 16px;
  height: 16px;
}

@media screen and (max-width:1024px) {
  .search-btn[aria-expanded="true"] + #header-search-cont {
    display: block;
    height: 200vh;
  }

  .mega-menu-utilityt .search-form .search-form-btn {
    right: 3rem;
  }
}

@media screen and (max-width:768px) {
  .menu-btn {
    margin: 0;
    float: left;
  }

  .mega-menu-utility {
    display: flex;
    margin: 30px 0px;
  }

  .mega-menu-utility .search-form input[type="text"] {
    width: 100%;
  }

  .mega-menu-utility .search-form .search-form-btn {
    left: auto;
  }
}

@media screen and (max-width: 640px) {
  .search-btn[aria-expanded="true"] {
    margin-right: 0;
  }

  .icon-close {
    width: 34px;
    height: 32px;
  }

  #header-search-cont {
    padding: 0 16px;
  }

  .search-btn[aria-expanded="true"] + #header-search-cont {
    justify-content: flex-start;
  }

  .search-btn[aria-expanded="true"] + #header-search-cont .mega-menu {
    margin-top: 128px;
  }

  #header-search-cont .search-form .search-form-btn {
    top: 1.7rem;
    right: 1.7rem;
  }

  .all-search {
    font-size: 1.6rem;
  }
}

/* animation keyframes */
@keyframes fadeIn {
  0%   { display: none; opacity: 0; }
  1%   { display: block; opacity: 0; }
  100% { display: block; opacity: 1; }
}
@-webkit-keyframes fadeIn {
  0%   { display: none; opacity: 0; }
  1%   { display: block; opacity: 0; }
  100% { display: block; opacity: 1; }
}
@keyframes fadeOut {
  0%   { display: block; opacity: 1; }
  99%  { display: block; opacity: 0; }
  100% { display: none; opacity: 0; }
}
@-webkit-keyframes fadeOut {
  0%   { display: block; opacity: 1; }
  99%  { display: block; opacity: 0; }
  100% { display: none; opacity: 0; }
}

/* footer */
footer {
  background-color: #4d4d4d;
  padding: 120px 0 100px;
}

footer a,
footer p,
footer .footer-bottom-block {
  color: #fff;
}

footer .footer-bottom-block {
  font-size: 1.2rem;
  text-align: center;
}

footer address {
  font-style: normal;
  text-align: center;
}

/* for Android copyright */
footer .copyright {
  font-family: Verdana, "Droid Sans";
}

@media screen and (max-width:768px) {
  footer {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  footer .footer-bottom-block {
    margin-top: 60px;
  }
}

main {
  background-image: url("/jp/n5-common/img/washi_bg.png");
  display: block;
  margin: 0 auto;
  padding-bottom: 120px;
  width: 100%;
}

.container {
  margin: 0 auto;
  padding: 0 43px;
  position: relative;
  max-width: 1280px;
}
main section,
main .section {
  max-width: 1280px;
  margin: 0 auto 120px auto;
}
main > section,
main > .section,
article > .section {
  padding: 0 43px;
}
main section section,
main section .section,
main .section section,
main .section .section {
  margin: 60px auto;
}
main section section section,
main section section .section,
main section .section section,
main section .section .section,
main .section section section,
main .section section .section,
main .section .section section,
main .section .section .section {
  margin: 30px auto;
}
main > section:last-child,
main > .section:last-child,
main article > section:last-child,
main article > .section:last-child {
  margin: 0 auto;
}

@media screen and (max-width:768px){
  main {
    padding-bottom: 60px;
  }

  .container {
    padding: 0 16px;
  }

  main section,
  main .section {
    margin-bottom: 60px;
  }
  main > section,
  main > .section,
  article > .section {
    padding: 0 16px;
  }
  main section section,
  main section .section,
  main .section section,
  main .section .section {
    margin: 30px auto;
  }
  main section section section,
  main section section .section,
  main section .section section,
  main section .section .section,
  main .section section section,
  main .section section .section,
  main .section .section section,
  main .section .section .section {
    margin: 20px auto;
  }
}

.contents-wrap {
  margin: 0 auto;
}

.mega-menu {
  padding: 0 43px;
  max-width: 1280px;
}

#header-search-cont .mega-menu {
  padding: 0;
}

footer .mega-menu {
  margin-bottom: 3rem;
}

.contents-wrap nav {
  width: 100%;
}
.contents-wrap nav ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0;
}
.contents-wrap nav ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0;
}
.contents-wrap nav ul li {
  text-align: center;
}

.contents-wrap ul li {
  list-style-type: none;
}
.mega-menu li + li {
  margin-top: 0;
}
.mega-menu .link-block ul li {
  margin-bottom: 2rem;
}

.mega-menu ul li a {
  letter-spacing: .1em;
}

.global-nav ul li {
  margin: 0;
  text-align: center;
}

.global-nav ul li:last-child,
.contents-wrap:not(.mega-menu) ul li:last-child {
  margin-right: 0;
  margin-bottom: 0;
}
.global-nav ul li a {
  padding: 0 4px;
}

.contents-wrap a {
  position: relative;
  text-decoration: none;
}
.contents-wrap:not(.mega-menu) a::after {
  background: #10517b;
  border-radius: 1px;
  bottom: -6px;
  content: "";
  display: block;
  height: 2px;
  margin: auto;
  position: absolute;
  right: 0;
  left: 0;
  transform-origin: center center;
  transform: scale(0, 1);
  transition: transform .3s;
}
.contents-wrap:not(.mega-menu) a:hover:after {
  transform: scale(.7, 1);
}

@media screen and (max-width: 1024px) {
  #header-search-cont .mega-menu,
  #header-search-cont .search-container {
    width: 100%;
  }

  #header-search-cont .mega-menu {
    height: 250vh;
    margin-top: 320px;
  }
}

@media screen and (max-width:640px) {
  .mega-menu {
    padding: 0 20px;
  }

    .mega-menu .link-block ul li {
    margin-bottom: 0;
    }
}

/* nav */
header nav a,
footer nav a,
.link-block-box .block-name {
  position: relative;
}

header nav a::after,
footer nav a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

header nav a:hover::after,
header nav a:focus::after,
footer nav a:hover::after,
footer nav a:focus::after {
  transform: scale(1, 1);
}

header nav a {
  display: block;
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
  text-align: center;
}

.mega-menu nav {
  margin-bottom: 120px;
  padding-bottom: 48px;
  border-width: 0 0 2px 0;
  border-style: solid;
}

.mega-menu nav li:last-child {
  margin-right: 20px;
}

#header-menu-cont nav {
  border-color: #104566;
}

footer nav {
  border-color: #666;
}

.mega-menu nav a {
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  #header-menu-cont .mega-menu {
    margin-bottom: 30%;
  }

  nav {
    margin-bottom: 28px;
  }

  .contents-wrap nav ul {
    flex-wrap: wrap;
  }

  .contents-wrap nav ul li {
    width: calc(50% - 30px);
    margin: 0 0 30px 0;
    text-align: center;
  }

  .contents-wrap nav ul li:last-child {
    margin-bottom: 0;
  }

  .mega-menu nav {
    margin-bottom: 28px;
    padding-bottom: 30px;
  }

  nav a,
  .top-page .link-block-box .block-name {
    font-size: 1.6rem;
  }

}

/* nav block for SP */
@media screen and (max-width: 640px) {
  .contents-wrap nav ul {
    flex-direction: column;
  }

  .contents-wrap nav ul li {
    width: 100%;
  }
}

/* utility-block */
.utility-block {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
  flex: 0 0 285px;
}
.utility-block li {
  margin: 0;
  position: relative;
  padding-left: 15px;
}
.utility-block li + li {
  margin: 0 0 0 11.228%;
}
.utility-block li::before {
  content: "";
  background-image: url("/jp/n5-common/img/arrow_right_blue.svg");
  background-repeat: no-repeat;
  background-size: 7px 12px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 7px;
  height: 12px;
}
.utility-block a {
  font-size: 1.4rem;
  text-decoration: none;
}
.utility-block a:hover {
  text-decoration: underline;
}

#header-menu-cont .mega-menu-utility {
  display: flex;
  align-items: center;
  margin: 40px 0;
  position: relative;
}

.mega-menu-utility .utility-block {
  align-items: center;
  width: auto;
  flex-grow: 1;
}

.mega-menu-utility .utility-block li::before {
  background-image: url("/jp/n5-common/img/arrow_right_white.svg");
}

.mega-menu-utility p {
  margin: 0 0 0 20px;
  font-size: 2rem;
}

.mega-menu-utility .utility-block ul {
  display: flex;
  margin: 0 auto;
}

.mega-menu-utility .utility-block ul li {
  margin: 0;
}

.mega-menu-utility .utility-block ul li:first-child {
  margin-right: 20px;
}

.mega-menu-utility .utility-block a {
  font-size: 1.4rem;
}

@media screen and (max-width: 1279px) {
  .mega-menu-utility .utility-block {
    border: none;
    position: static;
    background-color: transparent;
  }
}

@media screen and (max-width: 1024px) {
  #header-menu-cont .search-form-block {
    max-width: initial;
  }

  .mega-menu-utility .search-form input[type="text"] {
    width: 100%;
  }

  .mega-menu-utility p {
    margin-right: 10px;
  }
}

@media screen and (max-width: 768px) {
  .mega-menu-utility p,
  .mega-menu-utility .utility-block {
    position: absolute;
    top: calc(5rem + 20px);
  }
  .mega-menu-utility p {
    margin-left: 2rem;
    left: 0;
    font-size: 1.6rem;
  }
}

@media screen and (max-width:640px) {
  #header-menu-cont .mega-menu-utility {
    margin-top: 20px;
  }

  .mega-menu-utility .search-form input[type="text"] {
    height: 3.2rem;
    padding: 1rem 3.5rem 1rem 2rem;
  }
  .mega-menu-utility .search-form .search-form-btn {
    width: 13.3px;
    height: 14px;
  }

  .mega-menu-utility p,
  .mega-menu-utility .utility-block {
    top: calc(3.2rem + 20px);
  }

  .mega-menu-utility .utility-block ul {
    margin: 0 auto 0 35%;
  }
}

/* btn */
button {
  cursor: pointer;
}

.search-btn {
  height: 24px;
  margin-right: 2.273%;
  width: 22px;
}
.search-btn .icons {
  margin-left: 0;
}

@media screen and (max-width:1700px) {
  header .global-nav {
    padding: 0 3.8%;
  }
}
@media screen and (max-width:1600px) {
  .header-inner {
    padding: 0 2.928%;
  }

  .menu-btn {
    margin: 0 35px 0 0;
  }
  .menu-btn span {
    height: 34px;
    width: 36px;
  }

  #header-menu-cont .close-btn {
    left: 2.928%;
  }
  #header-search-cont .close-btn {
    right: 12%;
  }


  header .logo {
    width: 160px;
  }
  header .logo a img {
    height: auto;
  }

  header .global-nav {
    padding: 0 5.397%;
  }

  header nav a {
    font-size: 1.4rem;
  }

  .utility-block {
    flex: 0 0 105px;
  }
  .utility-block a {
    font-size: 1.1rem;
  }
  .utility-block li {
    padding-left: 13px;
    line-height: 17.5px;
  }
  .utility-block li::before {
    background-size: 4.444px 8px;
    height: 8px;
    top: 51%;
    width: 4.444px;
  }
  .utility-block li:last-child {
    margin-left: 0;
  }

  .search-btn[aria-expanded="true"] {
    margin-right: 0;
  }
}

@media screen and (max-width:1366px) {
  header nav a {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 1279px) {
  header {
    height: 10.1rem;
  }

  .header-inner {
    border: none;
  }

  header .global-nav {
    padding: 0 3%;
  }


  .utility-block {
    border-bottom: 1px solid #333;
    position: absolute;
    right: 0;
    bottom: -21px;
    left: 0;
    width: 100%;
    height: 2rem;
    background-color: #10517b;
    justify-content: center;
  }
  .utility-block li + li,
  .utility-block li:last-child {
    margin: 0 0 0 35px;
  }
  .utility-block li::before {
    background-image: url("/jp/n5-common/img/arrow_right_white.svg");
  }
  .utility-block li a {
    color: #fff;
    text-decoration: none;
  }
}

@media screen and (max-width:1024px) {
  .header-inner {
    border: none;
    padding: 0 10px;
  }
  .menu-btn {
    margin: 0;
  }
  .mega-menu {
    padding: 0 20px;
  }
  #header-menu-cont .close-btn {
    left: 10px;
  }
  #header-search-cont .close-btn {
    right: 30px;
  }
  header .global-nav {
    display: none;
  }
  header .logo {
    bottom: 0;
    height: 28px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 156px;
  }
  .search-btn {
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 16px;
  }
}

@media screen and (max-width:768px) {
  header {
    height: 7.1rem;
    padding: 0;
  }

  .search-btn {
    width: 17.056px;
    height: 18px;
  }

#header-search-cont .close-btn {
  right: 20px;
}

  header .global-nav nav {
    display: none;
  }

  .header-inner {
    height: 5.1rem;
  }

  .menu-btn span {
    width: 34px;
    height: 32px;
    margin-top: 0;
  }

  header .logo a img {
    width: 156px;
    height: 28px;
  }

}

/* link-block */
.link-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.link-block::before {
  content: "";
  display: block;
  width: 23%;
  order: 1;
}

.link-block::after {
  content: "";
  display: block;
  width: 23%;
}

.mega-menu .link-block-box {
  margin-bottom: 50px;
  width: 21.875%;
}
.mega-menu .link-block-box:last-child {
  margin-bottom: 0;
}

.link-block-box .block-name {
  border-radius: 2px;
  position: relative;
  padding: 8px 15px;
  line-height: 1.6;
}

.mega-menu .link-block-box .block-name {
  display: block;
  border: 1px solid #fff;
  font-size: 2rem;
  letter-spacing: .05em;
  margin-bottom: 20px;
  transition: .3s;
}

#header-menu-cont .link-block-box .block-name.has-page:hover,
#header-menu-cont .link-block-box .block-name.has-page:focus {
  background-color: #fff;
  color: #10517b;
}

footer .link-block-box .block-name.has-page:hover,
footer .link-block-box .block-name.has-page:focus {
  background-color: #fff;
  color: #4d4d4d;
}

.mega-menu .link-block-box .has-page::after {
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  right: 2.5rem;
  width: 1rem;
  height: 1rem;
  transform: translateY(-50%) rotate(-45deg);
}

#header-menu-cont .link-block-box .has-page:hover::after,
#header-menu-cont .link-block-box .has-page:focus::after {
  border-color: #10517b;
  outline-color: #fff;
}

footer .link-block-box .has-page:hover::after,
footer .link-block-box .has-page:focus::after {
  border-color: #4d4d4d;
}

.link-block-box ul {
  margin: 0 0 0 15px;
}

.link-block-list a {
  font-size: 1.4rem;
}

@media screen and (max-width:768px) {
  .mega-menu .link-block-box {
    width: 46%;
  }
}

@media screen and (max-width:640px) {
  .mega-menu .link-block-box {
    border: 1px solid #fff;
    border-radius: 2px;
    box-sizing: border-box;
    margin-bottom: 10px;
    width: 100%;
  }

  .mega-menu .link-block-box:last-child {
    margin-bottom: 0;
  }

  .link-block-box ul {
    border-top: 1px solid #fff;
    margin: 0;
    padding: 12px 0 20px 5px;
  }

  .link-block-box ul li:not(:last-child) {
    margin-bottom: 20px;
  }

  .mega-menu .link-block-box .block-name {
    display: inline-block;
    border: none;
    margin-bottom: 0;
    padding-left: 20px;
    font-size: 1.6rem;
  }

  /* SPサイズ hover / focus リセット */
  #header-menu-cont .link-block-box .block-name.has-page:hover,
  #header-menu-cont .link-block-box .block-name.has-page:focus,
  footer .link-block-box .block-name.has-page:hover,
  footer .link-block-box .block-name.has-page:focus {
    background-color: transparent;
    color: #fff;
  }

  #header-menu-cont .link-block-box .has-page:hover::after,
  #header-menu-cont .link-block-box .has-page:focus::after {
    border-color: #fff;
  }

  footer .link-block-box .has-page:hover::after,
  footer .link-block-box .has-page:focus::after {
    border-color: #fff;
    color: #fff;
  }

  .link-block-box .link-block-list {
    margin: 0 10px;
  }

  footer .link-block-box .link-block-list {
    border-color: #949494;
  }

  /* メニュー開閉ボタン */
  .switch-btn {
    width: 16px;
    height: 16px;
    position: absolute;
    top: 14px;
    right: 20px;
    cursor: pointer;
  }

  .switch-btn span::after {
    content: "";
    background-size: 16px 16px;
    display: block;
    width: 16px;
    height: 16px;
  }

  /* メニューを開いているとき */
  .switch-btn[aria-expanded="true"] span::after {
    background-image: url("/jp/n5-common/img/menu_close_btn.svg");
  }

  /* メニューを閉じているとき */
  .switch-btn[aria-expanded="false"] span::after {
    background-image: url("/jp/n5-common/img/menu_open_btn.svg");
  }
}

.accordion-panel[aria-hidden="true"] {
  overflow: hidden;
}
.accordion-panel > .accordion-inner {
  transition: all .3s ease-in-out;
}
.accordion-panel[aria-hidden="true"] > .accordion-inner {
  display: none;
  opacity: 0;
}
footer .accordion-panel[aria-hidden="true"] > .accordion-inner,
header .accordion-panel[aria-hidden="true"] > .accordion-inner {
  display: block;
  opacity: 1;
}
.accordion-inner a:hover {
  text-decoration: underline;
}
@media screen and (max-width:640px){
  .accordion-panel[aria-hidden="true"] > .accordion-inner {
    display: none;
    opacity: 0;
  }
  footer .accordion-panel[aria-hidden="true"] > .accordion-inner,
  header .accordion-panel[aria-hidden="true"] > .accordion-inner {
    display: none;
    opacity: 0;
  }
}

/* page top btn */
.page-top-btn {
  bottom: 60px;
  position: fixed;
  right: 15px;
  z-index: 5;
}
.no-scroll .page-top-btn {
  right: calc(15px + 17px);
}
@media screen and (max-width:768px){
  .no-scroll .page-top-btn {
    right: 15px;
  }
}
.page-top-btn a {
  display: block;
}
.page-top-btn img {
  width: 60px;
  height: 60px;
}
@media screen and (max-width:640px) {
  .page-top-btn img {
    width: 40px;
    height: 40px;
  }
}

/* bullet-list */
.bullet-list01 a {
  position: relative;
}

.bullet-list01 a::before {
  display: block;
  content: '';
  position: absolute;
  top: .5em;
  left: -2rem;
  width: .6rem;
  height: .6rem;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* サイトマップ用 */
.bullet-list01.bl-color-gray li {
  list-style-type: none;
}
.bullet-list01.bl-color-gray a::before {
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
}

.bullet-list02 li {
  margin-left: 0;
}

.bullet-list02 li a {
  display: inline-block;
  padding: .2em 0 0 4rem;
}

.bullet-list02 li a img {
  vertical-align: middle;
  width: 2.7rem;
  height: 2.7rem;
  left: 0;
  position: absolute;
  top: 0;
}

.bullet-list02 li a .window-white {
  position: static;
  width: 1.8rem;
  height: 1.8rem;
}

/* 別窓アイコン サイズ調整 */
.global-nav nav li a .icons,
.accordion-inner li a .window-white {
  width: 1.4rem;
  height: 1.4rem;
}
.mega-menu nav li a .icons {
  width: 2rem;
  height: 2rem;
}

/* ラベル */
/* news-label */
.news-label {
  border-radius: 2px;
  box-sizing: border-box;
  color: #fff;
  font-size: 1rem;
  padding: 1px 4px;
  line-height: 1.6em;
  width: 9.4rem;
  text-align: center;
}
.cat01 { /* 総理会見 / 総理の発表 / 総理の一日 */
  background-color: #8d0f15;
  border: 1px solid #cbcbcb;
}
.cat02 { /* 特集ページ */
  background-color: #417305;
  border: 1px solid #cbcbcb;
}
.cat03 { /* お知らせ */
  background-color: #08808d;
  border: 1px solid #cbcbcb;
}
.cat04 { /* 長官会見 / 長官談話等 */
  background-color: #3f0f8d;
  border: 1px solid #cbcbcb;
}
.cat05 { /* 閣議・本部決定 */
  background-color: #4d4d4d;
  border: 1px solid #cbcbcb;
}
.cat06 { /* 予備1 */
  background-color: #8d5e08;
  border: 1px solid #cbcbcb;
}
.cat07 { /* 予備2 */
  background-color: #fff;
  border: 1px solid #cbcbcb;
  color: #4d4d4d;
}

/* common-label */
.common-label {
  border-radius: 2px;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.2rem;
  width: 9rem;
  text-align: center;
}
.clabel-01 {
  background-color: #4d4d4d;
}

@media screen and (max-width:640px) {
  .news-label {
    font-size: .8rem;
  }
}

/* search form */
main .search-container {
  display: flex;
  margin: 4.8rem 0 12rem;
}

main .search-form {
  margin: 0 auto;
  position: relative;
}

.search-form input[type="text"] {
  box-sizing: border-box;
}

main .search-form input[type="text"] {
  background-color: #fff;
  border: 1px solid #989898;
  box-shadow: 0 5px 10px rgba(0,0,0,.1);
  font-size: 2.4rem;
  padding: 2.5rem 6rem 2.5rem 3.2rem;
  width: 64rem;
  height: 7.4rem;
}

main .search-form .search-form-btn {
  right: 2rem;
  width: 26.6px;
  height: 28px;
}

@media screen and (max-width:768px) {
  main .search-container {
    margin: 40px auto;
  }
  main .search-form input[type="text"] {
    width: 28rem;
    height: 3.2rem;
    padding: 1rem 3rem 1rem 1rem;
    font-size: 1.6rem;
  }

  main .search-form .search-form-btn {
    right: 1rem;
  }

  main .search-form .search-form-btn img {
    width: 13.3px;
    height: 14px;
  }
}

/* rss */
.h2-block {
  position: relative;
}

.h2-block .rss {
  position: absolute;
  top: 50%;
  right: 0;
  background-image: url("/jp/n5-common/img/rss.svg");
  background-repeat: no-repeat;
  background-position: 8px 5px;
  background-size: 16px 16px;
  border: 1px solid #333;
  width: auto;
  padding: 0 8px 0 35px;
  text-align: right;
  text-decoration: none;
  transition: .3s;
}

.h2-block .rss:hover,
.h2-block .rss:focus {
  box-shadow: 0 2px 7px rgba(0,0,0,.16);
  background-image: url("/jp/n5-common/img/rss_white.svg");
  background-color: #10517b;
  color: #fff;
}

@media screen and (max-width:768px) {
  .h2-block .rss {
    transform: translateY(-50%);
  }
}

.back-link-list {
  text-align: right;
}

.back-link-list a {
  padding-left: 22px;
  position: relative;
}
.back-link-list a::before {
  background-image: url("/jp/n5-common/img/arrow_up_blue.svg");
  background-size: 14px 8px;
  content: "";
  height: 8px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 14px;
}


.main-visual {
  margin-bottom: 80px;
  position: relative;
  overflow: hidden;
  width: 100%;
  z-index: 0;
}

.main-visual > img {
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  max-width: none;
  z-index: 1;
}

.main-visual-inner {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 53rem;
  justify-content: center;
  margin: 0 auto;
  padding: 0 43px;
  position: relative;
  max-width: 1366px;
  z-index: 3;
}
.main-visual h1 {
  color: #ffffff;
  padding: 0;
}
.main-visual h1 span {
  background: rgba(0, 0, 0, .54);
  display: inline-block;
  padding: 15px 38px;
}
.lead {
  box-sizing: border-box;
  color: #4d4d4d;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HGP明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
  font-size: 2.4rem;
  letter-spacing: 0.12rem;
  margin: 0 0 80px 0;
  padding: 0 38px;
  transform: rotate(0.03deg);
}
h1 + .lead {
  padding: 0;
}
@media screen and (max-width:768px){
  .main-visual {
    margin-bottom: 40px;
  }
  .main-visual > img {
    height: auto;
    left: initial;
    position: static;
    top: initial;
    transform: none;
    width: 100%;
  }
  .main-visual-inner {
    display: block;
    height: auto;
    margin: 0;
    padding: 20px 16px 0;
  }
  .main-visual h1 {
    color: #4d4d4d;
    padding: 0;
  }
  .main-visual h1 span {
    background: none;
    padding: 0;
  }
  .lead {
    font-size: 1.6rem;
    letter-spacing: 0.08rem;
    padding: 0 0 0 9px;
  }
}

/* 見出しリンク */
.heading-link {
  position: relative;
}
.heading-link::after {
  content: url("/jp/n5-common/img/arrow_right_heading.svg");
  display: inline-block;
  margin-left: 2rem;
}

h2 .heading-link::after {
  width: 18.214px;
}

h3 .heading-link::after {
  width: 13.964px;
  margin-left: 1rem;
}

h4 .heading-link::after {
  width: 10.929px;
  margin-left: 1rem;
}

h5 .heading-link::after {
  width: 9.107px;
  margin-left: 1rem;
}

@media screen and (max-width:768px) {
  h2 .heading-link::after {
    width: 15px;
    margin-left: 1.15rem;
  }

  h3 .heading-link::after {
    width: 11px;
    margin-left: 1.05rem;
  }

  h4 .heading-link::after {
    width: 9.107px;
    margin-left: 1rem;
  }

  h5 .heading-link::after {
    width: 8.5px;
    margin-left: 1rem;
  }
}

/* 中央揃え */
.block-center {
  max-width: 840px;
  margin: 0 auto;
}

/* リンクリスト */
.link-txt-left,
.link-txt-right {
  position: relative;
}

.link-txt-left::before,
.link-txt-right::after {
  content: "";
  position: absolute;
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat;
  background-size: 8px 14px;
  width: 8px;
  height: 14px;
}

.link-txt-left {
  padding-left: 19px;
}
.link-txt-left::before {
  top: .4rem;
  left: 0;
}

.link-txt-right {
  padding-right: 19px;
}
.link-txt-right::after {
  right: 0;
  bottom: .6rem;
}

/* bullet-list */
.bullet-list li {
  list-style-type: none;
  margin-left: 0;
}
.bullet-list li a {
  display: inline-block;
  padding-left: 19px;
  position: relative;
}
.bullet-list li a::before {
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat;
  background-size: 8px 14px;
  content: "";
  position: absolute;
  left: 0;
  height: 14px;
  top: .35em;
  width: 8px;
}

.bullet-list.half {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.bullet-list.half li {
  width: calc(50% - 20px);
  margin-top: 0;
}
.bullet-list.half li:nth-child(n+3) {
  margin-top: 16px;
}
@media screen and (max-width:768px){
  .bullet-list.half {
    flex-direction: column;
  }
  .bullet-list.half li {
    width: 100%;
  }
  .bullet-list.half li + li {
    margin-top: 16px;
  }
}

.bullet-list.inlineblock {
  letter-spacing: -0.4rem;
  margin: -16px 0 35px -40px;
}
.bullet-list.inlineblock li {
  display: inline-block;
  letter-spacing: normal;
  margin: 16px 0 0 40px;
}
@media screen and (max-width:768px){
  .bullet-list.inlineblock {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 35px 0;
  }
  .bullet-list.inlineblock li {
    display: block;
    margin: 0;
    width: calc(50% - 20px);
  }
  .bullet-list.inlineblock li:nth-child(n+3) {
    margin-top: 16px;
  }
}

/* アイコン */
.icons {
  height: 18px;
  margin: 0 0 0 10px;
  vertical-align: middle;
  width: 18px;
}
@media screen and (max-width:768px) {
  .icons {
    height: 14px;
    width: 14px;
  }
}

/* 文中リンク */
.link-txt-left.in-txt {
  margin: 0 7px 0 14px;
}
.link-txt-right.in-txt {
  margin: 0 14px 0 7px;
}

@media screen and (max-width:768px) {
  .link-txt-left {
    padding-left: 16px;
  }

  .link-txt-right {
    padding-right: 16px;
  }

  .link-txt-left::before,
  .link-txt-right::after {
    background-size: 5.556px 10px;
    width: 5.556px;
    height: 10px;
  }

  .in-txt {
    margin: 0 0 0 7px;
  }
}

/* リンクボタン */
.link-block-box {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
}
main .link-block-box {
  margin: 0 20px 20px 0;
}
main .link-block-box.center {
  text-align: center;
  display: block;
}
main .link-block-box.right {
  display: block;
  text-align: right;
  margin-right: 0;
}

.link-button {
  border-radius: 2px;
  box-sizing: border-box;
  display: inline-block;
  padding: 8px 15px;
  position: relative;
  line-height: 1.6;
}
main .link-block-box .link-button {
  border: 1px solid #333;
  text-decoration: none;
  min-width: 280px;
  height: 50px;
  transition: .3s;
  font-size: 2rem;
  text-align: center;
}

main .link-block-box .has-page {
  text-align: left;
}

main .link-block-box .has-page {
  background-image: url("/jp/n5-common/img/arrow_right_blue.svg");
  background-repeat: no-repeat;
  background-size: 8px 16px;
  background-position: 90% 50%;
}
main .link-block-box .has-page:hover,
main .link-block-box .has-page:focus {
  background-image: url("/jp/n5-common/img/arrow_right_white.svg");
}

.link-block-box .link-button {
  font-size: 2rem;
}
main .link-block-box .link-button:hover,
main .link-block-box .link-button:focus {
  background-color: #10517b;
  color: #fff;
}

main .link-button.more-btn {
  background-image: url("/jp/n5-common/img/arrow_down.svg");
  background-size: 16px 8px;
  background-repeat: no-repeat;
  background-position: 95% 50%;
  transition: .3s;
  font-size: 2rem;
  text-align: left;
}
.link-button.more-btn:hover,
.link-button.more-btn:focus {
  background-color: #10517b;
  color: #fff;
  background-image: url("/jp/n5-common/img/arrow_down_white.svg");
}

/* 可変リンクボタン */
.link-block-box.size-f .link-button {
  width: auto;
  height: auto;
  padding-right: 50px;
  background-position-x: calc(100% - 22px);
}

/* WARP用 */
.link-block-box.warp .link-button {
  align-items: center;
  background: url("/jp/n5-common/img/warp.png") no-repeat right 19px top 50% #fff;
  background-size: 146px 47px;
  border: 1px solid #b2b2b2;
  border-radius: 0;
  box-sizing: border-box;
  display: flex;
  font-size: 1.6rem;
  min-height: 6.8rem;
  line-height: 1.75;
  padding: 8px 185px 8px 37px;
}
.link-block-box.warp .link-button::before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  left: 1.4rem;
  width: 1rem;
  height: 1rem;
  transform: translateY(-50%) rotate(-45deg);
  border-right: 1px solid #10517b;
  border-bottom: 1px solid #10517b;
}
.link-block-box.warp .link-button::after {
  content: none;
}
.link-block-box.warp .link-button:hover,
.link-block-box.warp .link-button:focus {
  background-color: #fff;
  background-image: url("/jp/n5-common/img/warp.png");
  color: #333;
}

@media screen and (max-width:640px) {
  .link-block-box .link-button {
    font-size: 1.4rem;
  }

  .link-block {
    flex-direction: column;
  }

  main .link-block-box {
    display: block;
    text-align: center;
    margin-right: 0;
  }

  main .link-block-box .link-button {
    width: 200px;
    min-width: initial;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    margin: auto;
  }

  main .link-block-box .has-page {
    background-image: url("/jp/n5-common/img/arrow_right_blue.svg");
    background-size: 5px 9px;
  }

  .mega-menu .link-block-box .has-page::after {
    right: -1.5rem;
    width: .7rem;
    height: .7rem;
  }

  main .link-block-box .has-page::after {
    right: 2rem;
  }

  main .link-button.more-btn {
    background-size: 9px 5px;
  }

/* 可変リンクボタン */
  .link-block-box.size-f .link-button {
    padding-right: 40px;
    width: 246px;
  }

/* WARP用 */
  .link-block-box.warp .link-button {
    background: url("/jp/n5-common/img/warp.png") no-repeat right 13px top 50% #fff;
    background-size: 105px 33px;
    font-size: 1.2rem;
    min-height: 5.1rem;
    padding: 11px 132px 11px 27px;
  }
  .link-block-box.warp .link-button::before {
    width: 5px;
    height: 5px;
    left: 1rem;
  }
}

.btn-box {
  text-align: center;
  letter-spacing: -.4em;
  margin-left: -20px;
}
.btn-box .btn-inner {
  background: #f1f1f1;
  box-sizing: border-box;
  border: 1px solid #333;
  border-radius : 2px;
  color: #333333;
  display: inline-block;
  font-family: "HiraKakuPro", -apple-system, "Lucida Grande", "Helvetica Neue", "メイリオ", meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 2rem;
  letter-spacing: normal;
  line-height: 1.6em;
  margin: 0 0 20px 20px;
  padding: 8px 16px;
  text-align: center;
  text-decoration: none;
  transition: color .4s, background-color .3s, border-color .3s;
  vertical-align: middle;
  min-width: 280px;
}

.btn-inner:hover,
.btn-inner:focus {
  background: #10517b;
  border-color: #10517b;
  color: #fff;
  outline: none;
}
.btn-inner::-moz-focus-inner {
  border: none;
  outline: none;
}

.btn-box .btn-inner.btn-arrow-right {
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat right 19px center;
  background-size: 9px 16px;
  padding-right: 49px;
  text-align: left;
}
.btn-box .btn-inner.btn-arrow-right:hover,
.btn-box .btn-inner.btn-arrow-right:focus {
  background: #10517b url("/jp/n5-common/img/arrow_right_white.svg") no-repeat right 19px center;
  background-size: 9px 16px;
}
.btn-box .btn-inner.btn-arrow.btn-arrow-down {
  background: url("/jp/n5-common/img/arrow_down.svg") no-repeat right 23px center;
  background-size: 16px 9px;
  padding-right: 60px;
  text-align: left;
}
.btn-box .btn-inner.btn-arrow-down:hover,
.btn-box .btn-inner.btn-arrow-down:focus {
  background: #10517b url("/jp/n5-common/img/arrow_down_white.svg") no-repeat right 23px center;
  background-size: 16px 9px;
}
@media screen and (max-width:768px){
  .btn-box {
    display: flex;
    flex-direction: column;
  }
  .btn-box .btn-inner {
    font-size: 1.6rem;
    margin: 0 auto 20px;
    padding: 11px 19px;
    vertical-align: middle;
    min-width: 200px;
  }
  .btn-box .btn-inner:last-child {
    margin: 0 auto 20px;
  }

  .btn-box .btn-inner.btn-arrow-right {
    background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat right 14px center;
    background-size: 5px 9px;
    padding-right: 33px;
    text-align: left;
  }
  .btn-box .btn-inner.btn-arrow-right:hover,
  .btn-box .btn-inner.btn-arrow-right:focus {
    background: #10517b url("/jp/n5-common/img/arrow_right_white.svg") no-repeat right 14px center;
    background-size: 5px 9px;
  }
  .btn-box .btn-inner.btn-arrow.btn-arrow-down {
    background: url("/jp/n5-common/img/arrow_down.svg") no-repeat right 12px center;
    background-size: 9px 5px;
    padding-right: 33px;
    text-align: left;
  }
  .btn-box .btn-inner.btn-arrow-down:hover,
  .btn-box .btn-inner.btn-arrow-down:focus {
    background: #10517b url("/jp/n5-common/img/arrow_down_white.svg") no-repeat right 12px center;
    background-size: 9px 5px;
  }
}

.btn-box.toggle .toggle-btn {
  background: #f1f1f1 url("/jp/n5-common/img/arrow_down.svg") no-repeat right 23px center;
  background-size: 16px 9px;
  box-sizing: border-box;
  border: 1px solid #333;
  border-radius: 2px;
  color: #333333;
  display: inline-block;
  font-family: "HiraKakuPro", -apple-system, "Lucida Grande", "Helvetica Neue", "メイリオ", meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 2rem;
  letter-spacing: normal;
  line-height: 1.6em;
  margin: 0 0 20px 20px;
  padding: 8px 60px 8px 16px;
  text-align: left;
  text-decoration: none;
  transition: color .4s, background-color .3s, border-color .3s;
  vertical-align: middle;
  min-width: 280px;
}
.btn-box.toggle .toggle-btn::-moz-focus-inner {
  border: none;
  outline: none;
}
.btn-box.toggle .toggle-btn:hover,
.btn-box.toggle .toggle-btn:focus {
  background: #10517b url("/jp/n5-common/img/arrow_down_white.svg") no-repeat right 23px center;
  background-size: 16px 9px;
  border-color: #10517b;
  color: #fff;
  outline: none;
}
.btn-box.toggle .toggle-btn[aria-expanded="false"] .open,
.btn-box.toggle .toggle-btn[aria-expanded="true"] .close {
  display: block;
}
.btn-box.toggle .toggle-btn[aria-expanded="true"] .open,
.btn-box.toggle .toggle-btn[aria-expanded="false"] .close {
  display: none;
}
.btn-box.toggle .toggle-btn[aria-expanded="true"] {
 background-image: url("/jp/n5-common/img/arrow_up_blue.svg");
}
.btn-box.toggle .toggle-btn[aria-expanded="true"]:hover,
.btn-box.toggle .toggle-btn[aria-expanded="true"]:focus {
  background-image: url("/jp/n5-common/img/arrow_up_white.svg");
}


.btn-boxWARP {
  display: flex;
}

.btn-boxWARP .btn-WARP {
  align-items: center;
  background-color: #fff;
  background-image: url(/jp/n5-common/img/arrow_right_blue.svg);
  background-position: 19px center, right 19px center;
  background-repeat: no-repeat, no-repeat;
  background-size: 8px 14px, auto;
  box-sizing: border-box;
  border: 1px solid #b2b2b2;
  display: inline-flex;
  min-height: 68px;
  justify-content: center;
  margin: 0 0 20px;
  padding: 5px 20px 5px 38px;
  text-decoration: none;
  transition: .3s;
  vertical-align: middle;
  min-width: 425px;
}
.btn-boxWARP .btn-WARP:hover {
  background-color: #f1f1f1;
  border: 1px solid #333;
}
.btn-boxWARP .btn-WARP img {
  margin-left: 20px;
}

@media screen and (max-width:768px){
  .btn-boxWARP .btn-WARP {
    background-position: 13px center;
    background-size: 6px 11px;
    font-size: 1.2rem;
    min-height: 51px;
    margin: 0 auto 20px;
    padding: 3px 10px 3px 26px;
    min-width: auto;
  }
  .btn-boxWARP .btn-WARP img {
    width: 105px;
    margin-left: 15px;
  }
}


/****************************************
  2-3.top-page
****************************************/
.emergency-block {
  margin: 0 auto;
  padding: 30px 43px 0;
  position: relative;
  max-width: 1280px;
}
@media screen and (max-width:768px){
  .emergency-block {
    padding: 30px 16px 0;
  }
}
.top-page header h1 {
  font-size: 1.6rem;
  line-height: 1em;
  margin: 0;
}

.top-page h2 {
  border-bottom: 2px solid #e6e6e6;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HGP明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;  font-size: 7.2rem;
  line-height: 1;
  letter-spacing: 1rem;
  margin-bottom: 56px;
  padding-bottom: 14px;
  text-shadow: 1px 0px 1px rgba(0, 0, 0, 0.2);
  transform: rotate(0.03deg);
}

@media screen and (max-width:768px) {
  .top-page h2 {
    font-size: 4rem;
    padding-bottom: 6px;
    margin-bottom: 32px;
  }
}

/* スライダー */
.swiper-slide {
  position: relative;
}

.main-visual .swiper-slide .pc-slider,
.detail-page .pc-slider {
  display: block;
}
.detail-page .pc-slider {
  margin: 0 auto;
  max-height: 450px;
}

.main-visual .swiper-slide .sp-slider,
.detail-page .sp-slider {
  display: none;
}

.slide-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .main-visual .swiper-slide .pc-slider,
  .detail-page .pc-slider {
    display: none;
  }
  .main-visual .swiper-slide .sp-slider,
  .detail-page .sp-slider {
    display: block;
  }
}

.slide-text,
.slide-text span {
  text-decoration: none;
  color: #fff;
  transition: text-shadow .3s;
}
.slide-text:focus span,
.slide-text:hover span {
  text-decoration: underline;
  text-shadow: 0 0 3px rgba(0,0,0,.7);
}
.top-page .slide-text {
  background: url("/jp/n5-common/img/slider_bg.png") repeat-x;
  background-size: contain;
  bottom: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 40%;
  justify-content: flex-end;
  left: 0;
  padding: 0 0 60px 0;
  position: absolute;
  right: 0;
  text-shadow: 0 0 .3rem #000;
}
.top-page .slide-text:focus {
  outline: none;
}

.top-page .slide-text span {
  box-sizing: border-box;
  display: block;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HGP明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
  line-height: 1.6;
  margin: 0 auto;
  transform: rotate(0.03deg);
  width: 100%;
  max-width: 1436px;
}
.top-page .slide-text .date {
  font-size: 2rem;
  padding: 0 80px;
}
.top-page .slide-text .slide-title {
  font-size: 4rem;
  margin-top: 2px;
  padding: 0 78px;
}
@media screen and (max-width:1366px){
  .top-page .slide-text {
    padding: 0 0 4.4% 0;
  }
  .top-page .slide-text .date {
    font-size: 1vw;
  }
  .top-page .slide-text .slide-title {
    font-size: 2.5vw;
  }
}
@media screen and (max-width:1279px){
  .top-page .slide-text .date {
    padding: 0 50px;
  }
  .top-page .slide-text .slide-title {
    padding: 0 49px;
  }
}
@media screen and (max-width:1024px) {
  .top-page .slide-text {
    height: 46%;
    padding: 0 0 12px 0;
  }
  .top-page .slide-text .date {
    font-size: 1.5rem;
  }
  .top-page .slide-text .slide-title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .top-page .slide-text {
    padding: 0 0 8% 0;
  }
  .top-page .slide-text .date {
    font-size: 1.1rem;
    padding: 0 21px;
  }
  .top-page .slide-text .slide-title {
    font-size: 1.6rem;
    padding: 0 20px;
  }
}

/* スライダー停止ボタン */
.slider-switch {
  cursor: pointer;
  width: 15px;
  height: 24px;
}
.slider-switch.start .stop-btn,
.slider-switch.stop .play-btn {
  display: none;
}
.slider-switch.start {
  bottom: 2.5px;
}

@media screen and (max-width: 768px) {
  .slider-switch {
    bottom: 2.5px;
  }
}
.stop-btn:hover {
  opacity: 1;
}

/* SNSスライダー */
.sns-block {
  background-color: #e5e5e5;
  margin-top: 240px;
  padding: 100px 0 120px;
}
.sns-cont {
  background: #f7f7f7;
  border: 1px solid #666;
  box-sizing: border-box;
  min-height: 480px;
  margin: 0 auto;
  padding: 39px 66px;
  max-width: 1280px;
}
.sns-cont::after {
  bottom: 1px;
  content: '';
  height: 4px;
  left: 1px;
  position: absolute;
  width: calc(100% - 2px);
}
.sns-cont.sns01::after {
  background: #1da1f2;
}
.sns-cont.sns02::after {
  background: #ff0000;
}
.sns-cont.sns03::after {
  background: #37548f;
}
.sns-cont a {
  word-wrap: break-word;
}

.sns-cont-inner01 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 10px;
}
.sns01 .sns-cont-inner01 {
  border-bottom: 2px solid #1da1f2;
}
.sns02 .sns-cont-inner01 {
  border-bottom: 2px solid #ff0000;
}
.sns03 .sns-cont-inner01 {
  border-bottom: 2px solid #37548f;
}

.account-id-block {
  display: inline-flex;
  align-items: center;
}
.account-id-block h2 {
  border: none;
  margin: 0 20px 0 0;
  padding: 0;
}
.account-id-block a {
  display: flex;
  flex-direction: column;
}
.sns-cont-inner01 span {
  font-size: 1.6rem;
}
.sns-cont-inner01 span:first-child {
  font-size: 2.4rem;
}
.follow-block {
  display: flex;
  align-items: center;
}

.follow-button {
  align-items: center;
  background-color: #fff;
  border-radius: 2px;
  box-sizing: border-box;
  display: flex;
  font-size: 1.4rem;
  height: 2.8rem;
  justify-content: center;
  line-height: 1.75;
  text-align: center;
  text-decoration: none;
  transition: .3s;
  width: 12rem;
}

.sns01 .follow-button {
  border: 1px solid #146599;
  color: #146599;
}
.sns02 .follow-button {
  border: 1px solid #b92727;
  color: #b92727;
}
.sns03 .follow-button {
  border: 1px solid #37548f;
  color: #37548f;
}

.sns01 .follow-button:hover {
  background-color: #146599;
  color: #fff;
}
.sns02 .follow-button:hover {
  background-color: #b92727;
  color: #fff;
}
.sns03 .follow-button:hover {
  background-color: #37548f;
  color: #fff;
}

.sns-icon {
  margin-left: 27px;
}
.sns-icon img {
  width: 30px;
  height: 24px;
  transition: .5s;
  transform: rotateY(0deg);
}
.sns-icon img:hover {
  transform: rotateY(360deg);
}

.sns-cont-inner02 {
  display: flex;
  position: relative;
  min-height: 250px;
  margin-bottom: 19px;
}
.sns-cont .thumbnail {
  flex: 0 0 430px;
  margin-right: 40px;
}
@media screen and (max-width:1024px){
  .sns-cont .thumbnail {
    flex: 0 0 40%;
    margin-right: 20px;
  }
}
.sns-cont .cont-inner-title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.sns-cont .date-time {
  margin: 0;
}

@media screen and (max-width:768px) {
  .sns-block {
    margin-top: 120px;
    padding: 0 0 60px;
  }
  .sns-cont {
    height: auto;
    min-height: 600px;
    padding: 4rem 1.5rem 8rem;
    justify-content: flex-start;
  }

  .sns-cont-inner01 {
    padding: 0 24px 8px;
    margin-bottom: 20px;
  }
  .sns-cont-inner01 span {
    font-size: 1.4rem;
  }
  .sns-cont-inner01 span:first-child {
    font-size: 2rem;
  }

  .follow-button {
    position: absolute;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
  }

  .sns-icon {
    margin-left: 0;
  }
  .sns-cont-inner02 {
    flex-direction: column;
    padding: 0 24px;
  }
  .sns-cont-inner02 .thumbnail {
    flex: 0 0 auto !important;
    margin: 0 auto 20px;
  }

  .sns02 .cont-inner-title {
    font-size: 1.4rem;
  }
  .sns02 .cont-inner-title + p {
    font-size: 1.2rem;
  }
  .date-time {
    margin-bottom: 0;
    padding: 0 24px;
  }
}
@media screen and (max-width:640px) {
  .sns-block {
    margin-top: 85px;
  }
}
.sns-block .section {
  margin-top: 60px;
}
@media screen and (max-width:768px){
  .sns-block .section {
    padding: 0 16px;
  }
}

.top-page main {
  padding-bottom: 0;
}

.feature {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
}
.feature::after {
  content: "";
  display: block;
  width: calc(33.3% - 80px / 3);
}
.feature li {
  border: 1px solid #cbcbcb;
  box-sizing: border-box;
  display: block;
  list-style-type: none;
  margin: 0 0 40px 0;
  position: relative;
  width: calc(33.3% - 80px / 3);
}
.feature .img-box {
  display: flex;
  height: 100%;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  transition: .3s;
}
.feature .img-box::before {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
  bottom: 0;
  content: "";
  height: 23rem;
  left: 0;
  position: absolute;
  width: 101%;
  transition: .3s;
  z-index: 2;
}
.feature .img-box::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 35%, rgba(255, 255, 255, 1) 100%);
  bottom: 0;
  content: "";
  height: 23rem;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: .3s;
  right: 0;
  width: 101%;
  z-index: 2;
}
.feature .img-box:hover::before {
  opacity: 0;
}
.feature .img-box:hover::after {
  opacity: 1;
}
.feature .img-box img {
  position: absolute;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 1;
}
@supports ( object-fit: cover ) {
  .feature .img-box img {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    object-fit: cover;
    top: 0;
    transform: none;
  }
}
.feature .feature-title {
  bottom: 10%;
  border: 1px solid #fff;
  border-radius: 2px;
  box-sizing: border-box;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  left: 0;
  margin: 247px auto 37px;
  padding: .4rem 2.4rem;
  right: 0;
  width: 80%;
  min-height: 9.6rem;
  text-align: center;
  font-size: 2rem;
  transition: .3s;
  z-index: 3;
}
.feature .img-box:hover .feature-title {
  border-color: #333;
  color: #333;
}


@media screen and (max-width:1199px) {
  .feature::after {
    content: none;
  }
  .feature li {
    width: calc(50% - 20px);
  }
}

@media screen and (max-width:767px) {
  .feature {
    flex-direction: column;
  }
  .feature li {
    width: 100%;
    margin-bottom: 20px;
  }
  .feature .feature-title {
    font-size: 1.5rem;
    padding-top: .6rem;
    padding-bottom: .6rem;
    min-height: 7.2rem;
    height: 7.2rem;
    box-sizing: content-box;
    width: 70%;
  }
}

/* もっと見る */
#accordion-menu {
  position: relative;
  transition: .5s;
}
#accordion-menu.hidden {
  overflow: hidden;
  max-height: 620px;
}
@media screen and (max-width:1199px){
  #accordion-menu.hidden {
    max-height: 1000px;
  }
}
@media screen and (max-width:640px){
  #accordion-menu.hidden {
    max-height: 1286px;
  }
}

/* もっと見る */
.top-page #accordion-menu .more {
  background: linear-gradient(to bottom, rgba(241,241,241,0) 0%,rgba(241,241,241,1) 42%,rgba(241,241,241,1) 100%);
  bottom: 0;
  height: 223px;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 4;
}

.top-page #accordion-menu .link-button.more-btn {
  border: 1px solid #333;
  border-radius: 2px;
  bottom: 50px;
  box-sizing: border-box;
  color: #333;
  left: 0;
  position: absolute;
  margin: 0 auto;
  padding: 12px 15px;
  right: 0;
  text-align: left;
  width: 28rem;
  z-index: 2;
}
.top-page #accordion-menu .link-button.more-btn:hover,
.top-page #accordion-menu .link-button.more-btn:focus {
  color: #fff;
}

@media screen and (max-width:640px){
  .top-page #accordion-menu .more {
    background: linear-gradient(to bottom, rgba(241,241,241,0) 0%,rgba(241,241,241,1) 42%,rgba(241,241,241,1) 100%);
    bottom: 0;
    height: 257px;
    left: 0;
    position: absolute;
    width: 100%;
  }
  .top-page #accordion-menu .link-button.more-btn {
    width: 20rem;
    height: 4.5rem;
    font-size: 1.6rem;
  }
}

/* 歴代 */
.rekidai-index h2 {
  text-align: center;
}

.his-block {
  width: 100%;
}
.his-block + .his-block {
  margin-top: 20px;
}

.his-dayBarBg {
  background: #b2b2b2;
  height: 16px;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.his-dayBarBg::before {
  background: url("/jp/n5-common/img/bar_divider.png") no-repeat;
  background-size: 100% 100%;
  content: '';
  height: 16px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.his-dayBar {
  background: #10517b;
  height: 16px;
  left: 0;
  position: absolute;
  top: 0;
  width: 0;
  transition: width 0.5s;
  z-index: 2;
}
.his-dayBar::after {
  background: url("/jp/n5-common/img/bar_divider_arrow.png") no-repeat;
  content: '';
  height: 16px;
  position: absolute;
  right: 0;
  top: 0;
  width: 34px;
  z-index: 3;
}
@media screen and (max-width:768px){
  .his-dayBarBg {
    height: 12px;
  }
  .his-dayBarBg::before {
    content: none;
  }
  .his-dayBar {
    height: 12px;
  }
  .his-dayBar::after {
    background: url("/jp/n5-common/img/bar_divider_arrow_sp.png") no-repeat;
    background-size: 100% 100%;
    height: 12px;
    width: 34px;
  }
}

.his-inner {
  align-items: flex-start;
  display: flex;
  position: relative;
}
.his-inner-img {
  border: 1px solid #666666;
  box-sizing: border-box;
  margin-right: 3.125%;
  width: 128px;
  min-width: 128px;
}
@media screen and (max-width:980px){
  .his-inner {
    flex-wrap: wrap;
  }
}
@media screen and (max-width:768px){
  .his-inner-img {
    height: 92px;
    margin-right: 14px;
    width: 72px;
    min-width: initial;
  }
}

.his-inner-name {
  margin: 20px 4.687% 0 0;
  width: 324px;
}
.his-inner-name h3 {
  font-size: 2rem;
}
.his-inner-name h3 span {
  display: block;
  font-size: 2.4rem;
}
.his-inner-name h3 a {
  color: #4d4d4d;
  padding-right: 19px;
  position: relative;
}
.his-inner-name h3 a::after {
  background-image: url("/jp/n5-common/img/arrow_right_blue.svg");
  background-size: 9px 16px;
  content: "";
  height: 16px;
  position: absolute;
  top: calc(50% - 1px);
  transform: translateY(-50%);
  right: 0;
  width: 9px;
}
.his-inner-name p {
  font-size: 1.6rem;
}
.his-inner-name-br {
  display: none;
}

@media screen and (max-width:1280px){
  .his-inner-name {
    width: auto;
    min-width: 160px;
  }
  .his-inner-name-br {
    display: block;
  }
}
@media screen and (max-width:980px){
  .his-inner-name-br {
    display: none;
  }
}
@media screen and (max-width:768px){
  .his-inner-name {
    margin: 2px 0 0 0;
    width: calc(100% - 86px);
  }
  .his-inner-name h3 {
    font-size: 1.6rem;
    margin: 0 0 10px 0;
  }
  .his-inner-name h3 span {
    font-size: 1.8rem;
    margin-bottom: 2px;
  }
  .his-inner-name h3 a {
    padding-right: 16px;
  }
  .his-inner-name h3 a::after {
    background-size: 6px 10px;
    height: 10px;
    top: calc(50%);
    width: 6px;
  }
  .his-inner-name p {
    font-size: 1rem;
  }
}

.his-inner-day {
  border-bottom: 2px solid #10517b;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0 8px;
  position: absolute;
  right: 0;
  top: 20px;
}
.his-day {
  font-size: 3.2rem;
  margin: 0 20px;
}
@media screen and (max-width:768px){
  .his-inner-day {
    border-bottom: 1px solid #10517b;
    font-size: 1.2rem;
    padding: 0;
    top: 3px;
  }
  .his-day {
    font-size: 1.8rem;
    margin: 0 8px;
  }
}

.his-inner-link {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 5px 26.6rem 0 0;
  width: 412px;
}
.his-inner-link li {
  list-style-type: none;
  margin: 15px 0 0 0;
  width: calc(50% - 20px);
}
.his-inner-link a {
  font-size: 1.4rem;
  padding: 0 0 0 16px;
  position: relative;
}
.his-inner-link li a::before {
  background-image: url("/jp/n5-common/img/arrow_right_blue.svg");
  background-size: 6px 10px;
  content: "";
  height: 10px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
}
@media screen and (max-width:1023px){
  .his-inner-link {
    flex-direction: column;
    margin: 10px 266px 0 0;
  }
  .his-inner-link li {
    margin: 10px 0 0 0;
    width: 100%;
  }
}
@media screen and (max-width:980px){
  .his-inner-link {
    flex-direction: row;
    margin: 10px auto 10px calc(3.125% + 128px);
  }
  .his-inner-link li {
    margin: 10px 0 0 0;
    width: 50%;
  }
}
@media screen and (max-width:768px){
  .his-inner-link {
    box-sizing: border-box;
    margin: 0;
    padding: 0 20px;
    width: 100%;
  }
  .his-inner-link a {
    font-size: 1.2rem;
  }
}

.his-inner-totalday {
  border-bottom: 1px solid #808080;
  bottom: 26px;
  padding: 0 4px;
  position: absolute;
  right: 0;
}
.his-totalday {
  font-size: 2.4rem;
  margin: 0 20px;
}
@media screen and (max-width:980px){
  .his-inner-totalday {
    bottom: 0;
    margin: 10px 0 0 auto;
    position: relative;
    right: 0;
  }
}
@media screen and (max-width:768px){
  .his-inner-totalday {
    font-size: 1rem;
    padding: 0;
  }
  .his-totalday {
    font-size: 1.6rem;
    margin: 0 8px;
  }
}

.rekidai .main-visual,
.meibo .main-visual {
  background: url("/jp/n5-common/img/rekidai-main-visual-bg.jpg");
}
.top-page .main-visual::before,
.rekidai .main-visual::before,
.meibo .main-visual::before {
  content: none;
}
.rekidai .main-visual-inner {
  align-items: center;
  flex-direction: row;
  justify-content: space-between;
}
.rekidai .main-visual h1 {
  border-bottom: 3px solid #af9f6e;
  line-height: 1.2em;
  margin: -33px 0 0 60px;
}
.rekidai .main-visual h1 span {
  background: transparent;
  font-size: 3.2rem;
  line-height: 1.2em;
  margin: 0 0 0 4px;
  padding: 0;
}
.rekidai .main-visual .inner-img {
  height: 410px;
  text-align: center;
  width: 50%;
}
@media screen and (max-width:1366px){
  .rekidai .main-visual h1 {
    margin-left: 0;
  }
  .rekidai .main-visual .inner-img {
    margin-right: 0;
  }
}
@media screen and (max-width:1024px){
  .rekidai .main-visual h1 {
    margin: 16px auto 20px;
    text-align: center;
  }
  .rekidai .main-visual-inner {
    flex-direction: column;
    height: auto;
    justify-content: flex-start;
  }
  .rekidai .main-visual .inner-img {
    margin-bottom: 40px;
  }
}
@media screen and (max-width:768px){
  .rekidai .main-visual-inner {
    display: flex;
  }
  .rekidai .main-visual h1 {
    color: #fff;
    letter-spacing: 0.25rem;
  }
  .rekidai .main-visual h1 span {
    font-size: 2rem;
    margin: 0;
  }
  .rekidai .main-visual .inner-img {
    height: auto;
    width: 37.33%;
    min-width: 140px;
  }
}

.meibo .res-table th {
  text-align: right;
  width: 12em;
}
@media screen and (max-width:768px){
  .meibo .res-table th {
    text-align: left;
    width: 100%;
  }
}

.rekidai-profile {
  background: transparent;
  border-collapse: collapse;
  border-top: 1px solid #d5d5d5;
}
.rekidai-profile tr {
  border-bottom: 1px solid #d5d5d5;
}
.rekidai-profile th {
  width: 230px;
}
.rekidai-profile th,
.rekidai-profile td {
  background: transparent;
  border: none;
  padding: 15px 10px;
}
@media screen and (max-width:768px){
  .rekidai-profile th {
    text-align: left;
    width: auto;
  }
  .rekidai-profile th,
  .rekidai-profile td {
    background: transparent;
    padding: 12px 0;
  }
}

.rekidai-link {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: -10px 0 0 0;
}
.rekidai-link li {
  margin: 10px 0 0 0;
  list-style-type: none;
  width: 25%;
}
.rekidai-link li a {
  padding: 0 0 0 20px;
  position: relative;
}
.rekidai-link li a::before {
  background-image: url("/jp/n5-common/img/arrow_right_blue.svg");
  background-size: 8px 14px;
  content: "";
  height: 14px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
@media screen and (max-width:1024px){
  .rekidai-link li {
    width: 50%;
    max-width: initial;
  }
}
@media screen and (max-width:768px){
  .rekidai-link {
    margin: -16px 0 0 0;
    flex-direction: column;
  }
  .rekidai-link li {
    margin: 16px 0 0 0;
    width: 100%;
  }
  .rekidai-link li a {
    padding: 0 0 0 16px;
  }
  .rekidai-link li a::before {
    background-size: 6px 10px;
    height: 10px;
    width: 6px;
  }
}

.rekidai-cabinet {
  background : #FFFFFF;
  border : 1px solid #b2b2b2;
  border-radius : 4px;
  box-sizing: border-box;
  padding: 30px;
}
.rekidai-cabinet + .rekidai-cabinet,
.rekidai-cabinet + .back-link-list {
  margin-top: 20px;
}

.rekidai-cabinet h3,
.rekidai-cabinet .table-heading {
  margin: 0;
  padding: 0 44px 0 10px;
  position: relative;
}
.rekidai-cabinet .table-heading {
  font-size: 3rem;
  letter-spacing: .225rem;
}
.rekidai-cabinet h3 .switch-btn {
  color: #10517b;
  height: 24px;
  position: absolute;
  text-align: center;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity .3s;
  width: 24px;
}
.rekidai-cabinet h3 .switch-btn:hover {
  opacity: .8;
}
.rekidai-cabinet h3 .switch-btn::before,
.rekidai-cabinet h3 .switch-btn::after {
  background: #10517b;
  content: "";
  display: block;
  position: absolute;
}
.rekidai-cabinet h3 .switch-btn::before {
  height: 3px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
}
.rekidai-cabinet h3 .switch-btn[aria-expanded="false"]::after {
  height: 24px;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 3px;
}
@media screen and (max-width:768px){
  .rekidai-cabinet {
    padding: 20px 11px;
  }
  .rekidai-cabinet h3,
  .rekidai-cabinet .table-heading {
    font-size: 1.8rem;
    padding: 0 38px 0 9px;
  }
  .rekidai-cabinet h3 .switch-btn {
    color: #10517b;
    height: 18px;
    right: 8px;
    width: 18px;
  }
  .rekidai-cabinet h3 .switch-btn::before {
    width: 18px;
  }
  .rekidai-cabinet h3 .switch-btn[aria-expanded="false"]::after {
    height: 18px;
  }
}

.rekidai-cabinet-content {
  border-top: 2px solid #10517b;
  margin: 21px 0 0 0;
  padding: 27px 20px 0 30px;
}
.rekidai-cabinet-content table {
  border-collapse: collapse;
}

.rekidai-cabinet-content tr {
  border-bottom: 2px solid #f7f7f7;
}
.rekidai-cabinet-content thead th {
  font-weight: bold;
  font-size: 2rem;
}
.rekidai-cabinet-content th,
.rekidai-cabinet-content td {
  background: transparent;
  border: none;
  box-sizing: border-box;
  font-weight: normal;
  padding: 16px 10px;
  text-align: left;
  vertical-align: middle;
  width: 47%;
}
.rekidai-cabinet-content table th + th + th,
.rekidai-cabinet-content table th + td + td {
  text-align: center;
  width: 6%;
}
.rekidai-cabinet-content ul {
  margin: 0;
}
.rekidai-cabinet-content li {
  list-style-type: none;
  margin: 0 0 0 0;
}
.rekidai-cabinet-content li + li {
  margin-top: 0.5em;
}
@media screen and (max-width:768px){
  .rekidai-cabinet-content {
    margin: 14px 0 0 0;
    padding: 9px 0 0 0;
  }
  .rekidai-cabinet-content thead th {
    font-size: 1.8rem;
  }
  .rekidai-cabinet-content.meibo thead {
    display: none;
  }
  .rekidai-cabinet-content th,
  .rekidai-cabinet-content td {
    padding: 6px 9px;
  }
  .rekidai-cabinet-content.meibo tbody tr,
  .rekidai-cabinet-content.meibo tbody th,
  .rekidai-cabinet-content.meibo tbody td {
    display: block;
    width: 100%;
    text-align: left;
  }
  .rekidai-cabinet-content.meibo tbody tr {
    border-color: #e0e0e0;
    box-sizing: border-box;
    padding: 0 12px 6px;
    margin-bottom: 12px;
  }
  .rekidai-cabinet-content.meibo tbody td {
    border-top: 1px dotted #cccccc;
  }
}

/* Search Page */
.input-box {
  align-items: center;
  background: #ffffff;
  border: 1px solid #cbcbcb;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  margin: 0 0 60px 0;
  padding: 13px 40px;
  width: 100%;
}
.input-box .form-box {
  width: 100%;
  position: relative;
}
.input-box input[type="text"] {
  border: none;
  font-size: 2rem;
  margin: 0;
  padding: 0;
  width: calc(100% - 39px);
}
.input-box input[type="text"]::placeholder {
  color: #767676;
}
.input-box input[type="text"]:-ms-input-placeholder {
  color: #767676;
}
.input-box input[type="text"]::-ms-input-placeholder {
  color: #767676;
}

.input-box button[type="submit"] {
  height: 20px;
  line-height: 1em;
  margin-right: 10px;
  transition: opacity .3s ease;
  width: 19px;
}
.input-box button[type="submit"]:hover {
  opacity: .6;
}
.input-box button img {
  vertical-align: middle;
}
@media screen and (max-width:768px){
  .input-box {
    margin: 0 0 40px 0;
    padding: 5px 19px;
  }
  .input-box input[type="text"] {
    font-size: 1.4rem;
    width: calc(100% - 20px);
  }
  .input-box input[type="text"]::placeholder {
    color: #b2b2b2;
  }
  .input-box button[type="submit"] {
    height: 14px;
    margin-right: 0;
    width: 14px;
  }
}

.search-option-box {
  display: flex;
  justify-content: space-between;
  height: 5rem;
  margin: 0 auto 68px;
  width: 720px;
}
.search-option-btn {
  align-items: center;
  background: #10517B;
  border-radius: 2px;
  color: #fff;
  display: inline-flex;
  font-size: 2rem;
  height: 5rem;
  justify-content: center;
  letter-spacing: .1rem;
  text-align: center;
  text-decoration: none;
  transition: background-color .3s ease;
  width: 280px;
}
.search-option-btn:hover,
.search-option-btn:focus {
  background-color: #0b2c45;
}
.search-option-btn span {
  display: block;
  text-align: center;
  width: 100%;
}
@media screen and (max-width:768px){
  .search-option-box {
    height: 3.6rem;
    margin: 0 auto 60px;
    width: 100%;
  }
  .search-option-btn {
    font-size: 1.6rem;
    height: 3.6rem;
    letter-spacing: .08rem;
    width: calc(50% - 23px / 2) ;
  }
}

#filter-cont {
  background: #10517B;
  bottom: 0;
  box-sizing: border-box;
  left: 0;
  overflow-y: scroll;
  padding: 0 43px;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-animation: fadeOut .3s ease-out 0s forwards;
  animation: fadeOut .3s ease-out 0s forwards;
  -webkit-overflow-scrolling: touch;
}
#filter-cont[aria-hidden="false"] {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-animation: fadeIn .3s ease-out 0s forwards;
  animation: fadeIn .3s ease-out 0s forwards;
}
#filter-close-btn {
  position: absolute;
  height: 40px;
  right: 86px;
  top: 40px;
  width: 29px;
}
@media screen and (max-width:768px){
  #filter-cont {
    background: #fff;
    padding: 0 16px;
  }
  #filter-close-btn {
    height: 30px;
    right: 16px;
    top: 60px;
    width: 22px;
  }
}

.filter-cont-inner {
  background: #fff;
  border: 1px solid #989898;
  border-radius: 4px;
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.05);
  box-sizing: border-box;
  padding: 107px 222px 119px 222px;
  position: relative;
  margin: 200px auto;
  max-width: 1366px;
}
@media screen and (max-width:1366px){
  .filter-cont-inner {
    padding: 107px 179px 119px;
  }
}
@media screen and (max-width:1280px){
  .filter-cont-inner {
    padding: 107px 119px 119px;
  }
}
@media screen and (max-width:1024px){
  .filter-cont-inner {
    padding: 107px 59px 119px;
  }
}
@media screen and (max-width:768px){
  .filter-cont-inner {
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 124px 0;
    margin: 0;
  }
}

.filter-cont-inner h2 {
  position: relative;
  margin-left: -100px;
}
@media screen and (max-width:1280px){
  .filter-cont-inner h2 {
    margin-left: -50px;
  }
}
@media screen and (max-width:1024px){
  .filter-cont-inner h2 {
    margin-left: 0;
  }
}
@media screen and (max-width:768px){
  .filter-cont-inner h2 {
    padding-right: 28px;
  }
}
.filter-cont-inner h2 .switch-btn {
  color: #10517b;
  height: 16px;
  position: absolute;
  text-align: center;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity .3s;
  width: 16px;
}
.filter-cont-inner h2 .switch-btn[aria-expanded="true"] {
  display: none;
}
.filter-cont-inner h2 .switch-btn[aria-expanded="false"] {
  display: block;
}
.filter-cont-inner h2 .switch-btn:hover {
  opacity: .8;
}
.filter-cont-inner h2 .switch-btn::before,
.filter-cont-inner h2 .switch-btn::after {
  background: #10517b;
  content: "";
  display: block;
  position: absolute;
}
.filter-cont-inner h2 .switch-btn::before {
  height: 2px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
}
.filter-cont-inner h2 .switch-btn[aria-expanded="false"]::after {
  height: 16px;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 2px;
}
@media screen and (max-width:768px){
  .filter-cont-inner h2 .switch-btn[aria-expanded="true"],
  .filter-cont-inner h2 .switch-btn[aria-expanded="false"] {
    display: block;
  }
}
.filter-cont-inner .accordion-inner {
  padding-bottom: 10px;
}

.filter-cont-inner li {
  list-style-type: none;
  margin: 20px 0 0 0;
}
.filter-cont-inner legend {
  font-size: 3rem;
}
@media screen and (max-width:768px){
  .filter-cont-inner li {
    border-top: 1px solid #f2f2f2;
    box-sizing: border-box;
    margin: 8px 0 0 0;
    padding: 8px 10px 0;
  }
  .filter-cont-inner legend {
    font-size: 2rem;
  }
}

.filter-cont-inner input {
  margin: 0;
}
.filter-cont-inner input[type="radio"],
.filter-cont-inner input[type="checkbox"] {
  position: absolute;
  opacity: 0;
}
.filter-cont-inner input[type="radio"] + label,
.filter-cont-inner input[type="checkbox"] + label {
  cursor: pointer;
  display: inline-block;
  padding: 0 16px 0 32px;
  position: relative;
}
@media screen and (max-width:768px){
  .filter-cont-inner input[type="radio"] + label,
  .filter-cont-inner input[type="checkbox"] + label {
    display: block;
    padding: 0 24px 0 0;
  }
}

.filter-cont-inner input[type="radio"] + label::before {
  background: #fff;
  border-radius: 100%;
  border: 1px solid #4d4d4d;
  content: '';
  height: 14px;
  left: 2px;
  position: absolute;
  top: .3em;
  width: 14px;
}
.filter-cont-inner input[type="radio"]:checked + label::after{
  background: #4d4d4d;
  border-radius: 100%;
  content: '';
  height: 10px;
  left: 5px;
  position: absolute;
  top: calc(.3em + 3px);
  width: 10px;
}
.filter-cont-inner input:focus + label {
  outline: 1px dashed #333;
}

.filter-cont-inner input[type="checkbox"] + label::before {
  background: #fff;
  border: 1px solid #666;
  content: '';
  height: 18px;
  left: 0;
  position: absolute;
  top: .2em;
  width: 18px;
}
.filter-cont-inner input[type="checkbox"]:checked + label::after{
  border: solid #666;
  border-width: 0 0 3px 3px;
  content: '';
  height: 9px;
  left: 4px;
  position: absolute;
  top: .2em;
  transform: rotate(-45deg);
  width: 15px;
}
@media screen and (max-width:768px){
  .filter-cont-inner input[type="radio"] + label::before {
    left: initial;
    right: 2px;
    top: 2px;
  }
  .filter-cont-inner input[type="radio"]:checked + label::after{
    left: initial;
    right: 5px;
    top: 5px;
  }

  .filter-cont-inner input[type="checkbox"] + label::before {
    height: 16px;
    left: initial;
    right: 0;
    width: 16px;
  }
  .filter-cont-inner input[type="checkbox"]:checked + label::after{
    border-width: 0 0 3px 3px;
    height: 6px;
    left: initial;
    right: -2px;
    width: 13px;
  }
}

.search-option-radio,
.search-option-check ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.search-option-radio {
  margin-top: -5px;
}
.search-option-radio fieldset {
  width: 33.3%;
}
.search-option-radio legend {
  margin-bottom: 14px;
}
.search-option-check ul {
  margin-top: -32px;
}
.search-option-check ul li {
  width: 25%;
}
.search-option-check-btn {
  display: flex;
  justify-content: space-between;
  margin: 40px auto 0;
  max-width: 720px;
  width: 100%;
}
.search-option-check-btn button {
  background: #10517B;
  border-radius: 2px;
  color: #fff;
  font-size: 2rem;
  height: 5rem;
  letter-spacing: 0.1rem;
  transition: background-color .3s ease;
  width: 280px;
}
.search-option-check-btn button:hover,
.search-option-check-btn button:focus {
  background-color: #0b2c45;
}
@media screen and (max-width:1024px){
  .search-option-check ul li {
    width: 33.3%;
  }
}
@media screen and (max-width:768px){
  .search-option-section,
  .search-option-check {
    border: 1px solid #b3b3b3;
    border-radius: 2px;
    box-sizing: border-box;
    padding: 10px 20px 0;
  }
  .search-option-section {
    margin-bottom: 40px;
  }
  .search-option-section ul {
    border-bottom: 1px solid #f2f2f2;
    margin: 0;
    padding: 0 0 8px 0;
  }
  .search-option-radio,
  .search-option-check ul {
    flex-direction: column;
    flex-wrap: nowrap;
    margin: 0;
  }

  .search-option-radio fieldset {
    width: 100%;
  }
  .search-option-radio fieldset + fieldset {
    margin-top: 40px;
  }
  .search-option-radio legend {
    margin: 0 0 2px 10px;
  }

  .search-option-check ul {
    border-bottom: 1px solid #f2f2f2;
    margin-top: -4px;
    padding: 0 0 8px 0;
  }
  .search-option-check ul li {
    width: 100%;
  }
  .search-option-check-btn {
    margin: 40px 0 30px;
    width: 100%;
  }
  .search-option-check-btn button {
    font-size: 1.6rem;
    height: 3.5rem;
    letter-spacing: 0.08rem;
    width: calc(50% - 19px / 2);
  }
}

.search-option-text p {
  font-size: 1.4rem;
  margin-bottom: 16px;
}
@media screen and (max-width:768px){
  .search-option-text p {
    font-size: 1.2rem;
  }
}

.search-option-input-box {
  align-items: center;
  background: #ffffff;
  border: 1px solid #cbcbcb;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  padding: 13px 40px;
  width: 100%;
}
.search-option-input-box input[type="text"] {
  border: none;
  font-size: 2rem;
  margin: 0;
  padding: 0;
  width: calc(100% - 30px);
}
.search-option-input-box input[type="text"]::placeholder {
  color: #767676;
}
.search-option-input-box input[type="text"]:-ms-input-placeholder {
  color: #767676;
}
.search-option-input-box input[type="text"]::-ms-input-placeholder {
  color: #767676;
}

.search-option-input-box button[type="submit"] {
  height: 20px;
  margin-right: 1px;
  width: 19px;
  transition: opacity .3s ease;
}
.search-option-input-box button[type="submit"]:hover {
  opacity: .6;
}
@media screen and (max-width:768px){
  .search-option-input-box {
    padding: 5px 19px;
  }
  .search-option-input-box input[type="text"] {
    font-size: 1.4rem;
    width: calc(100% - 20px);
  }
  .search-option-input-box button[type="submit"] {
    height: 14px;
    margin-right: 0;
    width: 14px;
  }
}

.search-option-submit {
  box-sizing: border-box;
  text-align: center;
  width: 100%;
}
.search-option-submit button {
  background: #10517B;
  border-radius: 2px;
  color: #fff;
  font-size: 2rem;
  height: 5rem;
  letter-spacing: 0.1rem;
  transition: background-color .3s ease;
  width: 280px;
}
.search-option-submit button:hover,
.search-option-submit button:focus {
  background-color: #0b2c45;
}
@media screen and (max-width:768px){
  .search-option-submit {
    padding-left: 0;
  }
  .search-option-submit button {
    font-size: 1.6rem;
    height: 3.5rem;
    letter-spacing: 0.08rem;
    width: 240px;
  }
}

.search-result {
  margin-bottom: 120px;
}

.search-result article {
  border-top: 2px solid #cbcbcb;
  padding: 34px 0 0 105px;
  position: relative;
}
.search-result article + article {
  margin-top: 50px;
}
@media screen and (max-width:768px){
  .search-result {
    margin-bottom: 54px;
  }

  .search-result article {
    padding: 16px 0 0;
  }
  .search-result article + article {
    margin-top: 16px;
  }
}

.search-result-number {
  font-size: 2rem;
  left: 10px;
  position: absolute;
  top: 38px;
}
.search-result h2 {
  font-size: 2rem;
  font-weight: normal;
  margin: 0;
  padding-left: 28px;
}
.search-result h2 a {
  margin: 0 0 0 -28px;
  padding-left: 28px;
  position: relative;
}
.search-result h2 a::before {
  background-image: url("/jp/n5-common/img/arrow_right_blue.svg");
  background-size: 9px 16px;
  content: "";
  height: 16px;
  left: 3px;
  position: absolute;
  top: .35em;
  width: 9px;
}
@media screen and (max-width:768px){
  .search-result-number {
    font-size: 1.4rem;
    position: static;
  }
  .search-result h2 {
    font-size: 1.4rem;
    margin: 16px 0 0;
    padding-left: 18px;
  }
  .search-result h2 a {
    display: block;
    margin: 0 0 0 -18px;
    padding-left: 18px;
  }
  .search-result h2 a::before {
    background-size: 7px 12px;
    height: 12px;
    width: 7px;
  }
}

.search-result-title-sub {
  display: inline-block;
  font-size: 1.4rem;
  margin: -5px 0 0 17px;
  vertical-align: middle;
}
.search-result-title-sub img {
  margin: 0 15px 0 0;
  vertical-align: middle;
}

.search-result-box {
  overflow-wrap : break-word;
}
.search-result-box p {
  margin: 34px 0 25px 0;
  letter-spacing: .08rem;
}

.search-result-url {
  position: relative;
  padding: 0 0 0 84px;
}
.search-result-url::before {
  background : #666666;
  border-radius: 2px;
  color: #fff;
  content: 'URL';
  display: block;
  font-size: 1rem;
  height: 20px;
  left: 0;
  line-height: 20px;
  letter-spacing: .05rem;
  position: absolute;
  text-align: center;
  top: .35em;
  width: 64px;
}
.search-result-url a {
  word-wrap: break-word;
}
@media screen and (max-width:768px){
  .search-result-title-sub {
    font-size: 1.2rem;
    margin-top: -0;
  }
  .search-result-title-sub img {
    margin: 0 10px 0 0;
    width: 14px;
  }

  .search-result-box p {
    font-size: 1.3rem;
    letter-spacing: .065rem;
    margin: 18px 0 20px 0;
  }

  .search-result-url {
    padding: 0 0 0 62px;
  }
  .search-result-url::before {
    font-size: .8rem;
    height: 16px;
    line-height: 16px;
    letter-spacing: .04rem;
    width: 46px;
  }
  .search-result-url a {
    display: inline-block;
    font-size: 1.2rem;
    word-break: break-all;
  }
}

.search-pager ul {
  display: flex;
  justify-content: center;
  margin: 0;
}
.search-pager ul li {
  background: #0b2c45;
  color: #fff;
  font-size: 2rem;
  height: 3rem;
  line-height: 3rem;
  list-style-type: none;
  text-align: center;
  width: 4.1rem;
}
.search-pager ul li.current {
  font-weight: bold;
}
.search-pager ul li + li {
  margin: 0 0 0 20px;
}
.search-pager ul li.skip-btn {
  width: 8rem;
}
.search-pager ul li.skip-btn + li,
.search-pager ul li + li.skip-btn {
  margin-left: 30px;
}
@media screen and (max-width:768px){
  .search-pager ul {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .search-pager ul::after {
    content: '';
    width: 100%;
  }
  .search-pager ul li {
    font-size: 1.4rem;
    height: 2.4rem;
    line-height: 2.4rem;
    width: 3rem;
  }
  .search-pager ul li + li {
    margin-left: 0;
  }
  .search-pager ul li.skip-btn {
    height: 2.8rem;
    margin: 26px 0 0 0;
    order: 1;
    width: 7rem;
  }
  .search-pager ul li.skip-btn:nth-child(2) {
    margin-right: 15px;
  }
  .search-pager ul li.skip-btn:nth-last-child(2) {
    margin-left: 15px;
  }
  .search-pager ul li.skip-btn + li,
  .search-pager ul li + li.skip-btn {
    margin-left: 0;
  }
}
@media screen and (max-width:374px){
  .search-pager ul li.skip-btn:nth-child(2),
  .search-pager ul li.skip-btn:nth-last-child(2) {
    margin: 26px 0 0 0;
  }

}

.search-pager ul li a {
  background: #b2b2b2;
  box-sizing: border-box;
  display: block;
  font-size: 1.4rem;
  height: 100%;
  line-height: 3rem;
  text-align: center;
  text-decoration: none;
  transition: background-color .3s ease, color .2s ease;
  width: 100%;
}
.search-pager ul li a:hover,
.search-pager ul li a:focus {
  background: #10517b;
  color: #fff;
}

.search-pager ul li.skip-btn a,
.search-pager ul li.current a {
  background: #10517b;
  color: #fff;
  font-weight: bold;
}
.search-pager ul li.skip-btn a:hover,
.search-pager ul li.current a:hover,
.search-pager ul li.skip-btn a:focus,
.search-pager ul li.current a:focus {
  background: #0b2c45;
}
.search-pager ul li.skip-btn a {
  font-size: 1.2rem;
  position: relative;
}
@media screen and (max-width:768px){
  .search-pager ul li a {
    font-size: 1rem;
    line-height: 2.4rem;
  }
  .search-pager ul li.skip-btn a {
    line-height: 2.8rem;
  }

  .search-pager ul li.skip-btn a {
    font-size: 1.2rem;
    position: relative;
  }
}

.search-pager ul li.skip-btn:nth-child(-n+2) a {
  padding-left: 32px;
  text-align: left;
}
.search-pager ul li.skip-btn:nth-last-child(-n+2) a {
  padding-right: 32px;
  text-align: right;
}
.search-pager ul li.skip-btn:nth-child(-n+2) a::before,
.search-pager ul li.skip-btn:first-child a::after,
.search-pager ul li.skip-btn:nth-last-child(-n+2) a::before,
.search-pager ul li.skip-btn:last-child a::after {
  border-color: transparent #ffffff transparent #ffffff;
  border-style: solid;
  border-width: 5px 6px 5px 6px;
  bottom: 0;
  content: '';
  position: absolute;
  margin: auto;
  height: 0;
  top: 0;
  width: 0;
  transition: none;
}
.search-pager ul li.skip-btn:first-child a::before {
  border-left: 0px solid transparent;
  left: 10px;
}
.search-pager ul li.skip-btn:first-child a::after {
  border-left: 0px solid transparent;
  left: 19px;
}
.search-pager ul li.skip-btn:nth-child(2) a::before {
  border-left: 0px solid transparent;
  left: 14px;
}
.search-pager ul li.skip-btn:last-child a::before {
  border-right: 0px solid transparent;
  right: 10px;
}
.search-pager ul li.skip-btn:last-child a::after {
  border-right: 0px solid transparent;
  right: 19px;
}
.search-pager ul li.skip-btn:nth-last-child(2) a::before {
  border-right: 0px solid transparent;
  right: 14px;
}

.search-pager ul li.current a {
  font-size: 2rem;
}
@media screen and (max-width:768px){
  .search-pager ul li.skip-btn:nth-child(-n+2) a {
    padding-left: 24px;
  }
  .search-pager ul li.skip-btn:nth-last-child(-n+2) a {
    padding-right: 24px;
  }
  .search-pager ul li.skip-btn:nth-child(-n+2) a::before,
  .search-pager ul li.skip-btn:first-child a::after,
  .search-pager ul li.skip-btn:nth-last-child(-n+2) a::before,
  .search-pager ul li.skip-btn:last-child a::after {
    border-color: transparent #ffffff transparent #ffffff;
    border-style: solid;
    border-width: 4px 4.8px 4px 4.8px;
  }
  .search-pager ul li.skip-btn:first-child a::before {
    border-left: 0px solid transparent;
    left: 6px;
  }
  .search-pager ul li.skip-btn:first-child a::after {
    border-left: 0px solid transparent;
    left: 13px;
  }
  .search-pager ul li.skip-btn:nth-child(2) a::before {
    border-left: 0px solid transparent;
    left: 10px;
  }
  .search-pager ul li.skip-btn:last-child a::before {
    border-right: 0px solid transparent;
    right: 6px;
  }
  .search-pager ul li.skip-btn:last-child a::after {
    border-right: 0px solid transparent;
    right: 13px;
  }
  .search-pager ul li.skip-btn:nth-last-child(2) a::before {
    border-right: 0px solid transparent;
    right: 10px;
  }

  .search-pager ul li.current a {
    font-size: 1.6rem;
  }
}

/* 詳細ページ */
.with-date article {
  position: relative;
}

.date-sns {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  left: 0;
  padding: 0 43px;
  position: absolute;
  top: 113px;
  width: 100%;
}

.date-sns .date {
  display: block;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HGP明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
  font-size: 2.4rem;
  letter-spacing: 0.12rem;
  margin-right: auto;
  transform: rotate(0.03deg);
}

.sns-inner {
  display: flex;
  flex-wrap: nowrap;
  margin-left: auto;
}
.sns-inner ul {
  margin: 0;
  letter-spacing: -0.6rem;
}
.sns-inner li {
  display: inline-block;
  letter-spacing: normal;
  list-style-type: none;
  margin: 6px 0 0;
}
.sns-inner li + li {
  margin-left: 20px;
}

/* 日付なし sns-inner */
.sns-inner-single {
  margin-bottom: 20px;
}
.sns-inner-single ul {
  margin: 0;
  display: flex;
  justify-content: flex-end;
}
.sns-inner-single li {
  list-style-type: none;
  margin-top: 0;
  display: block;
}
.sns-inner-single .fb_iframe_widget {
  display: block !important;
}

.fb_iframe_widget span {
  vertical-align: top !important;
}
@media screen and (max-width:768px){
  .date-sns {
    padding: 0 16px;
    position: absolute;
    top: 35px;
  }
  .date-sns .date {
    font-size: 1.6rem;
    letter-spacing: 0.08rem;
  }
  .sns-inner li {
    margin: 2px 0 0;
  }
  .sns-inner li + li {
    margin-left: 10px;
  }
  .sns-inner-single li:last-child {
    margin-left: 10px;
  }
}
@media screen and (max-width:374px){
  .sns-inner li + li {
    margin-left: 4px;
  }
  .sns-inner-single li:last-child {
    margin-left: 4px;
  }
}

.detail-page .slider-thum .swiper-wrapper {
  flex-direction: row;
  flex-wrap: wrap;
}
.detail-page .slider-thum .swiper-slide {
  background-color: #1e1e1e;
  text-align: center;
  width: calc(50% - 10px);
  height: 107px !important;
  margin: 0 20px 20px 0;
  opacity: .5;
  cursor: pointer;
}

.detail-page .slider-thum .swiper-slide:nth-child(2n) {
  margin-right: 0;
}

.detail-slider-box {
  display: flex;
  justify-content: space-between;
  margin: 0 0 80px 0;
  height: 510px;
}

.detail-slider-box .slmain {
  background: #1e1e1e;
  width: 800px;
  margin: 0 3.125% 0 0;
}

.detail-slider-box .slmain .swiper-slide {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.detail-page .slide-text {
  font-size: 1.4rem;
  text-align: center;
  background-color: #1e1e1e;
  min-height: 3.4rem;
  padding: 3px 40px;
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.detail-page .slide-text span {
  vertical-align: middle;
  line-height: 1.75;
}

.detail-page .slide-text:focus span,
.detail-page .slide-text:hover span {
  text-decoration: none;
}

.detail-slider-box .slider-thum {
  background: #cbcbcb;
  width: 440px;
}

.detail-slider-box .slider-thum .slider-thum-inner {
  height: 100%;
}

.slider-thum-inner .adjustment {
  padding: 10px 20px;
}

.detail-slider-box .slider-thum .swiper-slide img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.detail-page .slider-thum .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
}

.detail-page .swiper-pagination-bullet:last-child {
  margin-right: 0;
}

@media screen and (max-width:768px){
  .detail-page .swiper-slide {
    margin: 0 auto;
  }

  .detail-slider-box {
    margin: 0 0 60px 0;
    position: relative;
    padding-bottom: 30px;
    height: auto;
  }

  .detail-slider-box .slider-container {
    width: 100%;
    height: 215px;
    margin: 0 auto;
  }

  .detail-slider-box .slmain {
    width: 100%;
    margin: 0;
  }

  .detail-page .slide-text {
    font-size: .9rem;
    margin: 0;
    min-height: initial;
    background-color: #1e1e1e;
  }

  .detail-slider-box .slider-thum {
    display: none;
  }
}

@media screen and (max-width:767px) {
  .detail-slider-box .slmain .swiper-slide {
    display: block;
    box-sizing: border-box;
  }

  /*.detail-page .slide-img::before {
    content: "";
    display: block;
    padding-top: calc(100% * 2/3);
  }*/

  /*.detail-page .slide-img .sp-slider {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-height: initial;
    margin: 0 auto;
    object-fit: contain;
  }*/

  .detail-page .slide-img {
    position: absolute;
    width: 100%;
  }
  .detail-page .slide-img .sp-slider {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .detail-page .slide-text {
    box-sizing: border-box;
    width: 100%;
    margin-top: 66.6%;
  }
}

.languageChoice ul {
  display: inline-flex;
  flex-wrap: wrap;
  margin-bottom: 18px;
  justify-content: flex-end;
  width: 100%;
}
.languageChoice ul li {
  list-style-type: none;
  margin-bottom: 18px;
}
.languageChoice ul li + li {
  margin-top: 0;
}
.languageChoice ul li a {
  display: inline-block;
  padding-left: 19px;
  position: relative;
}
.languageChoice ul a::before {
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat;
  background-size: 8px 14px;
  content: "";
  position: absolute;
  left: 0;
  height: 14px;
  top: .35em;
  width: 8px;
}

.iframeBox {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
}
.iframeBox iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.actionVisualBlock {
  margin-bottom: 60px;
  overflow: hidden;
  text-align: center;
}
.theoplayer-container {
  height: 473px !important;
  margin: 0 auto !important;
  overflow: hidden;
  width: 840px !important;
}
@media screen and (max-width:926px){
  .theoplayer-container {
    margin: 0 auto 6px !important;
    width: 100% !important;
  }
}
@media screen and (max-width:768px){
  .actionVisualBlock {
    margin-top: 60px;
    width: 100%;
  }
  .theoplayer-container {
    height: 0 !important;
    left: 0;
    padding-top: 56.3% !important;
    position: relative;
    top: 0;
  }
}

.activityMovieRename > span,
.activityMovieRename > center > span,
.activityMovieRename > font,
.activityMovieRename > center > font {
  font-size: 1.8rem !important;
}
@media screen and (max-width:768px){
  .activityMovieRename > span,
  .activityMovieRename > font {
    font-size: 1.6rem !important;
  }
}

.color-bg-box {
  background: #E5E5E5;
  border: 2px solid #989898;
  border-radius : 4px;
  box-sizing: border-box;
  padding: 20px 36px 28px;
}
.color-bg-box + * {
  margin-top: 30px;
}
.color-bg-box.white {
  background: #ffffff;
  border-color: #b2b2b2;
}
.color-bg-box.blue {
  background: #ddebf6;
  padding: 15px;
  margin-bottom: 15px;
}
.color-bg-box.red {
  background: #f5e9f2;
  padding: 15px;
  margin-bottom: 15px;
}
.color-bg-box.grey {
  background: #efefef;
  padding: 15px;
  margin-bottom: 15px;
}
.color-bg-box.attention {
  background: transparent;
  border: 6px double #c0272d;
  padding: 18px 34px 26px;
  margin-bottom: 30px;
}
.color-bg-box.attention.blue {
  border: 6px double #10517b;
}
.color-bg-box.attention.green {
  border: 6px double #4B7016;
}
.color-bg-box.sup {
  background: transparent;
  border: 1px solid #c0272d;
  padding: 18px 34px 26px;
  margin-bottom: 24px;
}
@media screen and (max-width:768px){
  .color-bg-box {
    padding: 12px 24px 16px;
  }
}
.color-bg-box *:last-child {
  margin-bottom: 0;
}
/* インナースクロール　デザインスクロールバー */
.scrollcontainer {
  overflow: hidden;
  position: relative;
}
.scrollable {
  height: 200px;
  margin-right: -17px;
  padding-right: 17px;
  overflow: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.scrollable.is-scrollbar {
  padding-right: 0;
}

.adjustment {
  padding: 1.3em 1.5em;
}
.scrollbar {
  background: #cbcbcb;
  bottom: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 10px;
}
.scrollbar-thumb {
  background: #989898;
  border-radius: 5px;
  height: 0;
  transition: height .3s;
}

/* actions 総理の一日インデックス */
.action-today {
  margin-bottom: 67px;
}

.index-link {
  margin-bottom: 27px;
}

.year-link {
  list-style-type: none;
  letter-spacing: -.4em;
  margin: -12px 0 0 -20px;
}
.year-link li {
  display: inline-block;
  letter-spacing: .08rem;
  margin: 12px 0 0 20px;
  padding: 3.2px 10px;
}
.year-link li.current {
  background: #cbcbcb;
  border-radius: 18px;
}
.year-link.bullet-list li a {
  padding-left: 18px;
}
.year-link.bullet-list li a::before {
  background-size: 7px 14px;
  height: 14px;
  left: 2px;
  width: 7px;
}
@media screen and (max-width:768px){
  .year-link {
    display: flex;
    flex-wrap: wrap;
    margin: -12px 0 0 -2%;
  }
  .year-link li {
    box-sizing: border-box;
    margin: 12px 0 0 0;
    padding: 2px 10px;
    width: 33.33%;
  }
  .year-link li.current {
    border-radius: 13px;
  }
  .year-link.bullet-list li a {
    padding-left: 16px;
  }
}

.month-link {
  display: flex;
  margin: -15px 0 0 0;
}
.month-link li {
  box-sizing: border-box;
  margin: 27px 0 0 0;
  padding: 0;
  width: 8.33%;
}
.month-link li.current a {
  background: #cbcbcb;
  border-radius: 16px;
}
.month-link.bullet-list li a {
  padding: 3.2px 10px 3.2px 26px;
}
.month-link.bullet-list li a::before {
  background-size: 7px 14px;
  height: 14px;
  width: 7px;
  left: 10px;
  top: calc(.35em + 3.2px);
}
@media screen and (max-width:1365px){
  .month-link {
    flex-wrap: wrap;
  }
  .month-link li {
    width: 16.6%;
  }
}
@media screen and (max-width:768px){
  .month-link {
    margin: -4px 0 0 -1%;
  }
  .month-link li {
    width: 25%;
  }
  .month-link li.current {
    border-radius: 13px;
  }
}
@media screen and (max-width:359px){
  .year-link.bullet-list li a,
  .month-link.bullet-list li a {
    font-size: 1.3rem;
    letter-spacing: normal;
  }
}

/* news list */
.top-page .news-list li + li {
  margin-top: 60px;
}
.top-page .news-list-thum {
  position: relative;
  margin-right: 50px;
  width: 320px;
}
.top-page .news-list-thum + .news-list-data {
  padding-top: 0;
}
.top-page .news-list-thum + .news-list-data .news-list-date {
  color: #666;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HGP明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
  letter-spacing: .1rem;
  margin-left: 2px;
  transform: rotate(0.03deg);
  width: 26rem;
}
.top-page .news-list-date .news-label {
  float: right;
  font-family: "HiraKakuPro",-apple-system, "Lucida Grande", "Helvetica Neue", "メイリオ", meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  margin-top: 4px;
  text-align: center;
}
.top-page .news-list-thum + .news-list-data .news-list-date + .news-list-title {
  margin-top: 21px;
}
.top-page .news-list-thum + .news-list-data .news-list-date + .news-list-title a {
  display: inline-block;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HGP明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
  letter-spacing: .285rem;
  transform: rotate(0.03deg);
}
.top-page .news-list-thum .link_video {
  bottom: 10px;
  position: absolute;
  right: 10px;
}
@media screen and (max-width:768px){
  .top-page .news-list li:first-child {
    margin-bottom: 58px;
  }
  .top-page .news-list li:first-child .news-list-thum {
    width: 100%;
    margin: 0 0 17px 0;
  }

  .top-page .news-list li + li {
    flex-direction: row;
    margin-top: 36px;
  }
  .top-page .news-list-thum {
    margin: 0 10px 0 0;
    width: 84px;
  }
  .top-page .news-list li:not(:first-child) .news-list-data {
    margin-top: -4px;
  }
  .top-page .news-list-thum + .news-list-data .news-list-date {
    font-size: 1.2rem;
    width: 19.4rem;
  }
  .top-page .news-list-date .news-label {
    margin-top: 3px;
    width: 7.6rem;
  }
  .top-page .news-list-thum + .news-list-data .news-list-date + .news-list-title {
    margin-top: 14px;
  }
  .top-page .news-list li:not(:first-child) .news-list-thum + .news-list-data .news-list-date + .news-list-title {
    margin-top: 0;
  }
  .top-page .news-list-thum + .news-list-data .news-list-date + .news-list-title a {
    font-size: 1.6rem;
  }
  .top-page .news-list li:not(:first-child) .link_video {
    bottom: 4px;
    right: 4px;
    width: 18px;
  }
}

.news-list li {
  align-items: flex-start;
  display: flex;
  margin: 0;
}
.news-list li + li {
  margin-top: 40px;
}

.news-list-thum {
  box-sizing: border-box;
  flex-shrink: 0;
  margin-right: 40px;
  width: 242px;
}
.news-list-thum img {
  border: 1px solid #b2b2b2;
}
.news-list-data {
  display: flex;
}
.news-list-thum + .news-list-data {
  display: block;
  padding-top: 19px;
}
.actions-index .news-list-thum + .news-list-data,
.policy .news-list-thum + .news-list-data {
  padding-top: 0;
}
.news-list-thum + .news-list-data .news-list-date {
  color: #4d4d4d;
  font-size: 1.8rem;
  letter-spacing: 0.285rem;
}
.news-list-thum + .news-list-data .news-list-date + .news-list-title {
  margin-top: 15px;
}
.news-list-thum + .news-list-data .news-list-title a {
  font-size: 1.9rem;
}
.news-list-thum + .news-list-data .news-list-title + .news-list-text {
  margin-top: 14px;
}

@media screen and (max-width:768px){
  .news-list li {
    flex-direction: column;
  }
  .news-list li + li {
    margin-top: 36px;
  }

  .news-list-thum {
    margin: 0 0 17px 0;
    width: 100%;
  }
  .news-list-thum + .news-list-data {
    padding-top: 0;
  }
  .news-list-thum + .news-list-data .news-list-date {
    color: #666;
    font-size: 1rem;
    letter-spacing: normal;
  }
  .news-list-thum + .news-list-data .news-list-date + .news-list-title {
    margin-top: 4px;
  }
  .news-list-thum + .news-list-data .news-list-title a {
    font-size: 1.6rem;
  }
  .news-list-thum + .news-list-data .news-list-title + .news-list-text {
    margin-top: 11px;
  }
}

.year-link + hr {
  margin: 12px 0 0 0;
}
.year-link + h2 {
  margin-top: 20px;
}

.news-list.no-thum {
  position: relative;
  padding: 1px 0 0 0;
}
.news-list.no-thum::before {
  background: url(/jp/n5-common/img/hr_dot.svg) repeat-x;
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.news-list.no-thum li {
  margin: 0;
  padding: 20px 0 21px 20px;
  position: relative;
}
.news-list.no-thum li::after {
  background: url(/jp/n5-common/img/hr_dot.svg) repeat-x;
  bottom: 0;
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

.news-list.no-thum .news-list-date {
  width: 186px;
}
.news-list.no-thum .news-list-date + .news-label {
  margin-top: 4px;
}
.news-list.no-thum .news-list-date + .news-label,
.news-list.no-thum .news-list-date + .news-list-title,
.news-list.no-thum .news-label + .news-list-title {
  margin-left: 20px;
}
.news-list.no-thum .news-list-title {
  flex: 1 1 0%;
}
.news-list.no-thum .news-list-title a {
  box-sizing: border-box;
  display: inline-block;
  padding-left: 16px;
  position: relative;
}
.news-list.no-thum .news-list-title a::before {
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat;
  background-size: 7px 14px;
  content: "";
  position: absolute;
  left: 0;
  height: 14px;
  top: .35em;
  width: 7px;
}
@media screen and (max-width:768px){
  .news-list.no-thum li {
    flex-direction: row;
    flex-wrap: wrap;
    padding: 16px 0;
  }

  .news-list.no-thum .news-list-date {
    margin-bottom: 15px;
    width: calc(50% + 34px);
    max-width: 178px;
  }
  .news-list.no-thum .news-list-date + .news-label {
    margin: 4px 0 12px;
  }
  .news-list.no-thum .news-list-date + .news-label,
  .news-list.no-thum .news-list-date + .news-list-title,
  .news-list.no-thum .news-label + .news-list-title {
    margin-left: 0;
  }
  .news-list.no-thum .news-list-title {
    flex: 1 1 100%;
  }
  .news-list.no-thum .news-list-title a {
    padding-left: 18px;
  }
  .news-list.no-thum .news-list-title a::before {
    left: 2px;
  }
}

.kakugi .news-list.no-thum .news-list-title {
  display: flex;
  flex-wrap: wrap;
}
.kakugi .news-list.no-thum .news-list-title a {
  flex: 1 1 auto;
  max-width: 286px;
}
.kakugi .news-list.no-thum .news-list-title a + a {
  margin-left: 20px;
}
@media screen and (max-width:768px){
  .kakugi .news-list.no-thum li {
    flex-wrap: nowrap;
  }
  .kakugi .news-list.no-thum .news-list-date {
    flex: 0 0 auto;
    margin: 0;
  }
  .kakugi .news-list.no-thum .news-list-title {
    flex: 0 0 auto;
    flex-direction: column;
  }
  .kakugi .news-list.no-thum .news-list-title a {
    min-width: auto;
    padding-left: 16px;
  }
  .kakugi .news-list.no-thum .news-list-title a + a {
    margin: 12px 0 0;
  }
}

/* news-list 汎用 日付あり */
.news-list.nlist-01 {
  border-top: 1px solid #d5d5d5;
}
.news-list.nlist-01 li {
  padding: 15px 0;
  margin-top: 0;
  border-bottom: 1px solid #d5d5d5;
}
.news-list.nlist-01 li .news-date {
  font-weight: bold;
  flex: 1 1 284px;
}
.news-list.nlist-01 li p {
  flex-basis: calc(100% - 284px);
  margin-bottom: 0;
}

/* 意識調査ページにて使用 */
.news-list.nlist-02 li {
  margin-top: 5px;
}
.news-list.nlist-02 > li {
  border-bottom: 1px solid #d5d5d5;
  padding: 30px 0
}
.news-list.nlist-02 .list-contents-01 {
  display: flex;
  align-items: baseline;
}
.news-list.nlist-02 .list-contents-01 > span {
  width: 4rem;
}
.news-list.nlist-02 .list-contents-01 .list-num {
  width: 3rem;
}
.news-list.nlist-02 .list-contents-01 .result .clabel-01 {
  margin-bottom: 30px;
}
.news-list.nlist-02 .result {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  margin: 0 40px;
}
.news-list.nlist-02 .list-contents-02 {
  flex-grow: 1;
}
.news-list.nlist-02 .list-contents-02 > a {
  display: inline-block;
  margin-bottom: 30px;
}
.news-list.nlist-02 .list-contents-02 a img {
  margin-left: 10px;
  vertical-align: middle;
}
.news-list.nlist-02 .list-contents-02 ul,
.news-list.nlist-02 .list-contents-02 ul li:first-child {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .news-list.nlist-02 .list-contents-01 {
    margin-right: 20px;
  }
  .news-list.nlist-01 li {
    display: block;
  }
  .news-list.nlist-01 li .news-date {
    margin: 0;
    padding: 0 0 12px;
  }

  .news-list.nlist-02 li {
    flex-direction: row;
  }
  .news-list.nlist-02 > li {
    margin-top: 0;
    padding: 20px 0;
  }
  .news-list.nlist-02 .list-contents-02 > a {
    margin-bottom: 10px;
  }
  .news-list.nlist-02 .result {
    margin: 0;
  }
  .news-list.nlist-02 .list-contents-01 .result .clabel-01 {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 640px) {
  .news-list.nlist-02 li {
    flex-direction: column;
  }
  .news-list.nlist-02 .list-contents-01 {
    margin: 0 0 15px;
  }
  .news-list.nlist-02 .result {
    margin: 0;
    flex-direction: row;
  }
  .news-list.nlist-02 .list-contents-01 .result .clabel-01 {
    margin: 0 15px 0 0;
  }
}

.pageLink {
  display: flex;
  justify-content: space-between;
}
.pageLink li {
  list-style-type: none;
  margin: 0;
}
.pageLink li a {
  display: inline-block;
  position: relative;
}
.pageLink li a::before {
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat;
  background-size: 8px 14px;
  content: "";
  position: absolute;
  height: 14px;
  top: .35em;
  width: 8px;
}
.pageLink li.prev a {
  padding-left: 19px;
}
.pageLink li.prev a::before {
  left: 0;
  transform: scale(-1, 1);
}
.pageLink li.next a::before {
  right: 0;
}
.pageLink li.next a {
  padding-right: 19px;
}

/* 内閣官房長官記者会見 */
.press {
  border: 1px solid #cbcbcb;
  border-bottom: none;
}
.press-list {
  border-bottom: 1px solid #cbcbcb;
  display: flex;
}
.press-list h2 {
  background: #e5e5e5;
  border-right: 1px solid #cbcbcb;
  box-sizing: border-box;
  flex: 1 1 284px;
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: 0.08rem;
  margin: 0;
  padding: 15px 20px;
}
.press-list ul {
  background: #fff;
  flex-basis: calc(100% - 284px);
  margin: 0;
}
.press-list ul li {
  padding: 15px 20px 15px 9.4rem;
  position: relative;
}
.press-list ul li + li {
  border-top: 1px solid #cbcbcb;
  margin: 0;
}
.press-list ul li a span {
  border: 1px solid;
  border-radius: 2px;
  box-sizing: border-box;
  display: inline-block;
  font-size: 1rem;
  padding: 1px 4px;
  position: absolute;
  left: -7.4rem;
  line-height: 1.6em;
  text-align: center;
  top: 4px;
  width: 6.4rem;
}
.press-list ul li a span.am {
  background-color: #fff;
  color: #4d4d4d;
}
.press-list ul li a span.pm {
  background-color: #4d4d4d;
  color: #fff;
}
@media screen and (max-width:768px){
  .press-list {
    flex-direction: column;
  }
  .press-list h2 {
    border-right: none;
    border-bottom: 1px solid #cbcbcb;
    flex: 1 1 100%;
    font-size: 1.6rem;
    margin: 0;
    padding: 12px 20px;
  }
  .press-list ul {
    flex-basis: 100%;
  }
  .press-list ul li {
    padding: 12px 20px 12px 8.6rem;
  }
  .press-list ul li a span {
    font-size: .9rem;
    padding: 2px 4px;
    left: -6.7rem;
    top: 1px;
    width: 5.1rem;
  }
}

.meibo .main-visual-inner {
  position: relative;
}

.meibo .main-visual h1 {
  margin: 0 0 0 60px;
  width: calc(50% - 60px);
}
.meibo .main-visual h1 span {
  background: transparent;
  display: block;
  font-size: 3.6rem;
  padding: 0;
}
.meibo .main-visual .inner-img {
  bottom: 0;
  height: 410px;
  margin: auto;
  position: absolute;
  text-align: center;
  top: 0;
  right: 0;
  width: 50%;
}
.meibo .main-visual .position {
  color: #fff;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HGP明朝B", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
  font-size: 2rem;
  margin: 14px 0 0 70px;
  transform: rotate(0.03deg);
  width: calc(50% - 70px);
}
@media screen and (max-width:1024px){
  .meibo .main-visual-inner {
    height: auto;
    padding: 0 16px;
  }
  .meibo .main-visual h1 {
    margin: 16px 0 0 0;
    text-align: center;
    width: 100%;
  }
  .meibo .main-visual .inner-img {
    position: static;
    margin: 2px auto 0;
    width: 100%;
  }
  .meibo .main-visual .position {
    margin: 35px 0;
    text-align: center;
    width: 100%;
  }
}
@media screen and (max-width:768px){
  .meibo .main-visual h1 {
    color: #fff;
    margin: 15px 0 0 0;
  }
  .meibo .main-visual h1 span {
    font-size: 2rem;
  }
  .meibo .main-visual .inner-img {
    height: auto;
    margin: 7px auto 0;
    width: 37.33%;
    min-width: 140px;
  }
  .meibo .main-visual .position {
    font-size: 1.4rem;
  }
}

.meibo-img-left {
  display: flex;
}
.meibo-img-box {
  align-items: center;
  background: url(/jp/n5-common/img/meibo_bg.jpg);
  display: flex;
  flex: 0 0 480px;
  height: 320px;
  justify-content: center;
  margin-right: 60px;
  overflow: hidden;
  text-align: center;
}
.meibo-img-box img {
  max-height: 100%;
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

@media screen and (max-width:768px){
  .meibo-img-left {
    flex-direction: column;
  }
  .meibo-img-box {
    flex: initial;
    height: auto;
    justify-content: center;
    margin: 0 0 36px 0;
  }
  .meibo-img-box img {
    width: 69.57%;
  }
}

/* 印刷用 */
@media print {
  body {
    width: 1366px;
    transform: scale(0.8);
    -moz-transform: scale(0.8);
    -webkit-transform: scale(0.8);
    transform-origin: 0 0;
  }
  .header-inner {
    border-bottom: none;
    position: static;
  }
  .header-inner > *:not(.logo),
  footer .contents-wrap,
  footer .footer-bottom-block address {
    display: none;
  }
  footer {
    padding: 0;
  }

  .swiper-container,
  #accordion-menu {
    page-break-inside: avoid;
  }
  .main-visual.swiper-container {
    height: 619px !important;
    width: 1366px !important;
  }
  .main-visual .swiper-wrapper {
    transform: translate3d(0px, 0, 0)  !important;
  }
  .main-visual .swiper-slide {
    position: absolute;
    display: none;
  }
  .main-visual .swiper-slide-active {
    display: block;
    margin: auto !important;
    left: 0;
    top: 0;
    right: 0;
    width: 1366px !important;
    height: 566px !important;
  }
  .main-visual .slide-buttons {
    margin-top: -30px;
  }

  .date-sns {
    top: 80px;
    width: 1200px;
  }
  .sns-inner {
    display: none;
  }
  .actionVisualBlock {
    page-break-inside: avoid;
  }
}

/* メルマガバックナンバー　*/
#mmbn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#mmbn::before{
  content:"";
  display: block;
  width:23%;
  order:1;
}
#mmbn::after{
  content:"";
  display: block;
  width:23%;
}
#mmbn .backNumberGrid {
  width: 23%;
  margin-bottom: 3%;
}
@media screen and (max-width:1024px){
  #mmbn::before{
    content: none;
  }
  #mmbn::after{
    width: 31%;
  }
  #mmbn .backNumberGrid {
    width: 31%;
    margin-bottom: 3%;
  }
}
@media screen and (max-width:767px){
  #mmbn::after{
    content: none;
  }
  #mmbn .backNumberGrid {
    width: 48%;
    margin-bottom: 5%;
  }
}
@media screen and (max-width:480px){
  #mmbn .backNumberGrid {
    width: 100%;
    margin-bottom: 8%;
  }
}

.mailmag h3 {
  background: linear-gradient(to bottom, rgb(37,93,137) 0%,rgb(13,60,97) 100%);
  color: #ffffff;
  font-size: 2rem;
  padding: 6px 15px;
}

#mmbn ul {
  margin: 0;
}

#mmbn ul li {
  list-style-type: none;
  margin-left: 4px;
}
#mmbn ul li a {
  display: inline-block;
  padding-left: 19px;
  position: relative;
}
#mmbn ul li a::before {
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat;
  background-size: 8px 14px;
  content: "";
  position: absolute;
  left: 0;
  height: 14px;
  top: .35em;
  width: 8px;
}
  /* メルマガ詳細 */
.mailmag .genColumnBase {
  margin-bottom: 40px;
  text-align: center;
}
.mailmag img[align="right"] {
  padding:0 0 24px 24px !important;
}
@media screen and (max-width:767px){
  .mailmag img[align="right"] {
    display: block;
    float: none !important;
    max-width: 250px;
    padding: 0 !important;
    margin: 24px auto;
  }
}

.mailmag .genTW2 {
  margin-bottom: 34px;
}
.genTW2:after { content: ""; display: block; clear: both; }
.mailmag .genItemLeft {
  float: left;
  padding-right: 24px;
  text-align: center;
  width: 250px;
}
@media screen and (max-width:735px){
  .mailmag .genItemLeft {
    float: none;
    padding: 0 0 16px;
    width: 100%;
  }
}

.mailmag .genBoxBaseGray {
  background: #E5E5E5;
  border: 2px solid #989898;
  border-radius : 4px;
  box-sizing: border-box;
  padding: 20px 36px 28px;
}
@media screen and (max-width:768px){
  .mailmag .genBoxBaseGray {
    padding: 12px 24px 16px;
  }
}

.mailmag .genTxtB {
  font-weight: bold;
}

/* 国の政策（政策情報ポータル）*/
.radioList, .checkList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: -20px auto 35px;
  max-width: 980px;
}
.checkList li, .radioList li {
  list-style-type: none;
  margin: 20px 0 0 0;
  width: 25%;
}
@media screen and (max-width:768px){
  .checkList.search-option-check {
    border: none;
    padding: 0;
  }
}
@media screen and (max-width:767px){
  .checkList {
    max-width: 90%;
  }
  .checkList li {
    width: 33.3%;
  }
  .radioList {
    max-width: 320px;
  }
  .radioList li {
    width: 50%;
  }
}
@media screen and (max-width:640px){
  .checkList, .radioList {
    max-width: 100%;
  }
  .checkList li, .radioList li {
    width: 50%;
  }
}
@media screen and (max-width:359px){
  .checkList li, .radioList li {
    width: 100%;
  }
}
.radioList input[type="radio"], .checkList input[type="checkbox"] {
  position: absolute;
  opacity: 0;
}
.radioList input[type="radio"] + label, .checkList input[type="checkbox"] + label {
  cursor: pointer;
  display: inline-block;
  padding: 0 16px 0 32px;
  position: relative;
}
.checkList input[type="checkbox"] + label::before {
  background: #fff;
  border: 1px solid #666;
  content: '';
  height: 18px;
  left: 0;
  position: absolute;
  top: .2em;
  width: 18px;
}
.checkList input[type="checkbox"]:checked + label::after {
  border: solid #666;
  border-width: 0 0 3px 3px;
  content: '';
  height: 9px;
  left: 4px;
  position: absolute;
  top: .2em;
  transform: rotate(-45deg);
  width: 15px;
}

.radioList input[type="radio"] + label::before {
  background: #fff;
  border-radius: 100%;
  border: 1px solid #4d4d4d;
  content: '';
  height: 14px;
  left: 2px;
  position: absolute;
  top: .3em;
  width: 14px;
}

.radioList input[type="radio"]:checked + label::after {
  background: #4d4d4d;
  border-radius: 100%;
  content: '';
  height: 10px;
  left: 5px;
  position: absolute;
  top: calc(.3em + 3px);
  width: 10px;
}

.radioList input:focus + label,
.checkList input:focus + label {
  outline: 1px dashed #333;
}

#form h3 {
  position: relative;
  padding-right: 24px;
}
#form .switch-btn {
  cursor: pointer;
  display: none;
  height: 16px;
  position: absolute;
  top: 11px;
  right: 0;
  width: 16px;
}
#form .switch-btn[aria-expanded="false"] {
  display: block;
}
@media screen and (max-width:767px){
  #form .switch-btn {
    display: block;
  }
}
#form h3 .switch-btn::before, #form h3 .switch-btn::after {
  background: #10517b;
  content: "";
  display: block;
  position: absolute;
}
#form h3 .switch-btn::before {
  height: 2px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
}
#form h3 .switch-btn[aria-expanded="false"]::after {
  height: 16px;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 2px;
}

#form .search-option-check-btn {
  margin: 40px auto 40px;
}

/* ご意見 */
.goiken th, .goiken td {
  vertical-align: middle;
}
.goiken input, .goiken textarea, .goiken select {
  border: 1px solid #cbcbcb;
  border-radius: 0;
  -webkit-appearance: none;
}
.goiken input[type="text"], .goiken textarea {
  box-sizing: border-box;
  padding: 4px 8px;
  width: 100%;
}
#goiken {
  height: 8em;
}
.goiken select {
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
}
@media screen and (max-width:768px){
  .goiken td {
    text-align: center;
  }
}
.goiken input[type="radio"] {
  border: none;
  margin: 0;
  opacity: 0;
  width: 0;
  height: 0;
}
.goiken input[type="radio"] + label {
  box-sizing: border-box;
  margin: 0 12px 0 0;
  padding: 0 12px 0 24px;
  position: relative;
}
.goiken input[type="radio"]:focus + label {
  outline: 1px dashed #333;
}

.goiken input[type="radio"] + label::before {
  background: #fff;
  border-radius: 100%;
  border: 1px solid #4d4d4d;
  content: '';
  height: 14px;
  left: 2px;
  position: absolute;
  top: .25em;
  width: 14px;
}

.goiken input[type="radio"]:checked + label::after {
  background: #4d4d4d;
  border-radius: 100%;
  content: '';
  height: 10px;
  left: 5px;
  position: absolute;
  top: calc(.25em + 3px);
  width: 10px;
}

.goiken .flex {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: left;
}

@media screen and (max-width:768px){
  .goiken .flex input[type="radio"] + label {
    padding: 0 0 0 24px;
    width: 50%;
    min-width: 42px;
  }
}
@media screen and (max-width:374px){
  .goiken .flex {
    flex-direction: column;
  }
  .goiken .flex input[type="radio"] + label {
    width: 100%;
  }
}

/* 旧パーツリスト対応 */
main .contentBlock {
  margin-bottom: 60px;
}
main .contentBlock .contentBlock {
  max-width: 1280px;
  margin: 0 auto 120px auto;
}
main .contentBlock .contentBlock .contentBlock {
  margin-bottom: 60px;
}
main .contentBlock .contentBlock .contentBlock .contentBlock {
  margin-bottom: 30px;
}
main > .contentBlock:last-child,
main article > .contentBlock:last-child {
  margin-bottom: 0;
}

@media screen and (max-width:768px){
  main .contentBlock {
    margin-bottom: 30px;
  }

  main .contentBlock .contentBlock {
    margin-bottom: 60px;
  }
  main .contentBlock .contentBlock .contentBlock {
    margin-bottom: 30px;
  }
  main .contentBlock .contentBlock .contentBlock .contentBlock {
    margin-bottom: 20px;
  }
}

.parts2017 .genTxtRed {
  color: #c0272d !important;
}
.parts2017 .genTxtBlue {
  color: #10517b !important;
}
.parts2017 .genTxtS {
  font-size: 1.6rem;
}
.parts2017 .genTxtB {
  font-weight: bold;
}
@media screen and (max-width:768px){
  .parts2017 .genTxtS {
    font-size: 1.4rem;
  }
}
.parts2017 .genBoxBaseGray {
  margin: 1.5em 0 0 0;
  padding: 0.5em 1em;
  background-color: #ffffff;
}

.parts2017 textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  font-size: 0.8em;
}
.parts2017 textarea {
  border-color: rgb(168, 168, 168);
}

.parts2017 textarea {
  -webkit-appearance: textarea;
  background-color: white;
  -webkit-rtl-ordering: logical;
  flex-direction: column;
  resize: auto;
  cursor: text;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  border-width: 1px;
  border-style: solid;
  border-color: initial;
  border-image: initial;
  padding: 2px;
}

.parts2017 .genLinkList li {
  list-style-type: none;
  margin-left: 0;
}
.parts2017 .genLinkList li a {
  display: inline-block;
  padding-left: 19px;
  position: relative;
}
.parts2017 .genLinkList li a::before {
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat;
  background-size: 8px 14px;
  content: "";
  position: absolute;
  left: 0;
  height: 14px;
  top: .35em;
  width: 8px;
}
.parts2017 .genLinkList .genLinkList {
  margin-left: 1em;
}

.parts2017 img[src*="_icon"] {
  vertical-align: middle;
  padding-left: 0.5em;
}

.parts2017 ol {
  list-style-type: decimal;
}
.parts2017 ol li {
  margin-left: 25px;
  padding-left: 0;
}
.parts2017 ol li::before {
  content: none;
}

.parts2017 ol li ol li {
  list-style-type: lower-latin;
  margin-left: 1.5em;
  padding-left: 0;
}

.parts2017 ol li ol li ol li {
  list-style-type: lower-roman;
  margin-left: 1.5em;
  padding-left: 0;
}
.parts2017 .genImgBoxBase dl,
.parts2017 .genWT dl {
  width: auto;
}
.parts2017 dl {
  border: none;
  margin-bottom: 40px;
}
.parts2017 dl dt {
  width: 100%;
}
.parts2017 dl dd {
  border: none;
  margin-bottom: 32px;
  width: 100%;
}

.parts2017 .genBoxBaseRed,
.parts2017 .genBoxBaseBlue,
.parts2017 .genBoxBaseGray {
  border: 2px solid #989898;
  border-radius : 4px;
  box-sizing: border-box;
  padding: 20px 36px 28px;
  margin: 0 0 1em;
}

.parts2017 .genBoxBaseRed *:last-child,
.parts2017 .genBoxBaseBlue *:last-child,
.parts2017 .genBoxBaseGray *:last-child {
  margin-bottom: 0;
}

.parts2017 .genBoxBaseRed {
  background-color: #f5e9f2;
}

.parts2017 .genBoxBaseBlue {
  background-color: #ddebf6;
}

.parts2017 .genBoxBaseGray {
  background-color: #efefef;
}
@media screen and (max-width:768px){
  .parts2017 .genBoxBaseRed,
  .parts2017 .genBoxBaseBlue,
  .parts2017 .genBoxBaseGray {
    padding: 12px 24px 16px;
  }
}

.parts2017 .genColumnBase {
  display: block;
  text-align: center;
}
.parts2017 .genColumnBase img {
  margin-bottom: 24px;
  text-align: center;
}
.parts2017 .genColumnBase .icons {
  margin-bottom: 0;
}
.parts2017 .genColumnBase.column2,
.parts2017 .genColumnBase.column3,
.parts2017 .genColumnBase.column4 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.parts2017 .genColumnBase.column2 .genBoxColumn {
  width: calc((100% / 2) - (40px * 1 / 2));
}

.parts2017 .genColumnBase.column3::after{
  content:"";
  display: block;
  width: calc((100% / 3) - (40px * 2 / 3));
}
.parts2017 .genColumnBase.column3 .genBoxColumn {
  width: calc((100% / 3) - (40px * 2 / 3));
}

.parts2017 .genColumnBase.column4::before {
  order:1;
}
.parts2017 .genColumnBase.column4::after,
.parts2017 .genColumnBase.column4::before {
  content:"";
  display: block;
  width: calc((100% / 4) - (40px * 3 / 4));
}
.parts2017 .genColumnBase.column4 .genBoxColumn {
  width: calc((100% / 4) - (40px * 3 / 4));
}
@media screen and (max-width: 768px) {
  .parts2017 .genColumnBase .genBoxColumn {
    width: 100% !important;
  }
}

.parts2017 .genlinkBtn,
.parts2017 .genlinkBtnC {
  text-align: center;
}

.parts2017 .genlinkBtn span,
.parts2017 .genlinkBtnC span {
  box-sizing: border-box;
  color: #333333;
  display: inline-block;
  font-family: "HiraKakuPro", -apple-system, "Lucida Grande", "Helvetica Neue", "メイリオ", meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 2rem;
  letter-spacing: normal;
  line-height: 1.6em;
  text-align: center;
  vertical-align: middle;
  min-width: 280px;
}

.parts2017 .genlinkBtn a,
.parts2017 .genlinkBtnC a {
  background: #f1f1f1 url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat right 19px center;
  background-size: 9px 16px;
  display: block;
  border: 1px solid #333;
  border-radius : 2px;
  padding: 8px 49px 8px 16px;
  text-decoration: none;
  transition: color .4s, background-color .3s, border-color .3s;
}

.parts2017 .genlinkBtn a:hover,
.parts2017 .genlinkBtn a:focus,
.parts2017 .genlinkBtnC a:hover,
.parts2017 .genlinkBtnC a:focus {
  background: #10517b url("/jp/n5-common/img/arrow_right_white.svg") no-repeat right 19px center;
  background-size: 9px 16px;
  color: #fff;
  outline: none;
}

@media screen and (max-width:768px){
  .parts2017 .genlinkBtn span,
  .parts2017 .genlinkBtnC span {
    font-size: 1.6rem;
    min-width: 200px;
  }
  .parts2017 .genlinkBtn a,
  .parts2017 .genlinkBtnC a {
    padding: 11px 19px;
    background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat right 14px center;
    background-size: 5px 9px;
    padding-right: 33px;
    text-align: left;
  }
  .parts2017 .genlinkBtn a:hover,
  .parts2017 .genlinkBtn a:focus,
  .parts2017 .genlinkBtnC a:hover,
  .parts2017 .genlinkBtnC a:focus {
    background: #10517b url("/jp/n5-common/img/arrow_right_white.svg") no-repeat right 14px center;
    background-size: 5px 9px;
  }
}

.parts2017 .genImgBoxBase::after {
  content: "";
  display: block;
  clear: both;
}
.parts2017 .genLayoutLeft {
  float: left;
  margin: 4px 40px 35px 0 !important;
  max-width: 320px;
}
.parts2017 .genLayoutRight {
  float: right;
  margin: 4px 0 35px 40px;
  max-width: 320px;
}
@media screen and (max-width: 768px) {
  .parts2017 .genLayoutLeft,
  .parts2017 .genLayoutRight {
    display: block;
    float: none;
    margin: 0 auto 16px auto !important;
    max-width: 100%;
  }
}

.parts2017 .genWT::after,
.parts2017 .genTW::after,
.parts2017 .genTW2::after {
  content: "";
  display: block;
  clear: both;
}
.parts2017 .genWT .genItemLeft {
  float: left;
  width: calc(100% - 290px);
}
.parts2017 .genWT .genItemRight {
  float: right;
  text-align: center;
  width: 250px;
}
.parts2017 .genWT .genItemRight img,
.parts2017 .genTW2 .genItemLeft img {
  margin-bottom: 24px;
}
.parts2017 .genWT .genItemRight p {
  text-align: left;
}

.parts2017 .genTW .genItemLeft,
.parts2017 .genTW2 .genItemLeft {
  float: left;
  text-align: center;
  width: 250px;
}
.parts2017 .genTW .genItemRight,
.parts2017 .genTW2 .genItemRight {
  float: right;
  width: calc(100% - 290px);
}
.parts2017 .genTW .genItemLeft img {
  margin-bottom: 24px;
}
.parts2017 .genTW .genItemLeft p {
  text-align: left;
}

@media screen and (max-width:768px){
  .parts2017 .genWT .genItemLeft,
  .parts2017 .genTW .genItemRight,
  .parts2017 .genTW2 .genItemRight {
    float: none;
    width: 100%;
  }
  .parts2017 .genWT .genItemRight,
  .parts2017 .genTW .genItemLeft,
  .parts2017 .genTW2 .genItemLeft {
    display: block;
    margin: 0 auto;
    float: none;
    width: 100%;
  }
}

.parts2017 ul.genLineList {
  margin-left: auto;
  margin-right: auto;
  padding: .5em;
  border-top: solid 1px #666666;
  border-bottom: solid 1px #666666;
}

.parts2017 .genLineList li {
  display: inline;
  list-style-type: none;
  white-space: nowrap;
  padding: 0.5em 0.8em;
}
.parts2017 .genLineList li a {
  display: inline-block;
  padding-left: 19px;
  position: relative;
}
.parts2017 .genLineList li a::before {
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat;
  background-size: 8px 14px;
  content: "";
  position: absolute;
  left: 0;
  height: 14px;
  top: .35em;
  width: 8px;
}

/* genTable */
/* genTable2 h29-accessibility */
.parts2017 .genTable {
	box-sizing: border-box;
	overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 40px;
}
.parts2017 .genTable table {
  margin-bottom: 0;
  table-layout: auto;
}
.parts2017 .genTable caption,
.parts2017 .genTable2 caption {
	text-align: left;
}
.parts2017 .genTable th,
.parts2017 .genTable2 th {
	white-space: nowrap;
}
.parts2017 .genTable td,
.parts2017 .genTable2 td {
  word-break: break-all;
}
.parts2017 table th {
  font-weight: bold;
  text-align: left;
}
.parts2017 .genTxtC,
.parts2017 .genTxtC th,
.parts2017 .genTxtC td {
	text-align: center !important;
}
.parts2017 .genTxtR,
.parts2017 .genTxtR th,
.parts2017 .genTxtR td {
	text-align: right !important;
}
.parts2017 .genTable2 th:first-child {
	width: 30%;
}
@media screen and (max-width:768px){
  .parts2017 .genTable2 th,
  .parts2017 .genTable2 th:first-child,
  .parts2017 .genTable2 td {
    border-bottom: none;
    display: block;
    width: auto;
  }
  .parts2017 .genTable2 table {
    border-bottom: 1px solid #cbcbcb;
  }
}

.parts2017 .genNewsList,
.parts2017 .genNewsList2 {
  border-bottom: 1px solid #d5d5d5;
}
.parts2017 .genNewsList dt,
.parts2017 .genNewsList dd,
.parts2017 .genNewsList2 dt,
.parts2017 .genNewsList2 dd {
  border: none;
}
.parts2017 .genNewsList dd,
.parts2017 .genNewsList2 dd {
  margin-left: auto;
}

.parts2017 dl[class^="genNewsList"] {
  margin-bottom: 0;
}
.parts2017 .contentBlock .genNewsList:last-of-type,
.parts2017 .contentBlock .genNewsList2:last-of-type {
  margin-bottom: 40px;
}
.parts2017 .genNewsList dd a,
.parts2017 .genNewsList2 dd a {
  display: inline-block;
  padding-left: 19px;
  position: relative;
}
.parts2017 .genNewsList dd a::before,
.parts2017 .genNewsList2 dd a::before {
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat;
  background-size: 8px 14px;
  content: "";
  position: absolute;
  left: 0;
  height: 14px;
  top: .35em;
  width: 8px;
}

.parts2017 .linkList li {
  list-style-type: none;
  margin-left: 0;
}
.parts2017 .linkList li a {
  display: inline-block;
  padding-left: 19px;
  position: relative;
}
.parts2017 .linkList li a::before {
  background: url("/jp/n5-common/img/arrow_right_blue.svg") no-repeat;
  background-size: 8px 14px;
  content: "";
  position: absolute;
  left: 0;
  height: 14px;
  top: .35em;
  width: 8px;
}


.genMoreBtn,
.genCloseBtn,
.fullOpenBtn,
.fullCloseBtn {
  background: #f1f1f1 url("/jp/n5-common/img/arrow_down.svg") no-repeat right 23px center;
  background-size: 16px 9px;
  box-sizing: border-box;
  border: 1px solid #333;
  border-radius : 2px;
  color: #333333;
  display: block;
  font-family: "HiraKakuPro", -apple-system, "Lucida Grande", "Helvetica Neue", "メイリオ", meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 2rem;
  letter-spacing: normal;
  line-height: 1.6em;
  margin: 0 auto 20px;
  padding: 8px 60px 8px 16px;
  text-align: left;
  text-decoration: none;
  transition: color .4s, background-color .3s, border-color .3s;
  vertical-align: middle;
  min-width: 280px;
}
.genCloseBtn,
.fullCloseBtn {
  background: #f1f1f1 url("/jp/n5-common/img/arrow_up_blue.svg") no-repeat right 23px center;
}

.genMoreBtn:hover,
.genMoreBtn:focus,
.genCloseBtn:hover,
.genCloseBtn:focus,
.fullOpenBtn:hover,
.fullOpenBtn:focus,
.fullCloseBtn:hover,
.fullCloseBtn:focus {
  background: #10517b url("/jp/n5-common/img/arrow_down_white.svg") no-repeat right 23px center;;
  background-size: 16px 9px;
  border-color: #10517b;
  color: #fff;
  outline: none;
}
.genCloseBtn:hover,
.genCloseBtn:focus,
.fullCloseBtn:hover,
.fullCloseBtn:focus {
  background: #10517b url("/jp/n5-common/img/arrow_up_white.svg") no-repeat right 23px center;;
}
.genMoreBtn::-moz-focus-inner,
.genCloseBtn::-moz-focus-inner {
  border: none;
  outline: none;
}
@media screen and (max-width:768px){
  .genMoreBtn,
  .genCloseBtn,
  .fullOpenBtn,
  .fullCloseBtn {
    background: url("/jp/n5-common/img/arrow_down.svg") no-repeat right 12px center;
    background-size: 9px 5px;
    font-size: 1.6rem;
    margin: 0 auto 20px;
    padding: 11px 33px 11px 19px;
    vertical-align: middle;
    min-width: 200px;
  }
  .genCloseBtn,
  .fullCloseBtn {
    background: url("/jp/n5-common/img/arrow_up_blue.svg") no-repeat right 12px center;
  }
  .genMoreBtn:hover,
  .genMoreBtn:focus,
  .fullOpenBtn:hover,
  .fullOpenBtn:focus {
    background: #10517b url("/jp/n5-common/img/arrow_down_white.svg") no-repeat right 12px center;
    background-size: 9px 5px;
  }
  .genCloseBtn:hover,
  .genCloseBtn:focus,
  .fullCloseBtn:hover,
  .fullCloseBtn:focus {
    background: #10517b url("/jp/n5-common/img/arrow_up_white.svg") no-repeat right 12px center;
    background-size: 9px 5px;
  }
}
