@charset "UTF-8";

/* 東京マルイ - component.css
	COPYRIGHT(C) TOKYO MARUI Co., Ltd. All rights reserved.

  [Base]
    SiteWide Typography
    SiteWide heading
    SiteWide Btn
    SiteWide Img
    SiteWide List
    SiteWide Table
    SiteWide Frame
    SiteWide Card
    SiteWide Breadcrumb
    SiteWide Linkarea

*/

/* SiteWide Typography
----------------------------------------------------*/
.sw-Typography_Heading-type1 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.25;
  color: #000000;
}

.sw-Typography_Heading-type2 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  color: #000000;
}

.sw-Typography_Heading-type3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  color: #000000;
}

.sw-Typography_Lead-type1 {
  font-size: 18px;
  line-height: 1.5;
}

.sw-Typography_Text-type1 {
  font-size: 16px;
  line-height: 1.5;
}

.sw-Typography_Note-type1 {
  font-size: 14px;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .sw-Typography_Heading-type1 {
    font-size: 24px;
  }

  .sw-Typography_Heading-type2 {
    font-size: 18px;
  }

  .sw-Typography_Heading-type3 {
    font-size: 16px;
  }

  .sw-Typography_Lead-type1 {
    font-size: 14px;
  }

  .sw-Typography_Text-type1 {
    font-size: 12px;
  }

  .sw-Typography_Note-type1 {
    font-size: 10px;
  }
}


/* SiteWide Heading
----------------------------------------------------*/
.sw-Heading-type1 {
  margin-top: 56px;
  padding-top: 24px;
  border-top: 1px dashed #C8C8C8;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  color: #000000;
}
.sw-Heading-type2 {
  padding-bottom: 14px;
  border-bottom: 4px solid #C8C8C8;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  position: relative;
  color: #000000;
}
.sw-Heading-type2::before {
  content: "";
  border-bottom: 4px solid #0046A4;
  width: 56px;
  height: 4px;
  left: 0;
  bottom: -4px;
  position: absolute;
}

.sw-Heading-type3 {
  padding: 16px;
  border-top: 2px solid #C8C8C8;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  background-color: #F5F5F5;
  color: #000;
}

.sw-Heading-type4 {
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 14px;
  border-left: 4px solid #0046A4;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.33;
  color: #464646;
}

@media screen and (max-width: 768px) {
  .sw-Heading-type1 {
    margin-top: 48px;
    padding-top: 16px;
    border-top: 1px dashed #C8C8C8;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.5;
  }

  .sw-Heading-type2 {
    padding-bottom: 8px;
    border-bottom: 2px solid #C8C8C8;
    font-size: 16px;
    line-height: 1.5;
  }
  .sw-Heading-type2::before {
    content: "";
    border-bottom: 2px solid #0046A4;
    height: 2px;
    bottom: -2px;
  }

  .sw-Heading-type3 {
    padding: 11px 8px;
    font-size: 14px;
  }

  .sw-Heading-type4 {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 8px;
    font-size: 14px;
    line-height: 1.5;
  }
}

/* SiteWide Btn
----------------------------------------------------*/
.sw-Btn_Twitter-type1 {
  width: 88px;
  height: 28px;
  display: flex;
  align-items: center;
  padding: 0 8px 0 32px;
  background-color: #1DA1F2;
  background-image: url('/common/images/ic_twitter_01.svg');
  background-position: top 8px left 10px;
  background-repeat: no-repeat;
  color: #fff;
  font-size: 12px;
}

.sw-Btn_Twitter-type2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 175px;
  height: 48px;
  padding-left: 40px;
  background-color: #1DA1F2;
  background-image: url(/common/images/ic_twitter_01.svg);
  background-repeat: no-repeat;
  background-size: 22px auto;
  background-position: top 15px left 13px;
  border: 0;
  color: #fff;
  font-size: 18px;
}

.sw-Btn_Facebook-type1 {
  width: 100px;
  height: 28px;
  display: flex;
  align-items: center;
  padding: 0 8px 0 32px;
  background-color: #3B5998;
  background-image: url('/common/images/ic_facebook_01.svg');
  background-position: top 6px left 12px;
  background-repeat: no-repeat;
  color: #fff;
  font-size: 12px;
}

.sw-Btn_IconText-type1 {
  display: inline-block;
  padding-left: 24px;
  background-image: url('/common/images/ic_arrow_01.svg');
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 20px auto;
  color: #464646;
  font-size: 16px;
  font-weight: 700;
}

.sw-Btn_IconText-type1[target="_blank"] {
  background-image: url('/common/images/ic_arrow_01.svg'),
  url('/common/images/ic_blank_02.svg');
  background-repeat: no-repeat, no-repeat;
  background-position: left center, right 6px center;
}

.sw-Btn_IconText-type2 {
  padding-left: 24px;
  background-image: url('/common/images/ic_arrow_01.svg');
  background-position: left center;
  background-repeat: no-repeat;
  color: #0046A4;
  font-size: 18px;
  font-weight: 700;
}

.sw-Btn_IconText-type3 {
  padding-left: 24px;
  background-image: url('/common/images/ic_arrow_03.svg');
  background-position: left center;
  background-repeat: no-repeat;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}
.sw-Btn_IconText-typeExternal[target="_blank"] {
  padding-left: 24px;
  color: #464646;
  background-color: #fff;
  background-image: url('/common/images/ic_arrow_01.svg'), none;
  background-repeat: no-repeat, no-repeat;
  background-position: left 12px center, center;
  font-size: 16px;
  font-weight: 700;
  border-radius: 4px;
  padding: 16px 16px 16px 40px;
  min-width: 252px;
  display: inline-block;
}

.sw-Btn_IconText-typeExternal[target="_blank"]::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url('/common/images/ic_blank_02.svg');
  background-repeat: no-repeat;
  background-position: right 0px center;
  display: inline-block;
  vertical-align: middle;
  margin-left: 27px;
}

.sw-Btn_IconText-typeExternal:hover {
  text-decoration: none;
  color: #0046A4;
  background-image: url('/common/images/ic_arrow_10.svg'), none;
  cursor: pointer;
}



.sw-Btn_IconText-type1:hover,
.sw-Btn_IconText-type2:hover {
  background-image: url('/common/images/ic_arrow_15.svg');
  text-decoration: none;
  color: #000;
  transition: all .15s linear;
}

.sw-Btn_Pager-type1 {
  display: flex;
}

.sw-Btn_Pager-type1 li {
  margin: 0 1px;
}

.sw-Btn_Pager-type1 li.prev:first-of-type {
  margin-right: 8px;
}

.sw-Btn_Pager-type1 li.next:last-of-type {
  margin-left: 8px;
}

.sw-Btn_Pager-type1 li.omission {
  margin: 0 8px;
  color: #000;
  padding-top: 10px;
  font-weight: 700;
}

.sw-Btn_Pager-type1 .first-Page {
  margin-right: 0 !important;
}

.sw-Btn_Pager-type1 a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 32px;
  border: 1px solid #C8C8C8;
  color: #464646;
  font-size: 16px;
  border-radius: 4px;
}

.sw-Btn_Pager-type1 a:hover {
  background-color: #797979;
  color: #fff;
  text-decoration: none;
}

.sw-Btn_Pager-type1 .current a {
  background-color: #0046A4;
  color: #fff;
}

