@charset "UTF-8";

#container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 125px;
  font-size: 1rem;
  line-height: 1.8;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap; 
}

#main {
  width: 78%;
  left: 0;
}

.main a {
  color: #074194;
  text-decoration: underline;
}
html:not(.sp) .main a:hover {
  color: #5e80db;
  text-decoration: none;
}

.header-wrap {
  background-color: #f8f5f0;
}

footer {
  width: 100%;
}

#sidebar-right {
  width: 22%;
  margin-top: -125px;
  padding-top: 125px;
  background-color: #f8f5f0;
  overflow: hidden;
}

#page-title + article > .content:first-of-type {
  padding-top: 0;
}

.row {
  max-width: 1170px;
}

.bg-beige {
  background-color: #eeebe6 !important;
}

.anchor:before {
  margin-top: -110px;
  padding-top: 110px;
}

.nav > ul > li.selected > a {
  color: #5e80db !important;
}
.nav > ul > li.selected > a:after {
  bottom: 0;
}

/* ページタイトル */

#page-title {
  padding: 0 4.2vw;
}


/* パンくず */

#topicpath {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0;
  padding: 30px 0 0;
}

#topicpath li {
  position: relative;
  margin: 0 10px 0 0;
  padding: 0 0 3px 20px;
  color: #000;
  font-size: 0.88rem;
  font-weight: bold;
  line-height: 1.5;
  list-style-type: none;
}
#topicpath li:first-of-type {
  width: 19px;
  height: 16px;
  top: 1px;
  padding: 0;
}

#topicpath li:before {
  content: '>';
  position: absolute;
  width: auto;
  height: auto;
  top: -1px;
  bottom: 0;
  left: 0;
  margin: auto;
  background: none;
  color: #ccc;
}
#topicpath li:nth-of-type(2):before {
  content: '';
  width: 1px;
  height: 20px;
  top: -1px;
  bottom: auto;
  left: 5px;
  background-color: #e5e5e5;
}

#topicpath li a {
  color: #074194;
  font-weight: normal;
  text-decoration: none;
}
#topicpath li:first-of-type a {
  display: block;
  width: 19px;
  height: 16px;
  text-indent: -9999px;
  overflow: hidden;
  background-image: url(/img/icon_home.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
}


html:not(.sp) #topicpath li a:hover {
  color: #5e80db;
/*  text-decoration: underline;*/
}
html:not(.sp) #topicpath li:first-of-type a:hover {
  opacity: .7;
}

#topicpath li:first-child {
  padding: 0;
}

#topicpath li:first-child::before {
  content: none;
}

/* 見出し */
.main h2 + h3:not([class*="heading"]),
.main h2 + h4:not([class*="heading"]),
.main h3 + h4:not([class*="heading"]),
.main h2 + h5:not([class*="heading"]),
.main h3 + h5:not([class*="heading"]),
.main h4 + h5:not([class*="heading"]),
.main h2 + h6:not([class*="heading"]),
.main h3 + h6:not([class*="heading"]),
.main h4 + h6:not([class*="heading"]),
.main h5 + h6:not([class*="heading"]),
.main h2 + [class*="heading"],
.main h3 + [class*="heading"],
.main h4 + [class*="heading"],
.main h5 + [class*="heading"],
.main h6 + [class*="heading"],
.main [class*="heading"] + h2,
.main [class*="heading"] + h3,
.main [class*="heading"] + h4,
.main [class*="heading"] + h5,
.main [class*="heading"] + h6,
.main [class*="heading"] + [class*="heading"],
.main h2:first-child,
.main h3:first-child,
.main h4:first-child,
.main h5:first-child,
.main h6:first-child,
.main [class*="heading"]:first-child {
    margin-top: 0;
}


/* 画像 */

.main .img-set .img,
.mod .thumb-set .img {
  margin-right: 30px;
  padding-right: 30px;
}