.sw-Btn_Pager-type1 .prev a {
  color: #0046A4;
  background-image: url('/common/images/ic_arrow_left_02.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 30px;
}

.sw-Btn_Pager-type1 .prev a:hover {
  background-image: url('/common/images/ic_arrow_left_04.svg');
}

.sw-Btn_Pager-type1 .next a {
  color: #0046A4;
  background-image: url('/common/images/ic_arrow_06.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 30px;
}

.sw-Btn_Pager-type1 .next a:hover {
  background-image: url('/common/images/ic_arrow_08.svg');
}

.sw-Btn_SmallNormal-type1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  height: 36px;
  padding: 8px;
  background-color: #fff;
  box-shadow: inset 0 0 0 1px #C8C8C8;
  color: #464646;
  font-size: 14px;
  font-weight: 700;
  border-radius: 4px;
}

.sw-Btn_SmallNormal-type1:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_SmallNormal-type1.current {
  background-color: #0046A4;
  box-shadow: inset 0 0 0 1px #0046A4;
  color: #fff;
}

.sw-Btn_SmallNormal-type1.disable {
  pointer-events: none;
  background-color: #C8C8C8;
  box-shadow: inset 0 0 0 1px #C8C8C8;
  color: #797979;
}

.sw-Btn_SmallLeftIcon-type1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  height: 36px;
  padding: 8px 8px 8px 24px;
  background-color: #fff;
  background-image: url('/common/images/ic_search_01.svg');
  background-size: 16px auto;
  background-position: left 10px top 10px;
  background-repeat: no-repeat;
  color: #0046A4;
  font-size: 14px;
  font-weight: 700;
}

.sw-Btn_SmallLeftIcon-type1:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_SmallLeftIcon-type2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  height: 36px;
  padding: 8px 8px 8px 24px;
  background-color: #fff;
  background-image: url('/common/images/ic_search_03.svg');
  background-size: 16px auto;
  background-position: left 10px top 10px;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 1px #C8C8C8;
  color: #464646;
  font-size: 14px;
  font-weight: 700;
}

.sw-Btn_SmallLeftIcon-type2:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  background-image: url('/common/images/ic_search_01.svg');
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_SmallRightIcon-type1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  height: 36px;
  padding: 8px 24px 8px 8px;
  background-color: #fff;
  background-image: url('/common/images/ic_arrow_06.svg');
  background-size: 20px auto;
  background-position: right 8px top 8px;
  background-repeat: no-repeat;
  color: #0046A4;
  font-size: 14px;
  font-weight: 700;
}

.sw-Btn_SmallRightIcon-type1:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_SmallRightIcon-type2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  height: 36px;
  padding: 8px 24px 8px 8px;
  background-color: #fff;
  background-image: url('/common/images/ic_arrow_07.svg');
  background-size: 20px auto;
  background-position: right 8px top 8px;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 1px #C8C8C8;
  color: #464646;
  font-size: 14px;
  font-weight: 700;
}

.sw-Btn_SmallRightIcon-type2:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  background-image: url('/common/images/ic_arrow_06.svg');
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_BaseNormal-type1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 340px;
  height: 48px;
  padding: 12px;
  background-color: #0046A4;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  transition: all 0.15s;
}

.sw-Btn_BaseNormal-type1:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  background-color: #fff;
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_BaseNormal-type2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 340px;
  height: 48px;
  padding: 12px;
  background-color: #fff;
  box-shadow: inset 0 0 0 1px #C8C8C8;
  color: #464646;
  font-size: 16px;
  font-weight: 700;
}

.sw-Btn_BaseNormal-type2:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  background-color: #fff;
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_BaseLeftIcon-type1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 340px;
  height: 48px;
  padding: 12px;
  background-color: #0046A4;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  border-radius: 4px;
  transition: all .2s linear;
  cursor: pointer;
}
.sw-Btn_BaseLeftIcon-type1:before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background: url('/common/images/ic_search_02.svg') no-repeat center center;
  background-size: contain;
}

.sw-Btn_BaseLeftIcon-type1:hover {
  background-color: #fff;
  box-shadow: inset 0 0 0 2px #0046A4;
  color: #0046A4;
  text-decoration: none;
}
.sw-Btn_BaseLeftIcon-type1:hover:before {
  background: url('/common/images/ic_search_01.svg') no-repeat center center;
  background-size: contain;
}

.sw-Btn_BaseRightIcon-type1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 340px;
  height: 48px;
  padding: 12px;
  background-color: #fff;
  background-image: url('/common/images/ic_arrow_07.svg');
  background-size: 20px auto;
  background-position: right 16px top 14px;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 1px #C8C8C8;
  color: #464646;
  font-size: 16px;
  font-weight: 700;
  border-radius: 4px;
  cursor: pointer;
}

.sw-Btn_BaseRightIcon-type1:hover {
  background-color: #fff;
  background-image: url('/common/images/ic_arrow_06.svg');
  box-shadow: inset 0 0 0 2px #0046A4;
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_LargeNormal-type1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 380px;
  height: 58px;
  padding: 16px;
  background-color: #0046A4;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.sw-Btn_LargeNormal-type1:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  background-color: #fff;
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_LargeNormal-type2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 380px;
  height: 58px;
  padding: 16px;
  background-color: #fff;
  box-shadow: inset 0 0 0 1px #C8C8C8;
  color: #464646;
  font-size: 18px;
  font-weight: 700;
  border-radius: 4px;
  cursor: pointer;
}

.sw-Btn_LargeNormal-type2:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  background-color: #fff;
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_LargeLeftIcon-type1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 380px;
  height: 58px;
  padding: 16px;
  background-color: #0046A4;
  background-image: url('/common/images/ic_search_02.svg');
  background-size: 20px auto;
  background-position: left 36px top 19px;
  background-repeat: no-repeat;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.sw-Btn_LargeLeftIcon-type1:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  background-color: #fff;
  background-image: url('/common/images/ic_search_01.svg');
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_LargeRightIcon-type1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 380px;
  height: 58px;
  padding: 16px;
  background-color: #0046A4;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  border-radius: 4px;
  transition: all .2s linear;
  cursor: pointer;
}

.sw-Btn_LargeRightIcon-type1 .btn-20_Inner {
  position: relative;
}

.sw-Btn_LargeRightIcon-type1 .btn-20_Inner::after {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  background-image: url('/common/images/ic_arrow_08.svg');
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: 4px 4px;
}

.sw-Btn_LargeRightIcon-type1:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  background-color: #fff;
  color: #0046A4;
  text-decoration: none;
}

.sw-Btn_LargeRightIcon-type1:hover .btn-20_Inner::after {
  background-image: url('/common/images/ic_arrow_06.svg');
}

.sw-Btn_Option-type1 {
  display: inline-flex;
  align-items: center;
  min-width: 356px;
  height: 78px;
  padding: 26px 122px 26px 16px;
  background-color: #fff;
  background-repeat: no-repeat;
  color: #464646;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
}

.sw-Btn_Ancher-type1 {
  display: inline-flex;
  align-items: center;
  min-width: 279px;
  padding: 16px 16px 16px 52px;
  background-color: #fff;
  background-image: url('/common/images/ic_arrow_bottom_01.svg');
  background-size: 20px auto;
  background-position: left 28px top 21px;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 1px #C8C8C8;
  color: #0046A4;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
}

.sw-Btn_More-type1 {
  display: inline-flex;
  align-items: center;
  min-width: 137px;
  height: 51px;
  padding: 13px 40px;
  background-color: #fff;
  background-image: url('/common/images/ic_arrow_01.svg');
  background-size: 20px auto;
  background-position: left 16px center;
  background-repeat: no-repeat;
  border-radius: 4px;
  color: #0046A4;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  transition: all .15s;
}

.sw-Btn_More-type1:hover {
  background-image: url('/common/images/ic_arrow_15.svg');
}

.sw-Btn_MorePdf-type1 {
  display: inline-flex;
  align-items: center;
  min-width: 225px;
  height: 51px;
  padding: 13px 40px;
  background-color: #fff;
  background-image: url('/common/images/ic_arrow_04.svg'), url('/common/images/ic_pdf_01.svg');
  background-size: 16px auto, 20px auto;
  background-position: left 16px top 18px, right 16px top 16px;
  background-repeat: no-repeat;
  border-radius: 4px;
  color: #0046A4;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
}