.main .img-set .img.right,
.main .thumb-set .img.right {
  float: right;
  margin-right: 0;
  padding-right: 0;
  margin-left: 30px;
  padding-left: 30px;
}


/* リスト */

.main ul,
.main ol {
  line-height: 1.6;
}


/* アイコン */

.link-icon a,
a .link-icon {
  text-decoration: none;
}


/* ボタン */

.main .btn {
  margin-right: -20px;
}

.main .btn > * {
  width: 100%;
  max-width: 310px;
  box-shadow: 5px 5px 10px -5px rgba(0, 34, 83, .3);
  transition: background-color .2s linear, border .2s linear, color .2s linear;
}
.main .btn .bg-white {
  box-shadow: 5px 5px 10px -5px rgba(0, 0, 0, .1);
}

html:not(.sp) .main .btn .icon-arrow:hover {
  color: #fff;
  background-color: #074194;
}


/* ボックス */

.main .box {
  background-color: #f8f5f0;
}

.main .box > .heading {
  color: #000;
  background-color: #eeebe6;
}

html:not(.sp) .main .btn .icon-arrow:hover span::before,
html:not(.sp) .main .btn .icon-arrow:hover span::after {
  background-color: #fff;
}


/* 枠 */

.main .frame {
  border: solid 5px #eeebe6;
}

.main .frame .heading {
  background-color: #eeebe6;
}


/* パネル */

.main .panel-vertical {
  margin-top: 0;
  background-color: #fff;
}
.main .slider .panel-vertical {
  margin-top: 20px;
}

.main .panel-vertical .heading:not(.link-icon) {
  color: #074194;
  font-size: 1rem;
}

/* ローカルナビ */

#local-nav dt {
  padding: 80px 0;
  font-size: 1.5rem;
  font-weight: bold;
}
#local-nav dt.title,
#local-nav dt a {
  position: relative;
  display: block;
  padding: 12px 2.77777777vw;
  color: #074194;
  line-height: 1.6;
  -webkit-transition: color .2s linear;
  transition: color .2s linear;
}
#local-nav dt.title {
  padding: 12px 2.77777777vw !important;
}
html:not(.sp) #local-nav dt a:hover {
  color: #5e80db;
}
#local-nav dt a:before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #074194;
  -webkit-transition: width .1s linear;
  transition: width .1s linear;
}
html:not(.sp) #local-nav dt a:hover:before {
  width: 2px;
}

#local-nav dd {
  padding-bottom: 50px;
}

#local-nav li {
  position: relative;
}

#local-nav li a,
#local-nav li span {
  position: relative;
  display: block;
  padding: 12px 2.77777777vw;
  color: #074194;
  line-height: 1.6;
  font-size: .88rem;
  -webkit-transition: color .2s linear;
  transition: color .2s linear;
  cursor: pointer;
}
#local-nav li.selected > a {
  font-weight: bold;
}
html:not(.sp) #local-nav li a:hover {
  color: #5e80db;
}
#local-nav li a:before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #074194;
  -webkit-transition: width .1s linear;
  transition: width .1s linear;
}
#local-nav li.selected > a:before,
html:not(.sp) #local-nav li a:hover:before {
  width: 2px;
}

#local-nav li > button {
  position: absolute;
  display: block;
  right: 30px;
  top: 6px;
  width: 12px;
  height: 12px;
  margin: 0;
  padding: 10px;
  outline: none;
  border: none;
  box-sizing: content-box;
  background-color: transparent;
  cursor: pointer;
}
#local-nav li > button:before,
#local-nav li > button:after {
  content: "";
  position: absolute;
  display: block;
  width: 12px;
  height: 2px;
  background-color: #064194;
}
#local-nav li > button:after {
  transform: rotate(90deg);
  transition: transform 0.3s;
}
#local-nav li.active > button:after {
  transform: rotate(0deg);
}