.sw-Btn_IconTextText {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  background-image: url(/common/images/ic_arrow_01.svg);
  background-size: 24px 24px;
  background-position: right 24px center;
  background-repeat: no-repeat;
  padding: 24px 48px 24px 24px;
  border: 2px solid #C1D5F0;
  border-radius: 8px;
  color: #464646;
  transition: background-color 0.15s linear, border 0.15s linear;
  cursor: pointer;
}
.sw-Btn_IconTextText:hover {
  background: #f5f5f5 url(/common/images/ic_arrow_10.svg) no-repeat right 24px center;
  background-size: 24px 24px;
  border: 2px solid #C8C8C8;
  text-decoration: none;
}
.sw-Typography_Heading-type3 {
  margin-bottom: 8px;
}
.sw-Btn_IconTextText_ItemText {
  margin: 0 30px;
}

@media screen and (max-width: 768px) {
  .sw-Btn_IconText-type1 {
    display: inline-block;
    font-size: 12px;
    line-height: 20px;
  }

  .sw-Btn_IconText-typeExternal[target="_blank"] {
    padding-left: 16px;
    color: #464646;
    background-color: #fff;
    background-image: url('/common/images/ic_arrow_01.svg'), none;
    background-repeat: no-repeat, no-repeat;
    background-position: left 8px center, center;
    font-size: 14px;
    font-weight: 700;
    border-radius: 4px;
    padding: 8px 16px 8px 32px;
    min-width: auto;
    display: inline-block;
  }
  .sw-Btn_IconText-typeExternal[target="_blank"]:after {
    width: 16px;
    height: 16px;
    background-size: contain;
  }

  .sw-Btn_Ancher-type1 {
    min-width: 1px;
    padding: 16px 16px 16px 48px;
    background-position: left 16px center;
    font-size: 16px;
  }

  .sw-Btn_BaseLeftIcon-type1 {
    min-width: none;
    width: 100%;
    height: auto;
    padding: 11px;
    font-size: 14px;
  }

  .sw-Btn_LargeRightIcon-type1 {
    min-width: 100%;
  }

  .sw-Btn_BaseRightIcon-type1 {
    min-width: 100%;
  }

  .sw-Btn_MorePdf-type1 {
    height: auto;
    padding: 13px 28px;
    background-color: #fff;
    background-position: left 0px center, right 0px center;
    font-size: 16px;
  }

  .sw-Btn_IconTextText {
    padding: 16px 40px 16px 16px;
    background-position: right 16px center;
    background-size: 16px auto;
  }
  .sw-Btn_IconTextText:hover {
    background-position: right 16px center;
    background-size: 16px auto;
  }
  .sw-Btn_IconTextText > img {
    width: 32px;
    height: auto;
  }
  .sw-Btn_IconTextText_ItemText {
    margin: 0 8px;
  }

  .sw-Btn_IconText-type1[target="_blank"] {
    background-size: 16px;
  }
}


/* SiteWide Img
----------------------------------------------------*/
.sw-Img_Eye-Type1 {
  height: 245px;
  background-image: url('/common/images/bg_visual_21.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 100%;
}

.sw-Img_Eye-Type1_Inner {
  max-width: 1116px;
  margin-left: auto;
  margin-right: auto;
}

.sw-Img_Eye-Type1_Heading {
  padding-top: 64px;
  font-size: 40px;
  font-weight: 700;
  color: #000;
}

.sw-Img_Eye-Type1_Text {
  width: 550px;
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .sw-Img_Eye-Type1 {
    height: auto;
    padding-bottom: 16px;
    background-position: top;
    background-size: auto 83px;
  }

  .sw-Img_Eye-Type1_Inner {
    max-width: calc(100% - 32px);
  }

  .sw-Img_Eye-Type1_Heading {
    padding-top: 99px;
    font-size: 24px;
  }

  .sw-Img_Eye-Type1_Text {
    width: auto;
    margin-top: 16px;
    font-size: 14px;
  }
}


/* SiteWide List
----------------------------------------------------*/
.sw-List_Feature-Type1 {
  display: flex;
  padding: 16px;
  background-color: #F5F5F5;
}

.sw-List_Feature-Type1 img {
  margin-right: 16px;
}

.sw-List_Feature-Type1 li {
  font-size: 16px;
  line-height: 1.5;
}

.sw-List_Feature-Type2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.sw-List_Feature-Type2:after {
  content: "";
  display: block;
  width: calc((100% - 24px) / 2);
}

.sw-List_Feature-Type2 li {
  width: calc((100% - 24px) / 2);
  margin-top: 24px;
  padding: 16px;
  background-color: #F5F5F5;
  border: 1px solid #C8C8C8;
}

.sw-List_Feature-Type2 .sw-List_Feature-Type2_Heading {
  color: #0046A4;
  font-size: 18px;
  font-weight: 700;
}

.sw-List_Feature-Type2 p {
  margin-top: 8px;
  font-size: 16px;
}

.sw-List_Menu-Type1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.sw-List_Menu-Type1:after {
  content: "";
  display: block;
  width: calc((100% - 48px) / 3);
}

.sw-List_Menu-Type1_Item {
  width: calc((100% - 48px) / 3);
  margin-top: 24px;
}

.sw-List_Menu-Type1_Item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #F5F5F5;
  border-radius: 4px;
  transition: all .15s;
}

.sw-List_Menu-Type1_Item a:hover {
  background-color: #F0F0F0;
  color: #000;
  text-decoration: none;
}
.sw-List_Menu-Type1_Item a:hover .sw-List_Menu-Type1_Heading {
  color: #000;
}

.sw-List_Menu-Type1_Item a:hover img {
  opacity: .8;
  transition: all .15s;
}


.sw-List_Menu-Type1_Heading {
  padding-left: 16px;
  color: #464646;
  font-size: 18px;
  font-weight: 700;
}

.sw-List_Label-Type1,
.sw-List_Label-Type1-pc {
  display: flex;
  flex-wrap: wrap;
}

.sw-List_Label-Type1 li,
.sw-List_Label-Type1-pc li {
  margin: 4px 4px 0 0;
}

.sw-List_Label-Type1 a,
.sw-List_Label-Type1-pc a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 135px;
  padding: 8px 12px;
  background-color: #fff;
  box-shadow: inset 0 0 0 1px #C8C8C8;
  color: #464646;
  font-size: 14px;
  text-align: center;
  border-radius: 4px;
  transition: all .15s;
}

.sw-List_Label-Type1 a:hover,
.sw-List_Label-Type1-pc a:hover {
  box-shadow: inset 0 0 0 2px #0046A4;
  color: #0046A4;
  text-decoration: none;
}

.sw-List_Label-Type1 li.current a,
.sw-List_Label-Type1-pc li.current a {
  background-color: #0046A4;
  box-shadow: inset 0 0 0 1px #0046A4;
  color: #fff;
  border-radius: 4px;
}

.sw-List_Label-Type1 li.current a:hover,
.sw-List_Label-Type1-pc li.current a:hover {
  background-color: #fff;
  color: #0046A4;
}

.sw-List_Calendar-Type1 dl {
  display: flex;
  padding: 16px 0;
  border-top: 1px solid #C8C8C8;
}

.sw-List_Calendar-Type1 dl:last-of-type {
  border-bottom: 1px solid #C8C8C8;
}

.sw-List_Calendar-Type1 dt {
  display: flex;
  align-items: center;
  font-size: 16px;
}

.sw-List_Calendar-Type1_Day {
  margin-right: 16px;
  font-weight: 600;
}

.sw-List_Calendar-Type1_Tag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 83px;
  height: 22px;
  margin-right: 16px;
  padding: 2px;
  background-color: #4D6E9B;
  color: #fff;
  font-size: 12px;
}

/* .sw-List_Calendar-Type1_Tag.age10 + .age18 {
  background-color: #DC0000;
} */
.sw-List_Calendar-Type1_Tag.age10 {
  background-color: #E3A311;
}

.sw-List_Calendar-Type1_Tag.age14 {
  background-color: #00827B;
}

.sw-List_Calendar-Type1_Tag.age10-18 {
  position: relative;
  color: #fff;
  z-index: 0;
  padding: 0;
}

.sw-List_Calendar-Type1_Tag.age10-18::before {
  content: "";
  background-color: #E3A311;
  width: 50%;
  height: 100%;
  position: absolute;
  left: 0;
  z-index: -1;
}