#local-nav li button + a {
  margin-right: 60px;
  padding-right: 0;
}

#local-nav ul ul {
  position: relative;
  margin: 10px -20px 10px 2.77777777vw;
  padding: 20px 20px 20px 0;
  background-color: #eeebe6;
  box-shadow: 0 3px 10px inset rgba(0, 0, 0, .08);
}
#local-nav ul ul ul {
  margin-left: 2vw;
  background-color: #e2ded8;
}

#local-nav ul ul:before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  top: -12px;
  left: 20px;
  border-bottom: solid 12px #e1ddd8;
  border-left: solid 10px transparent;
  border-right: solid 10px transparent;
}
#local-nav ul ul ul:before {
  border-bottom: solid 12px #d6d1cb;
}

#local-nav ul ul a,
#local-nav ul ul span {
  padding-top: 7px;
  padding-bottom: 7px;
  padding-left: 2vw;
  font-size: .81rem;
}

/*** ローカルナビ - small ***/
#sidebar-right.small #local-nav dt {
  padding-bottom: 0;
}
#sidebar-right.small #local-nav dt:not(:first-of-type) {
  padding-top: 0;
}


/*** ローカルナビ - バナー ***/
#local-nav .panel-vertical {
  position: relative;
  padding: 0 2.77777777vw 45px;
}
#local-nav .panel-vertical > a {
  display: block;
  text-decoration: none;
}
#local-nav .panel-vertical > a:before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#local-nav .panel-vertical .img {
  position: relative;
  margin: 0;
  overflow: hidden;
}
#local-nav .panel-vertical .img:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #000;
	opacity: 0;
	transition: opacity .2s linear;
}
#local-nav .panel-vertical .img img {
  width: 100%;
  transition: transform .2s ease-out;
}
html:not(.sp) #local-nav .panel-vertical a:hover .img img {
  transform: scale(1.1);
}
html:not(.sp) #local-nav .panel-vertical a:hover .img:after {
  opacity: .5;
}
#local-nav .panel-vertical .txt {
  position: relative;
  padding: 20px 0 0;
}
#local-nav .panel-vertical p {
  color: #666;
  font-size: 0.88rem;
  line-height: 1.6;
  -webkit-transition: color .2s linear;
  transition: color .2s linear;
}
#local-nav .panel-vertical .heading {
  margin-bottom: 15px;
  padding: 0;
  color: #003689;
  font-size: 0.88rem;
  font-weight: normal;
  line-height: 1.6;
}
html:not(.sp) #local-nav .panel-vertical a:hover p,
html:not(.sp) #local-nav .panel-vertical a:hover .heading {
  color: #5e80db;
}

/*** サイドナビなし ***/
.noside #main {
  width: 100%;
}

.noside .header-wrap {
  background-color: transparent;
}

.is-scroll .noside .header-wrap {
  background-color: #f8f5f0;
}

.noside #container {
  padding-top: 0;
}

.noside .page-conts {
  padding-top: 70px;
  background-color: #f8f5f0;
}

.noside .page-conts .row {
  max-width: 1240px;
}

.noside #container .page-h {
  margin-top: -10px;
  color: #003689;
  font-size: 3rem;
  line-height: 1.4;
}

.noside .page-bnrs {
  padding: 50px 0 10px;
  background-color: #eeebe6;
}

/*** サイドナビなし -hero 以外 ***/
.noside.nohero .header-wrap {
  background-color: #f8f5f0;
}
.noside.nohero #page-title {
  padding-top: 125px;
}

/*** privacy policyページ ***/
.main.privacy-article .row > p:not([class]) {
  text-indent: 1em;
}

.ItemHide {
  display: none;
  margin-left: 35px;
}
.ItemShow {
  display: block;
}


/* アコーディオン */