.sw-List_Calendar-Type1_Tag.age10-18::after {
  content: "";
  background-color: #4D6E9B;
  width: 50%;
  height: 100%;
  position: absolute;
  right: 0;
  z-index: -1;
}

.sw-List_Calendar-Type1_Tag.age14-18 {
  position: relative;
  color: #fff;
  z-index: 0;
  padding: 0;
}

.sw-List_Calendar-Type1_Tag.age14-18::before {
  content: "";
  background-color: #00827B;
  width: 50%;
  height: 100%;
  position: absolute;
  left: 0;
  z-index: -1;
}

.sw-List_Calendar-Type1_Tag.age14-18::after {
  content: "";
  background-color: #4D6E9B;
  width: 50%;
  height: 100%;
  position: absolute;
  right: 0;
  z-index: -1;
}


.sw-List_Calendar-Type1_Tag.noday {
  margin-leFt: 96px;
}

.sw-List_Calendar-Type1_Tags {
  display: flex;
  margin-right: 16px;
}

.sw-List_Calendar-Type1_Tags .sw-List_Calendar-Type1_Tag {
  width: 33px;
  margin-right: 0;
}

.sw-List_Calendar-Type1_Cat {
  width: 212px;
  margin-right: 16px;
  font-size: 16px;
  font-weight: 600;
}

.sw-List_Calendar-Type1 dd {
  font-size: 16px;
}

.sw-List_Calendar-Type1 dd a {
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  .sw-List_Feature-Type1 {
    padding: 8px;
  }

  .sw-List_Feature-Type1 img {
    margin-right: 8px;
    width: 13.4%;
    height: auto;
  }

  .sw-List_Feature-Type1 li {
    font-size: 12px;
  }

  .sw-List_Feature-Type2 {
    display: block;
  }

  .sw-List_Feature-Type2:after {
    content: none;
  }

  .sw-List_Feature-Type2 li {
    width: 100%;
    margin-top: 8px;
  }

  .sw-List_Feature-Type2 .sw-List_Feature-Type2_Heading {
    font-size: 14px;
  }

  .sw-List_Feature-Type2 p {
    font-size: 12px;
  }

  .sw-List_Menu-Type1 {
    display: block;
  }

  .sw-List_Menu-Type1:after {
    content: none;
  }

  .sw-List_Menu-Type1_Item {
    width: 100%;
    margin-top: 8px;
  }

  .sw-List_Menu-Type1_Heading {
    font-size: 12px;
  }

  .sw-List_Menu-Type1_Item img {
    width: auto;
    height: 55px;
  }

  .sw-List_Label-Type1 {
    justify-content: space-between;
  }

  .sw-List_Label-Type1 li {
    width: calc((100% - 4px) / 3);
    margin: 2px 0 0 0;
  }

  .sw-List_Label-Type1-pc {
    display: none;
  }

  .sw-List_Label-Type1-sp {
    -webkit-appearance: none;
    background: url(/common/images/ic_arrow_bottom_03.svg) no-repeat right 8px center;
    min-width: 172px;
    padding: 4px 8px;
    border: 1px solid #C8C8C8;
    border-radius: 0;
    font-size: 12px;
    line-height: 1.75;
  }

  .sw-List_Calendar-Type1 dl {
    display: block;
    padding: 8px 0;
  }

  .sw-List_Calendar-Type1 dt {
    font-size: 12px;
  }

  .sw-List_Calendar-Type1_Day {
    margin-right: 8px;
    font-size: 10px;
  }

  .sw-List_Calendar-Type1_Tag {
    width: 54px;
    height: 17px;
    margin-right: 8px;
    font-size: 8px;
    padding: 2px 4px;
  }

  .sw-List_Calendar-Type1_Tag.noday {
    margin-left: 58px;
  }

  .sw-List_Calendar-Type1_Tags {
    margin-right: 8px;
  }

  .sw-List_Calendar-Type1_Cat {
    width: auto;
    font-size: 12px;
  }

  .sw-List_Calendar-Type1 dd {
    margin-top: 8px;
    font-size: 12px;
  }

}

@media screen and (min-width: 769px) {
  .sw-List_Label-Type1-sp {
    display: none;
  }
}


/* SiteWide Table
----------------------------------------------------*/
.sw-Table-Type1 table {
  width: 100%;
}

.sw-Table-Type1 tr {
  border: 1px solid #C8C8C8;
}

.sw-Table-Type1 th {
  padding: 8px 16px;
  background-color: #F0F0F0;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
}

.sw-Table-Type1 td {
  padding: 8px 16px;
  background-color: #fff;
  font-size: 16px;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .sw-Table-Type1 th {
    font-size: 12px;
  }

  .sw-Table-Type1 td {
    padding: 8px 16px;
    font-size: 12px;
  }
}

/* type2 */
.sw-Table-Type2 table {
  width: 100%;
}

.sw-Table-Type2 tr {
  border-top: 1px solid #C8C8C8;
}
.sw-Table-Type2 tr:last-of-type {
  border-bottom: 1px solid #C8C8C8;
}

.sw-Table-Type2 th {
  padding: 16px;
  background-color: #F5F5F5;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
}

.sw-Table-Type2 td {
  padding: 16px 16px 16px 23px;
  background-color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .sw-Table-Type2 th {
    font-size: 12px;
    padding: 8px;
    width: 20%;
  }

  .sw-Table-Type2 td {
    padding: 8px 16px;
    font-size: 12px;
  }
}


/* SiteWide Frame
----------------------------------------------------*/
.sw-Frame_Youtube-Type1 {
  position: relative;
  width: 100%;
  height: 100%;
  margin: auto;
  padding-top: 56%;
}

.sw-Frame_Youtube-Type1 iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.sw-Frame_Tab-Type1 {
  display: flex;
  flex-wrap: wrap;
}

.sw-Frame_Tab-Type1_Input {
  display: none;
}

.sw-Frame_Tab-Type1_Label {
  order: 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 256px;
  height: 59px;
  margin-right: 2px;
  padding: 0 16px;
  background-color: #C8C8C8;
  border-top: 4px solid #C8C8C8;
  border-left: 1px solid #C8C8C8;
  border-right: 1px solid #C8C8C8;
  color: #797979;
  font-size: 18px;
  font-weight: 700;
  z-index: 1;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  cursor: pointer;
}

.sw-Frame_Tab-Type1_Input:checked + .sw-Frame_Tab-Type1_Label {
  background-color: #fff;
  border-top: 4px solid #0046A4;
  color: #464646;
  pointer-events: none;
}

.sw-Frame_Tab-Type1_Contents {
  order: 1;
  width: 100%;
  display: none;
  margin-top: -1px;
  padding: 24px 0;
  border-top: 1px solid #C8C8C8;
}

.sw-Frame_Tab-Type1_Input:checked+.sw-Frame_Tab-Type1_Label+.sw-Frame_Tab-Type1_Contents {
  display: block;
}

.sw-Frame_TitleBox-Type1_Heading {
  padding: 9px 6px;
  background-color: #4D6E9B;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.sw-Frame_TitleBox-Type1_Text {
  padding: 16px;
  background-color: #F5F5F5;
}

.sw-Frame_TitleBox-Type1_Text p {
  font-size: 16px;
}

.sw-Frame_QaBox-Type1 {
  overflow: hidden;
}

.sw-Frame_QaBox-Type1_Heading {
  display: flex;
  align-items: center;
  padding: 16px 24px;
  border-top: 2px solid #4D6E9B;
  border-right: 2px solid #4D6E9B;
  border-left: 2px solid #4D6E9B;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  background-color: #4D6E9B;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  border: 2px solid #4D6E9B;
  border-radius: 8px 8px 0 0;
}

.sw-Frame_QaBox-Type1_Heading strong {
  margin-right: 26px;
  font-size: 24px;
  font-weight: 700;
}

.sw-Frame_QaBox-Type1_Text {
  border-right: 2px solid #C8C8C8;
  border-bottom: 2px solid #C8C8C8;
  border-left: 2px solid #C8C8C8;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  padding: 24px 24px 16px;
  background-color: #F5F5F5;
  border: 2px solid #C8C8C8;
  border-radius: 0 0 8px 8px;
  border-top: none;
}

.sw-Frame_QaBox-Type1_Text p {
  font-size: 16px;
}

.sw-Frame_QaBox-Type1_Text strong {
  margin-right: 10px;
  font-size: 18px;
  font-weight: 700;
}

.sw-Frame_QaBox-Type1_TextA {
  margin-left: 2em;
  text-indent: -2em;
}

.sw-Frame_QaBox-Type1_Text p.sw-Frame_QaBox-Type1_TextALarge {
  font-size: 18px;
  margin-left: 1.8em;
  text-indent: -1.8em;
}

.sw-Frame_QaBox-Type1_TextMd {
  font-size: 16px;
  font-weight: normal;
}

.sw-Frame_QaBox-Type1_More {
  margin: 24px auto 0;
  text-align: center;
}

.sw-Frame_QaBox-Type1_More a {
  height: auto;
  padding: 0 40px;
  background-color: transparent;
}

.sw-Frame_Border-Type1 {
  padding: 24px;
  border: 1px solid #C8C8C8;
}

.sw-Frame_CautionBox {
  border: solid 1px #DC0000;
}
.sw-Frame_CautionBox_Heading {
  font-size: 18px;
  color: #fff;
  background-color: #DC0000;
  font-weight: 500;
  line-height: 1.33;
  padding: 16px 24px;
}
.sw-Frame_CautionBox_Text {
  color: #464646;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  padding: 16px 24px 24px;
}

@media screen and (max-width: 768px) {
  .productsDetail-Feature_Tab {
    justify-content: space-between;
  }
  .sw-Frame_Tab-Type1_Label {
    width: calc(50% - 1px);
    min-width: 1px;
    min-height: 54px;
    height: auto;
    margin-right: 2px;
    font-size: 10px;
  }

  .sw-Frame_Tab-Type1_Label.last {
    margin-right: 0;
  }

  .sw-Frame_TitleBox-Type1_Heading {
    padding: 8px;
    font-size: 12px;
  }

  .sw-Frame_TitleBox-Type1_Text {
    padding: 16px;
    background-color: #F5F5F5;
  }

  .sw-Frame_TitleBox-Type1_Text p {
    font-size: 12px;
  }

  .sw-Frame_QaBox-Type1_Heading {
    padding: 16px 20px;
    font-size: 12px;
  }

  .sw-Frame_QaBox-Type1_Heading strong {
    margin-right: 8px;
    font-size: 24px;
  }

  .sw-Frame_QaBox-Type1_Text p {
    font-size: 10px;
  }

  .sw-Frame_QaBox-Type1_Text strong {
    margin-right: 5px;
    font-size: 12px;
  }

  .sw-Frame_QaBox-Type1_TextA {
    margin-left: 1.4em;
    text-indent: -1.4em;
  }

  .sw-Frame_QaBox-Type1_Text p.sw-Frame_QaBox-Type1_TextALarge {
    font-size: 14px;
    margin-left: 1.2em;
    text-indent: -1.2em;
  }

  .sw-Frame_QaBox-Type1_TextMd {
    font-size: 12px;
  }

  .sw-Frame_QaBox-Type1_More {
    margin: 16px auto 0;
  }

  .sw-Frame_QaBox-Type1_More a {
    background-position: left 16px top 2px;
    font-size: 12px;
  }

.sw-Frame_CautionBox_Heading {
  font-size: 12px;
  padding: 16px 20px;
}
.sw-Frame_CautionBox_Text {
  font-size: 10px;
  padding: 16px 20px;
}
}

/* SiteWide Card
----------------------------------------------------*/
.sw-Card_Products-Type1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.sw-Card_Products-Type2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

/* .sw-Card_Products-Type1:after {
  content: "";
  display: block;
  width: calc((100% - 48px) / 3);
} */

/* .col4.sw-Card_Products-Type1:after {
  content: "";
  display: block;
  width: calc((100% - 72px) / 4);
} */

.sw-Card_Products-Type1_Item {
  width: calc((100% - 48px) / 4);
  margin-top: 24px;
  transition: all 0.15s;
}

.col3.sw-Card_Products-Type1:after {
  content: "";
  display: block;
  width: calc((100% - 48px) / 3);
}

.col3 .sw-Card_Products-Type1_Item {
  width: calc((100% - 48px) / 3);
  display: flex;
  flex-direction: column;
  transition: all 0.15s;
}

.col3 .sw-Card_Products-Type1_Item:hover .sw-Card_Products-Type1_Img {
  opacity: 0.8;
}

.col3 .sw-Card_Products-Type1_Item:hover {
  background-color: #F0F0F0;
}

.col3 .sw-Card_Products-Type1_Item:hover .sw-Card_Products-Type1_Title {
  color: #000;
  background-image: url(/common/images/ic_arrow_15.svg);
}

.col3 .sw-Card_Products-Type1_Item:hover .sw-Card_Products-Type1_Title a {
  color: #000;
}

.col4 .sw-Card_Products-Type2_Item {
  width: calc((100% - 72px) / 4);
  margin-top: 24px;
}

.col4 .sw-Card_Products-Type2_Item:not(:nth-of-type(4n + 1)) {
  margin-left: 24px; /* 1,5,9番目以外、左に間隔空ける */
}

.sw-Card_Products-Type1_Item .sw-Card_Products-Type1_Desc {
  margin: 16px 0;
}

.sw-Card_Products-Type1_Item .sw-Card_Products-Type1_Block,
.sw-Card_Products-Type2_Item .sw-Card_Products-Type1_Block {
  margin-top: 14px;
}

.sw-Card_Products-Type1_ImgLabel.age18.blue,
.sw-List_Calendar-Type1_Tag.age18.blue {
  background-color: #4D6E9B;
}

.sw-Card_Products-Type1_ImgLabel.age14 {
  background-color: #00827B;
}

.sw-Card_Products-Type1_ImgLabel.age18.blue.arrow_age14 {
  background-color: #00827B;
}

.sw-Card_Products-Type1_ImgLabel.age18.blue.arrow_age10 {
  background-color:  #E3A311;
}

.sw-Card_Products-Type1_Tag.red {
  background-color: #DC0000;
}

.sw-Card_Products-Type1_Item,
.sw-Card_Products-Type2_Item {
  background-color: #F5F5F5;
  padding: 0 16px 16px 16px;
  position: relative;
  transition: all 0.15s;
}

.sw-Card_Products-Type1_Item:hover,
.sw-Card_Products-Type2_Item:hover {
  background-color: #F0F0F0;
}

.sw-Card_Products-Type1_Img {
  display: block;
  position: relative;
  margin: 0 -16px;
  transition: all 0.15s;
}

.sw-Card_Products-Type1_Img img {
  transition: all 0.15s;
}

.sw-Card_Products-Type1_Item:hover .sw-Card_Products-Type1_Img,
.sw-Card_Products-Type2_Item:hover .sw-Card_Products-Type1_Img {
  opacity: 0.8;
}

.sw-Card_Products-Type1_Title a {
  color: #0046A4;
  font-weight: 700;
  transition: all 0.15s;
}

.sw-Card_Products-Type1_Item:hover .sw-Card_Products-Type1_Title a,
.sw-Card_Products-Type2_Item:hover .sw-Card_Products-Type1_Title a {
  color: #000;
}

.sw-Card_Products-Type1_Img img {
  width: 356px;
}

.sw-Card_Products-Type1_ImgLabel {
  background-color: #E3A311;
  color: #fff;
  position: absolute;
  padding: 2px 5px;
  font-size: 12px;
  bottom: 0;
  left: 0;
}

.sw-Card_Products-Type1_ImgLabel.age14 {
  background-color: #00827B;
}

.sw-Card_Products-Type1_ImgLabel.age18 {
  background-color: #4D6E9B;
}