.main .heading-accordion {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 70px;
  margin: 2px 0 0;
  padding: 10px 15px 10px 30px !important;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none;
  background-color: #074194;
  cursor: pointer;
  transition: background-color .2s linear;
}
html:not(.sp) .main .heading-accordion:hover {
  background-color: #3967a9;
}
.main .heading-accordion:before,
.main .heading-accordion:after {
  content: "";
  position: absolute;
  right: 30px;
  top: calc(50% - 2px);
  width: 18px;
  height: 4px;
  background-color: #fff;
  transition: background-color .2s linear;
}
.main .heading-accordion:before {
  transform: translate(0, -50%) rotate(0deg);
}
.main .heading-accordion:after {
  transform: translate(0, -50%) rotate(90deg);
}
.main .heading-accordion.is-open:after {
  content: none;
}
.main .accordion-item {
  display: none;
}


/* スクロール */
.is-scroll .header-wrap {
  box-shadow: none;
}


/* 月次販売情報 年次メニュー */
.main .nav-monthlydata {
  position: relative;
  margin: 0;
  padding: 30px 30px 10px;
  border: solid 5px #eeebe6;
}
.main .nav-monthlydata > ul {
  display: flex;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.main .nav-monthlydata > ul > li {
  position: relative;
  margin: 0;
  padding: 0 34px 10px 0;
  line-height: 1.5;
}
.main .nav-monthlydata > ul > li:last-child {
  padding-right: 0;
}
.main .nav-monthlydata > ul > li:before {
  content: "";
  position: absolute;
  display: block;
  width: 1px;
  height: 1em;
  top: 3px;
  right: 20px;
  left: auto;
  margin: 0;
  border-radius: 0;
  background-color: rgba(0, 0, 0, 0.15);
}
.main .nav-monthlydata > ul > li:last-child:before {
  content: none;
}
.main .nav-monthlydata li a,
.main .nav-monthlydata .dropdown-btn {
  position: relative;
  display: block;
  padding-right: 24px;
  color: #074194;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
}
.main .nav-monthlydata li a:after,
.main .nav-monthlydata .dropdown-btn:before,
.main .nav-monthlydata .dropdown-btn:after {
  content: "";
  position: absolute;
}
.main .nav-monthlydata li a:after {
  right: 0;
  top: calc(50% - 13px);
  width: 24px;
  height: 24px;
  background-image: url(../img/icon_link.png);
  background-repeat: no-repeat;
  background-size: 480px 240px;
}
.main .nav-monthlydata > ul > li > a[target="_blank"]:after {
  background-position-x: -48px;
}

.main .nav-monthlydata .dropdown-btn:after {
  right: 7px;
  top: calc(50% - 5px);
  border-top: 8px solid #074194;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
}

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .main .nav-monthlydata > ul > li:before {
    top: 1px;
  }
  *::-ms-backdrop, .main .nav-monthlydata li a:after {
    top: calc(50% - 15px);
  }
  *::-ms-backdrop, .main .nav-monthlydata .dropdown-btn:after {
    top: calc(50% - 7px);
  }
}

.main .nav-dropdown .dropdown-item {
  position: absolute;
  display: none;
  right: 20px;
  width: 100%;
  margin: -5px 0 0;
  padding: 0;
  font-size: 0.8125rem;
  border-radius: 0 0 5px 5px;
  overflow: hidden;
  z-index: 5;
}
.main .dropdown-item li {
  margin: 0;
  padding: 0;
  color: #074194;
  line-height: 24px;
}
.main .dropdown-item li:before {
  content: none;
}
.main .dropdown-item li > * {
  position: relative;
  display: block;
  padding: 0 10px;
  color: #074194;
  font-weight: bold;
  background-color: #f8f5f0;
}
.main .dropdown-item li:first-child span {
  position: relative;
  margin-top: 8px;
  padding-top: 6px;
  border-radius: 5px 5px 0 0;
}
.main .dropdown-item li:first-child span:after {
  content: "";
  position: absolute;
  display: block;
  right: 22px;
  top: -8px;
  border-bottom: 8px solid #f8f5f0;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
}
html:not(.sp) .main .nav-monthlydata > ul > li > a:hover {
  text-decoration: underline;
}
html:not(.sp) .main .dropdown-item a:hover {
  background-color: #eeebe6;
}