.sw-Card_Products-Type1_ImgLabel.age10 + .age18 {
  background-color: #DC0000;
}

.sw-Card_Products-Type1_Title {
  margin-top: 16px;
  padding-left: 24px;
  background-image: url(/common/images/ic_arrow_01.svg);
  background-position: left center;
  background-repeat: no-repeat;
  color: #464646;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.15s;
}

.sw-Card_Products-Type1_Item:hover .sw-Card_Products-Type1_Title,
.sw-Card_Products-Type2_Item:hover .sw-Card_Products-Type1_Title {
  color: #000;
  background-image: url('/common/images/ic_arrow_10.svg');
}

.sw-Card_Products-Type1_Desc {
  margin-top: 16px;
  color: #464646;
  font-size: 14px;
}

.sw-Card_Products-Type1_Block {
  margin-top: 24px;
}

.sw-Card_Products-Type1_BlockItem {
  display: flex;
  align-items: center;
}

.sw-Card_Products-Type1_BlockItem + .sw-Card_Products-Type1_BlockItem {
  margin-top: 8px;
}

.sw-Card_Products-Type1_Tag,
.sw-Card_Products-Type2_Tag,
.sw-Card_Products-Type3_Tag,
.sw-Card_Products-Type4_Tag {
  min-width: 58px;
  padding: 1px 5px;
  color: #fff;
  font-size: 12px;
  text-align: center;
}

.sw-Card_Products-Type1_Tag {
  background-color: #0046A4;
}

.sw-Card_Products-Type2_Tag {
  background-color: #464646;
}

.sw-Card_Products-Type3_Tag,
.sw-Card_Products-Type4_Tag {
  background-color: #DC0000;
}

.sw-Card_Products-Type1_Tag.black {
  background-color: #464646;
}

.sw-Card_Products-Type1_Price {
  margin-left: 8px;
  color: #464646;
  font-size: 18px;
  font-weight: 700;
}

.sw-Card_Products-Type1_Tax {
  margin-left: 8px;
  color: #797979;
  font-size: 12px;
}

.sw-Card_Relation-Type1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.sw-Card_Relation-Type1:after {
  content: "";
  display: block;
  width: calc((100% - 48px) / 3);
}

.sw-Card_Relation-Type1_Item {
  width: calc((100% - 48px) / 3);
  margin-top: 24px;
}

.sw-Card_Relation-Type1_Item a {
  display: block;
  text-decoration: none;
}

.sw-Card_Relation-Type1_Item a:hover img {
  opacity: .8;
  transition: all .15s linear;
}

.sw-Card_Relation-Type1_Item a + a {
  margin-top: 8px;
}

.sw-Relation-Type1_Desc {
  margin-top: 8px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  transition: all .15s linear;
}

a:hover .sw-Relation-Type1_Desc {
  color: #F5F5F5;
}

.sw-Relation-Type1_Desc.black {
  color: #464646;
}

a:hover .sw-Relation-Type1_Desc.black {
  color: #000;
}

.sw-Card_Lineup-Type1 {
  display: flex;
  justify-content: space-between;
}

.sw-Card_Lineup-Type1_Item {
  width: calc((100% - 48px) / 3);
  margin-top: 24px;
}

.sw-Card_Lineup-Type1_Item a {
  display: block;
  background-color: #F5F5F5;
  color: #464646;
  font-size: 16px;
  text-align: center;
  transition: .15s;
}

.sw-Card_Lineup-Type1_Item a:hover {
  background-color: #f0f0f0;
  color: #000;
  text-decoration: none;
}

.sw-Card_Lineup-Type1_Item a:hover img {
  opacity: .8;
}

.sw-Card_Lineup-Type1_Item a img {
  transition: .15s;
}

.sw-Card_Lineup-Type1_Heading {
  display: block;
  padding: 8px 24px;
}