/*---------------------------------------------
  1200px未満
  ---------------------------------------------*/
@media screen and (max-width: 1199px), print {

.main .img-set .img,
.main .thumb-set .img {
  margin-right: 10px;
  padding-right: 10px;
}

.main .img-set .img.right,
.main .thumb-set .img.right {
  margin-right: 0;
  padding-right: 0;
  margin-left: 10px;
  padding-left: 10px;
}

  
  #local-nav li > button {
    right: 2vw;
  }
  #local-nav li button + a {
    margin-right: calc(2vw + 32px);
  }
}

/*---------------------------------------------
	990px以上
  ---------------------------------------------*/
@media screen and (min-width: 990px) {
  /* スクロール */
  .is-scroll #topicpath {
    position: fixed;
    left: 0;
    top: 95px;
    width: 100%;
    padding: 10px 4.2vw;
    background-color: #f8f5f0;
    z-index: 99;
    box-shadow: 0 0 20px rgb(0 0 0 / 10%);
  }
  .is-scroll .hero #topicpath li {
    color: #000;
  }
  .is-scroll .hero #topicpath li:before {
    color: #ccc;
  }
  .is-scroll .hero #topicpath li:nth-of-type(2):before {
    background-color: #e5e5e5;
  }
  .is-scroll .hero #topicpath li a {
    color: #074194;
  }
  .is-scroll .hero #topicpath li:first-of-type a {
    background-image: url(/img/icon_home.png);
  }
}



/*---------------------------------------------
	990px未満
  ---------------------------------------------*/
@media screen and (max-width: 989px) {

#container {
  display: block;
  padding-top: 70px;
  font-size: 0.88rem;
}

#main {
  width: auto;
}

footer {
  width: auto;
}

#sidebar-right {
  width: auto;
  margin-top: 0;
  padding-top: 0;
}

.nav > ul > li.selected > a:after {
  bottom: auto;
}

#local-nav dt {
  padding: 20px 0 10px;
  font-size: 1.25rem;
}

#local-nav dt a {
  padding: 10px 4.2vw;
}
#local-nav dt.title {
  padding: 10px 4.2vw !important;
}

#local-nav dd {
  padding-bottom: 20px;
}

#local-nav ul ul {
  margin-left: 4.2vw;
}

#local-nav ul ul ul {
  margin-left: 3vw;
}

#local-nav dd a {
  padding: 8px 4.2vw;
}

#local-nav ul ul a,
#local-nav ul ul span {
  padding: 7px 4.2vw 7px 3vw;
}
#local-nav li > button {
  right: 4.2vw;
  top: 4px;
}
#local-nav li button + a {
  margin-right: calc(4.2vw + 32px);
}

#local-nav .side-banners {
  margin: 0 0 20px;
}
#local-nav .panel-vertical {
  padding: 0 0 15px;
}
#local-nav .panel-vertical.sp-panel-holizontal > a:after {
  content: "";
  display: block;
  clear: both;
}
#local-nav .panel-vertical.sp-panel-holizontal .img {
  float: left;
  width: 25%;
  margin: 15px;
}
#local-nav .panel-vertical.sp-panel-holizontal .txt {
  padding: 15px 15px 0 0;
  overflow: hidden;
}
#local-nav .panel-vertical .heading {
  margin: 0 0 5px;
}