@media screen and (max-width: 768px) {
  .sw-Card_Products-Type1 {
    display: flex;
  }

  .sw-Card_Products-Type1_Item,
  .sw-Card_Products-Type2_Item {
    padding: 0 10px 10px 10px;
  }

  .sw-Card_Products-Type1_Item {
    width: calc((100% - 5px) / 2);
    margin-top: 5px;
  }

  .sw-Card_Products-Type2 {
    justify-content: space-between;
  }

  .col3 .sw-Card_Products-Type1:after,
  .col4 .sw-Card_Products-Type1:after {
    width: calc((100% - 5px) / 2);
  }

  .col3 .sw-Card_Products-Type1_Item,
  .col4 .sw-Card_Products-Type2_Item {
    width: calc((100% - 5px) / 2);
    margin-top: 5px;
  }

  .col4 .sw-Card_Products-Type2_Item:not(:nth-of-type(4n + 1)) {
    margin-left: 0;
  }

  .col3 .sw-Card_Products-Type1_Tag {
    max-width: 100%;
    display: inline-block;
  }

  .col3 .sw-Card_Products-Type1_Price {
    display: block;
  }

  .sw-Card_Products-Type1_Img {
    margin: 0 -10px;
  }

  .sw-Card_Products-Type1_Title {
    margin-top: 8px;
    padding-left: 20px;
    background-size: 12px auto;
    background-position: left center;
    font-size: 12px;
  }

  .sw-Card_Products-Type1_Desc {
    margin-top: 8px;
    font-size: 10px;
  }

  .sw-Card_Products-Type1_Item .sw-Card_Products-Type1_Desc {
    margin: 10px 0 6px;
  }

  .sw-Card_Products-Type1_Tag,
  .sw-Card_Products-Type2_Tag,
  .sw-Card_Products-Type3_Tag,
  .sw-Card_Products-Type4_Tag {
    display: block;
    min-width: 45px;
    max-width: 100%;
    font-size: 10px;
  }

  .sw-Card_Products-Type1_Price {
    font-size: 12px;
  }

  .sw-Card_Products-Type1_Tax {
    margin-left: 0;
    font-size: 10px;
    white-space: nowrap;
    padding-top: 9px;
  }

  .sw-Card_Products-Type1_ImgLabel {
    font-size: 8px;
  }

  .sw-Card_Relation-Type1 {
    display: block;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .sw-Card_Relation-Type1_Item {
    width: 100%;
  }

  .sw-Relation-Type1_Desc {
    font-size: 10px;
  }

  .sw-Card_Lineup-Type1 {
    display: block;
  }

  .sw-Card_Lineup-Type1_Item {
    width: 100%;
    margin-top: 8px;
  }

  .sw-Card_Lineup-Type1_Item:first-of-type {
    margin-top: 13px;
  }

  .sw-Card_Lineup-Type1_Heading {
    display: block;
    padding: 8px 24px;
  }

  .sw-Card_Products-Type1_Img img {
    width: 100%;
  }
}

/* SiteWide Breadcrumb
----------------------------------------------------*/
.sw-Breadcrumb-Type1 {
  height: auto;
  background-color: #F5F5F5;
  border-bottom: 1px solid #C8C8C8;
  padding: 4px 0;
}

.sw-Breadcrumb-Type1 ul {
  display: flex;
  align-items: center;
  height: 100%;
}

.sw-Breadcrumb-Type1 li {
  padding-right: 26px;
  margin-right: 8px;
  background-image: url(/common/images/ic_arrow_06.svg);
  background-repeat: no-repeat;
  background-position: top -1px right;
  color: #464646;
  font-size: 12px;
  white-space: nowrap;
}

.sw-Breadcrumb-Type1 li:last-of-type {
  background-image: none;
  white-space: pre-wrap;
}

.sw-Breadcrumb-Type1 a {
  color: #464646;
  font-size: 12px;
}

@media screen and (max-width: 768px) {
  .sw-Breadcrumb-Type1 {
    height: auto;
    padding: 4px 0 8px;
  }

  .sw-Breadcrumb-Type1 ul {
    flex-wrap: wrap;
  }

  .sw-Breadcrumb-Type1 li {
    padding-right: 21px;
    margin-top: 4px;
    margin-right: 0;
    font-size: 8px;
    background-position: top -3px right;
  }

  .sw-Breadcrumb-Type1 a {
    font-size: 8px;
  }
}

/* SiteWide Linkarea
----------------------------------------------------*/
.sw-Linkarea {
  padding: 0 0 56px;
}

.sw-Linkarea_List {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  margin: 0 auto;
}

.sw-Linkarea_ListItem {
  max-width: 356px;
}

.sw-Linkarea_ListItem:hover .sw-Linkarea_ListImg {
  opacity: 0.8;
  transition: all 0.15s;
}

.sw-Linkarea_ListItem:hover .sw-Linkarea_Title {
  color: #000;
  background: #F0F0F0;
  transition: all 0.15s;
}

.sw-Linkarea_ListItem + .sw-Linkarea_ListItem {
  margin-left: 24px;
}

.sw-Linkarea_ListItem a {
  text-decoration: none;
}

.sw-Linkarea_ListImg {
  border: 1px solid #C8C8C8;
}

.sw-Linkarea_Title {
  font-size: 18px;
  background: #F5F5F5;
  color: #464646;
  padding: 16px 0;
  text-align: center;
  font-weight: normal;
}

.sw-Linkarea_Btn {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 340px;
  height: 48px;
  padding: 16px;
  background-color: #fff;
  box-shadow: inset 0 0 0 1px #C8C8C8;
  color: #464646;
  font-size: 16px;
  font-weight: 700;
  border-radius: 1px;
  margin: 32px auto 0;
  position: relative;
  text-align: center;
  border-radius: 4px;
  transition: all 0.15s;
}

.sw-Linkarea_Btn:before {
  content: "";
  width: 20px;
  height: 20px;
  left: -8px;
  top: 0;
  background-image: url('/common/images/ic_arrow_left_01.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px auto;
  position: relative;
}

@media screen and (max-width: 768px) {
  .sw-Linkarea {
    width: calc(100% - 64px);
    margin: 0 auto;
    padding: 0 0 71px;
  }

  .sw-Linkarea_List {
    flex-wrap: nowrap;
  }

  .sw-Linkarea_ListItem {
    max-width: calc(100% / 2);
    justify-content: space-between;
  }

  .sw-Linkarea_ListItem + .sw-Linkarea_ListItem {
    margin-left: 8px;
  }

  .sw-Linkarea_Title {
    font-size: 16px;
    padding: 12px 0;
  }

  .sw-Linkarea_Btn {
    max-width: 100%;
    font-size: 14px;
    height: auto;
    margin: 40px auto 0;
  }

}

/* Important
----------------------------------------------------*/
.sw-Important {
  padding: 24px 0;
  background-color: #F5F5F5;
}

.sw-Important_Text + .sw-Important_Text {
  margin-top: 4px;
}

.sw-Important_Link {
  display: inline-block;
  padding-left: 24px;
  background-image: url('/common/images/ic_arrow_02.svg');
  background-repeat: no-repeat;
  background-position: top 5px left;
  color: #DC0000;
  font-size: 16px;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .sw-Important {
    padding: 16px 0;
  }

  .sw-Important_Text + .sw-Important_Text {
    margin-top: 2px;
  }

  .sw-Important_Link {
    padding-left: 20px;
    background-position: top 1px left;
    background-size: 12px 12px;
    font-size: 10px;
  }
}

/* Font Weight
----------------------------------------------------*/
.sw-FontBold {
  font-weight: 700;
}

/* Font Red
----------------------------------------------------*/
.sw-Red {
  color: #DC0000;
}

.sw-Blue {
  color: #016CAF;
}

/* Font Japanese
----------------------------------------------------*/
.sw-FontJa {
  font-family: "Noto Sans JP", sans-serif;
}

/* Update
----------------------------------------------------*/
.sw-Update {
  padding: 24px 0 56px;
  background-color: #F0F0F0;
  border-top: 1px solid #C8C8C8;
}

.sw-Update_Heading {
  display: flex;
  align-items: center;
  color: #000;
}

.sw-Update_Heading h2 {
  font-size: 32px;
}

.sw-Update_HeadingLink {
  margin-left: 24px;
  padding: 1px 0 1px 24px;
  background-repeat: no-repeat;
  background-position: left top 3px;
  color: #464646;
  font-size: 16px;
}

.sw-Update_HeadingLink-list {
  background-image: url('/common/images/ic_arrow_04.svg');
}

.sw-Update_HeadingLink-important {
  background-image: url('/common/images/ic_arrow_05.svg');
}

.sw-Update_Cols {
  display: flex;
  height: 353px;
  margin-top: 24px;
}

.sw-Update_News {
  flex: 1;
  background-color: #fff;
  overflow-y: auto;
}

.sw-Update_News::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.sw-Update_News::-webkit-scrollbar-track {
  border-radius: 0;
  border: none;
  box-shadow: none;
}
.sw-Update_News::-webkit-scrollbar-thumb {
  border-radius: 0;
  background-color: #C8C8C8;
}

.sw-Update_News dl {
  display: flex;
  padding: 18px 16px;
}

.sw-Update_News dl:not(:first-of-type) {
  border: 1px solid #F0F0F0;
}

.sw-Update_News dt {
  display: flex;
}

.sw-Update_NewsDay {
  font-size: 16px;
  color: #464646;
}

.sw-Update_NewsLabel {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 22px;
  margin-left: 16px;
  color: #fff;
  font-size: 12px;
}

.sw-Update_NewsLabel-product {
  background-color: #0046A4;
}

.sw-Update_NewsLabel-news {
  background-color: #464646;
}

.sw-Update_NewsLabel-event {
  background-color: #4D6E9B;
}

.sw-Update_NewsLabel-campaign {
  background-color: #E3A311;
}

.sw-Update_NewsLabel-media {
  background-color: #65AC12;
}

.sw-Update_News dd {
  margin-left: 16px;
  font-size: 16px;
  color: #464646;
}

.sw-Update_News dd a {
  font-weight: 600;
}

.sw-Update_Twitter {
  width: 261px;
  padding: 32px 24px;
  background-color: #fff;
  margin-left: 24px;
}

.sw-Update_TwitterHeading {
  font-size: 32px;
}

.sw-Update_TwitterBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 175px;
  height: 48px;
  margin-top: 32px;
  padding-left: 40px;
  background-color: #1DA1F2;
  background-image: url('/common/images/ic_twitter_01.svg');
  background-repeat: no-repeat;
  background-size: 24px auto;
  background-position: top 13px left 13px;
  border: 0;
  color: #fff;
  font-size: 18px;
  border-radius: 4px;
  transition: all .15s;
}
.sw-Update_TwitterBtn:hover {
  background-color: #fff;
  box-shadow: inset 0 0 0 2px #1DA1F2;
  color: #1DA1F2;
  background-image: url('/common/images/ic_twitter_02.svg');
  cursor: pointer;
}

.sw-Update_TwitterLink {
  display: inline-block;
  padding-left: 24px;
  background-image: url('/common/images/ic_arrow_01.svg');
  background-repeat: no-repeat;
  background-position: left top 3px;
  color: #464646;
  font-size: 16px;
  transition: all 0.15s;
}

.sw-Update_TwitterLink:hover {
  color: #000;
  background-image: url('/common/images/ic_arrow_10.svg');
}

.sw-Update_SNSContentsWrapper {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 32px;
}

.sw-Update_SNSBtnWrapper {
  display: flex;
  gap: 16px;
  width: 100%;
}

.sw-Update_SNSBtnWrapper > a {
  background-image: none;
  padding: initial;
}

.sw-Update-SNSLink {
  display: block;
  width: 48px;
  height: 48px;
}

.sw-Update-SNSLink:hover {
  filter: brightness(0.8);
}


@media screen and (max-width: 768px) {
  .sw-Update {
    padding: 16px 0 32px;
  }

  .sw-Update_Heading h2 {
    font-size: 24px;
  }

  .sw-Update_HeadingLink {
    background-position: left top 1px;
    background-size: 16px auto;
    font-size: 12px;
  }

  .sw-Update_Cols {
    display: block;
    height: auto;
    margin-top: 16px;
  }

  .sw-Update_News dl {
    align-items: center;
    padding: 8px;
    display: block;
  }

  .sw-Update_NewsDay {
    font-size: 10px;
  }

  .sw-Update_NewsLabel {
    width: 50px;
    height: 17px;
    font-size: 10px;
  }

  .sw-Update_News dt {
    margin-bottom: 8px;
  }

  .sw-Update_News dd {
    margin-left: 0;
    font-size: 12px;
  }

  .sw-Update_Twitter {
    position: relative;
    width: 100%;
    padding: 16px;
    margin-top: 16px;
    margin-left: 0;
  }

  .sw-Update_TwitterHeading {
    order: 0;
    font-size: 18px;
  }

  .sw-Update_TwitterHeading br {
    display: none;
  }

  .sw-Update_TwitterBtn {
    order: 2;
    width: 100%;
    height: 40px;
    margin-top: 16px;
    padding-left: 0;
    background-size: 22px auto;
    background-position: top 13px left calc(50% - 60px);
    background-size: 15px auto;
    font-size: 14px;
  }

  .sw-Update_TwitterLink {
    display: block;
    width: fit-content;
    padding-left: 24px;
    margin-top: 0;
    background-position: left top 1px;
    background-size: 16px auto;
    font-size: 12px;
    font-weight: 600;
    bottom: 16px;
    right: 16px;
  }

  .sw-Update_SNSContentsWrapper {
    flex-direction: row;
    gap: 32px;
  }
  .sw-Update_SNSBtnWrapper {
    flex-shrink: 1;
  }
  .sw-Update_SNSContentsWrapper > span {
    flex-shrink: 0;
  }
 }


/* Info
----------------------------------------------------*/
.sw-Info {
  padding: 24px 0 48px;
  border-top: 1px solid #C8C8C8;
}

.sw-Info_Heading {
  display: flex;
  align-items: center;
  color: #000;
}

.sw-Info_Heading h2 {
  font-size: 32px;
}

.sw-Info_Heading h2 + h2 {
  font-size: 16px;
}

.sw-Info_HeadingLink {
  margin-left: 24px;
  padding-left: 24px;
  background-repeat: no-repeat;
  background-position: left 50%;
  color: #464646;
  font-size: 16px;
  transition: all 0.15s;
}

.sw-Info_HeadingLink:hover {
  color: #000;
}

.sw-Info_HeadingLink-list {
  background-image: url('/common/images/ic_arrow_01.svg');
  transition: all 0.15s;
}

.sw-Info_HeadingLink:hover.sw-Info_HeadingLink-list {
  background-image: url('/common/images/ic_arrow_10.svg');
}

.sw-Info_List {
  display: flex;
  justify-content: space-between;
}

.sw-Info_List li {
  width: calc((100% - 72px) / 4);
  margin-top: 24px;
}

.sw-Info_List a {
  display: block;
  background-color: #F5F5F5;
  color: #464646;
  font-size: 18px;
  text-align: center;
  transition: all 0.15s;
}

.sw-Info_List a > img {
  transition: all 0.15s;
}

.sw-Info_List a:hover {
  background-color: #F0F0F0;
  color: #000;
}

.sw-Info_List a:hover img {
  opacity: 0.8;
}

.sw-Info_List h3 {
  display: block;
  padding: 16px;
}

.sw-Info_Cols {
  display: flex;
  justify-content: space-between;
}

.sw-Info_ColsItem {
  margin-top: 24px;
}

.sw-Info_ColsItem a {
  display: block;
  border: 1px solid #c8c8c8;
}

.sw-Info_ColsItem a + a {
  margin-top: 24px;
}

.sw-Info_ColsItem img {
  transition: all 0.15s;
}

.sw-Info_ColsItem img:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .sw-Info {
    padding: 16px 0 32px;
  }

  .sw-Info_Heading {
    flex-wrap: wrap;
  }

  .sw-Info_Heading h2 {
    width: 100%;
    font-size: 18px;
  }

  .sw-Info_HeadingLink {
    margin-top: 16px;
    margin-left: 0;
    padding: 1px 0 4px 24px;
    background-position: left top 1px;
    background-size: 16px auto;
    font-size: 12px;
  }

  .sw-Info_List {
    flex-wrap: wrap;
    margin-top: 8px;
  }

  .sw-Info_List li {
    width: calc((100% - 5px) / 2);
    margin-top: 8px;
  }

  .sw-Info_List a {
    font-size: 12px;
  }

  .sw-Info_List h3 {
    display: block;
    padding: 8px 10px;
  }

  .sw-Info_Cols {
    display: block;
  }

  .sw-Info_ColsItem {
    margin-top: 8px;
  }

  .sw-Info_ColsItem a {
    display: block;
  }

  .sw-Info_ColsItem a + a {
    margin-top: 8px;
  }
}