/*** サイドナビなし -hero 以外 ***/
.noside.nohero #page-title {
  padding-top: 0;
  margin-top: 70px;
}
  
  /* 月次販売情報 年次メニュー */
  .main .nav-monthlydata {
    margin: 50px 0 20px;
    padding: 0;
    border: none;
  }
  .main .nav-monthlydata > ul {
    display: block;
    border: solid 10px #eeebe6;
  }
  .main .nav-monthlydata > ul > li {
    padding: 0;
  }
  .main .nav-monthlydata > ul > li:before {
    content: none;
  }
  .main .nav-monthlydata li:not(:last-child) {
    border-bottom: solid 1px #eeebe6;
  }
  .main .nav-monthlydata li a,
  .main .nav-monthlydata .dropdown-btn {
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 calc(24px + 4vw) 0 4vw;
  }
  .main .nav-monthlydata li a:after {
    right: calc(4vw - 7px);
  }
  .main .nav-monthlydata .dropdown-btn:after {
    border: none;
  }
  .main .nav-monthlydata .dropdown-btn:before,
  .main .nav-monthlydata .dropdown-btn:after {
    right: 4vw;
    top: calc(50% - 1px);
    width: 10px;
    height: 2px;
    background-color: #074194;
  }
  .main .nav-monthlydata .dropdown-btn:before {
    transform: translate(0, -50%) rotate(90deg);
  }
  .main .nav-monthlydata .dropdown-btn:after {
    transform: translate(0, -50%) rotate(0deg);
  }
  .main .nav-monthlydata .is-open .dropdown-btn:before {
    content: none;
  }
  
  .main .accordion-item {
    display: none;
  }

  .main .nav-dropdown .dropdown-item {
    position: static;
    width: auto;
    margin: 0;
    border-radius: 0;
  }

  .main .dropdown-item li:first-child span {
    display: none;
  }
	
}



/*---------------------------------------------
	768px以上
  ---------------------------------------------*/
@media screen and (min-width: 768px) {
  .main .panel-vertical.pc-btn-bottom .txt {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-bottom: 60px;
  }
  .main .panel-vertical.pc-btn-bottom .txt .btn {
    position: absolute;
    left: 0;
    bottom: 20px;
    width: 100%;
    padding: 0 20px;
  }
  .main .panel-vertical.pc-btn-bottom .txt .btn a {
    margin: 0;
  }
}



/*---------------------------------------------
	768px未満
  ---------------------------------------------*/
@media screen and (max-width: 767px) {

.main .img-set .img,
.main .img-set .img.right {
  float: none;
  margin-right: 0;
  padding-right: 0;
  margin-left: 0;
  padding-left: 0;
}

.main .btn {
  margin-right: -15px;
}

.main .img-set .img {
  margin-right: 0;
  padding-right: 0;
}

#page-title {
  padding: 0 15px;
}

#topicpath {
  padding: 20px 0 0;
}

#page-title h1 {
  padding: 30px 0 30px;
  font-size: 1.625rem;
}
#page-title h1 .sub {
  font-size: 1rem;
}
#local-nav dt a {
  padding: 10px 15px;
}
#local-nav dt.title {
  padding: 10px 15px !important;
}

#local-nav ul ul {
  margin-left: 15px;
}

#local-nav ul ul ul {
  margin-left: 15px;
}

#local-nav dd a {
  padding: 8px 15px;
}

#local-nav ul ul a,
#local-nav ul ul span {
  padding: 7px 15px;
}

#local-nav li > button {
  right: 15px;
}
#local-nav li button + a {
  margin-right: 47px;
}

/*** サイドナビなし ***/
.noside .page-conts {
  padding-top: 45px;
}

.noside #container .page-h {
  margin-bottom: 19px;
  font-size: 2rem;
}

.noside .page-bnrs {
    padding: 10px 0 15px;
}

.noside .page-bnrs .slider {
  margin-bottom: 0;
}

}


/*---------------------------------------------
  480px未満
  ---------------------------------------------*/
@media screen and (max-width: 479px) {

.main .btn {
  margin-right: 0;
}

.main .btn > *,
.main .btn .icon-arrow {
  max-width: none;
}

}