/* Attention
----------------------------------------------------*/
.sw-Attention {
  position: relative;
  margin: 60px auto 40px;
  padding: 16px;
  background: #464646;
  color: #ffffff;
}

.sw-Attention a {
  color: #464646;
}

.sw-Attention_img {
  position: absolute;
  top: -20px;
  left: 0px;
}

.sw-Attention_inner {
  display: flex;
  justify-content: space-between;
}

.sw-Attention_left,
.sw-Attention_right {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sw-Attention_left_p_wrapper .sw-Typography_Lead-type1 {
  margin-bottom: 15px;
  font-weight: 600;
}

.sw-Attention_left_p_wrapper {
  margin: 0 9px;
}

.sw-Attention_right_box:first-child {
  margin-right: 16px;
}

.sw-Attention_right_box .sw-Typography_Note-type1 {
  font-size: 12px;
}

.sw-Attention_right_box_img {
  margin-left: 16px;
  max-height: 62px;
}

.sw-Attention_right_box {
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 4px;
  padding: 22px;
  color: #464646;
  height: 100%;
}

.sw-Attention_right_box:last-of-type {
  max-width: 214px;
}

.sw-Attention_right_box:last-of-type img {
  margin-left: 0;
}

.sw-Attention_right_box:last-of-type .sw-Typography_Text-type1 {
  text-align: center;
}


@media screen and (min-width: 769px) and (max-width: 1115px) {

  .sw-Attention_inner {
    flex-direction: column;
    /* max-width: 343px; */
    margin: 0 auto;
  }

  .sw-Attention_left {
    margin-bottom: 15px;
  }

  .sw-Attention_right_box:last-of-type {
    max-width: 214px;
    padding: 27px;
  }

  .sw-Attention_left,
  .sw-Attention_right {
    align-items: center;
    justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .sw-Attention_img {
    top: -17px;
    width: 120px;
  }

  .sw-Attention_inner {
    flex-direction: column;
    max-width: 343px;
    margin: 0 auto;
  }

  .sw-Attention_left_img {
    width: 24px;
    margin-right: 10px;
    align-items: unset;
  }

  .sw-Attention_left_p_wrapper {
    margin: 0;
  }

  .sw-Attention_right_box:first-of-type {
    margin: 8px 0;
  }

  .sw-Attention_right_box:first-of-type .sw-Typography_Lead-type1 {
    margin-bottom: 16px;
  }

  .sw-Attention_right_box {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }

  .sw-Attention_right_box:last-of-type {
    max-width: 100%;
    text-align: center;
  }

  .sw-Attention_box .sw-Typography_Note-type1 {
    font-size: 10px;
  }

  .sw-Attention .sw-Typography_Text-type1 {
    font-size: 14px;
  }

  .sw-Attention_right {
    flex-direction: column;
  }
}

/* PDF Link
----------------------------------------------------*/
/* PDFリンクの時だけ target="_blank" 打ち消し */
.sw-PdfLink[target="_blank"] {
  background-image: none;
  padding-right: 0;
  transition: all 0.15s;
}
.sw-PdfLink[target="_blank"]:hover {
  opacity: 0.8;
}
