@charset "utf-8";
/* 共通 */
@media screen and (min-width: 768px) {
	.u-sp {
		display: none !important;
	}
}
@media screen and (max-width: 767px) {
	.u-pc {
		display: none !important;
	}
}
@media screen and (min-width: 768px) {
  #switch .contentMain {
    overflow: unset;
    min-width: 1240px;
  }
}

#switch .switch img {
  max-width: 100%;
  height: auto;
}
/* content */
.switchContent {
  max-width: 1240px;
  min-width: 1200px;
  margin: 0 auto;
  padding: 64px 20px 0;
}
@media screen and (max-width: 767px) {
  .switchContent {
    min-width: unset;
    padding: 60px 4.103% 0;
  }
}

.switchContent + .switchContent {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .switchContent + .switchContent {
    padding-top: 60px;
  }
}

.switchContentInner {
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .switchContentInner {
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .switchContentInnerNoPadding {
    padding: 0;
  }
}

.switchContentBg {
  background: #EDF6FF;
  padding: 64px 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .switchContentBg {
    width: 100%;
    margin-top: 27px;
    padding: 42px 4.103%;
  }
}
@media screen and (min-width: 768px) {
  .switchContentBg {
    margin: 56px 0 25px;
    min-width: 1240px;
  }
}

.switchContentBgInner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 56px 40px 40px;
  border-radius: 20px;
  background: #FFF;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .switchContentBgInner {
    min-width: unset;
    margin: 0 auto;
    padding: 42px 20px 30px;
  }
}

.switchContent +.switchContentLast {
  padding-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .switchContent +.switchContentLast {
    padding-top: 42px;
    padding-bottom: 60px;
  }
}

/* heading */
.switchHeadingArea {
  width: 1240px;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .switchHeadingArea {
    width: auto;
    padding: 0 2.564%;
  }
}

.switchHeading {
  font-size: 34px;
  padding-left: 14px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .switchHeading {
    font-size: 24px;
    padding-left: 0;
  }
}
.switchHeading a {
  color: #333;
}
.switchHeading a:hover {
  color: #333;
  text-decoration: none;
}
.switchHeading span {
  font-size: 24px;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .switchHeading span {
    display: block;
    font-size: 16px;
    padding-left: 0;
  }
}

.switchHeading02 {
  font-size: 34px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .switchHeading02 {
    font-size: 24px;
  }
}

.switchHeading02Line {
  color: #10218B;
  padding-top: 16px;
  position: relative;
}

.switchHeading02Line::before {
  display: block;
  content: '';
  width: 64px;
  height: 6px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #5ACDDD -0.01%, #74E9E6 12.715%, #D7FFC1 50%, #10218B 51%, #10218B 100%);
}

.switchHeading02White {
  color: #FFF;
}

.switchHeading05 {
  font-size: 34px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .switchHeading05 {
    font-size: 20px;
  }
}

.switchTextColor01 {
  color: #D71515;
}
.switchTextNoBr {
  white-space: nowrap
}

.switchTargetLink img {
  width: auto;
  margin: 0 4px;
  vertical-align: baseline;
}

/* KV */
.switchKvArea {
  width: 1240px;
  margin: 6px auto 0;
}
@media screen and (max-width: 767px) {
  .switchKvArea {
    width: 100%;
    margin: 52px auto 0;
    padding: 0 4.103%;
    box-sizing: border-box;
  }
}

.switchKv {
  padding: 0 14px;
  box-sizing: border-box;
  position: relative;
}
@media screen and (max-width: 767px) {
  .switchKv {
    padding: 0;
  }
}

.switchKvTextWrap {
  padding-top: 33px;
}
@media screen and (max-width: 767px) {
  .switchKvTextWrap {
    padding-top: 0;
    text-align: center;
  }
}

.switchKvTextData {
  display: inline-block;
  color: #10218B;
  font-size: 32px;
  font-weight: bold;
  padding-bottom: 6px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .switchKvTextData {
    font-size: 28px;
  }
}

.switchKvTextData::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 8px;
  background: linear-gradient(90deg, #5DC2D0 -0.01%, #82CCCF 39.44%, #D3E7BA 86.15%);
  transform-origin: left top;
}
@media screen and (max-width: 767px) {
  .switchKvTextData::after {
    background: linear-gradient(90deg, #5DC2D0 -0.01%, #82CCCF 39.44%, #D3E7BA 86.15%);;
  }
}

.switchKvTextData span {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .switchKvTextData span {
    font-size: 22px;
  }
}

.switchKvHeading {
  font-size: 40px;
  font-weight: bold;
  margin-top: 21px;
}
@media screen and (max-width: 767px) {
  .switchKvHeading {
    font-size: 28px;
    margin-top: 24px;
  }
}

.switchKvLogoArea {
  display: flex;
  margin-top: 32px;
}

.switchKvLogoArea img:nth-of-type(2) {
  padding: 0 24px 0 8px;
}

.switchKvImage {
  width: 678px;
  height: 360px;
  position: absolute;
  top: 0;
  right: 14px;
}
@media screen and (max-width: 767px) {
  .switchKvImage {
    width: 100%;
    height: auto;
    margin-top: 40px;
    padding-top: 20px;
    position: relative;
    right: 0;
  }
}

.switchKvImage img {
  position: absolute;
}

.switchKvImagePlane {
  width: 280px;
  top: 80px;
  right: 150px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .switchKvImagePlane {
    width: 64px;
    top: 0;
    right: 50%;
    transform: translateX(50%);
  }
}

.switchKvImageNew {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .switchKvImage .switchKvImageNew {
    position: relative;
    width: 89.3%;
    margin: 0 auto;
    z-index: 1;
  }
}

.switchKvImageData {
  width: 122px;
  bottom: 0;
  right: 63px;
}

.switchKvText01 {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .switchKvText01 {
    margin-top: 42px;
  }
}

.switchKvLeadArea {
  max-width: 1280px;
  margin: 80px auto 0;
  padding: 0 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .switchKvLeadArea {
    margin-top: -20px;
    padding: 0 4.103%;
    position: relative;
    z-index: 2;
  }
}

/* alerts */
.switchAlerts {
  font-size: 16px;
  line-height: 1.5;
  padding: 16px 16px 16px 64px;
  border: 1px solid #D71515;
  border-radius: 5px;
  background: #FFF3F3;
  position: relative;
}
@media screen and (max-width: 767px) {
  .switchAlerts {
    padding: 11px 16px 11px 56px;
  }
}

.switchAlerts::after {
  content: '';
  width: 32px;
  height: 32px;
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  background: url(/products/ac/switch/images/alerts.svg) center / 100% 100% no-repeat;
}
@media screen and (max-width: 767px) {
  .switchAlerts::after {
    width: 24px;
    height: 24px;
  }
}

.switchAlertsNoBg {
  font-size: 14px;
  margin-top: 8px;
  padding: 12px 16px 12px 40px;
  border: none;
  border-radius: 5px;
  background: #FFF;
}
.switchAlertsNoBg::after {
  width: 24px;
  height: 24px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .switchAlertsNoBg::after {
    width: 24px;
    height: 24px;
    top: 12px;
    transform: translateY(0);
  }
}

/* tableYear */
.switchTableYear {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .switchTableYear {
    margin-top: 16px;
  }
}

.switchTableYearHead,
.switchTableYearBodyInner,
.switchTableYearRight {
  display: flex;
}

.switchTableYearHeadItem,
.switchTableYearLeftItem,
.switchTableYearRightItem {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  height: 100%;
  margin-right: 4px;
  text-align: center;
  box-sizing: border-box;
}

.switchTableYearHeadItem,
.switchTableYearRightItem {
  width: 307px;
}
@media screen and (max-width: 767px) {
  .switchTableYearHeadItem,
  .switchTableYearRightItem {
    width: 144px;
    min-height: 44px;
  }
}

.switchTableYearHead .switchTableYearHeadItem:first-child,
.switchTableYearLeft {
  width: calc((100% - 933px));
}
@media screen and (max-width: 767px) {
  .switchTableYearHead .switchTableYearHeadItem:first-child,
  .switchTableYearLeft {
    width: 84px;
    z-index: 5;
    top: 0;
    left: 0;
    position: sticky;
  }

  .switchTableYearHead .switchTableYearHeadItem:last-child,
  .switchTableYearRight .switchTableYearRightItem:last-child {
    width: 40px;
  }
}

.switchTableYearLeft {
  margin-right: 4px;
}

.switchTableYearLeft .switchTableYearLeftItem {
  width: 100%;
  margin-right: 0;
}

.switchTableYearHead .switchTableYearHeadItem:last-child,
.switchTableYearRight .switchTableYearRightItem:last-child {
  margin-right: 0;
}

.switchTableYearHeadItem {
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .switchTableYearHeadItem {
    font-size: 16px;
  }
}

.switchTableYearHeadItem:not(:first-child) {
  background: #005AB4;
}
@media screen and (min-width: 768px) {
  .switchTableYearHead .switchTableYearHeadItem:first-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .switchTableYearHeadItem:not(:first-child) {
    background: #10218B;
  }
}

@media screen and (max-width: 767px) {
	.switchTableYearHeadItem:first-child {
    background: #EEE;
  }
}

.switchTableYearBodyInner {
  margin-top: 4px;
  position: relative;
}

.switchTableYearLeftItem {
  flex-direction: column;
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .switchTableYearLeftItem {
    font-size: 16px;
  }
}

.switchTableYearLeftItemSmall {
  font-size: 14px;
  font-weight: normal;
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .switchTableYearLeftItemSmall {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .switchTableYearLeftItemSmall span {
    display: none;
  }
}

.switchTableYearRightItem {
  position: relative;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px 0;
}
.switchTableYearRightItem:not(:last-child)::after {
  content: '';
  display: block;
  width: 4px;
  height: 100%;
  background: #FFF;
  position: absolute;
  top: 0;
  right: -4px;
}

.switchTableYearBodyInner.switchTableYearBodyInnerCurrent .switchTableYearLeftItem {
  background: #EEE;
}

.switchTableYearBodyInner.switchTableYearBodyInnerCurrent .switchTableYearRight {
  background: #F2F5F7;
}

.switchTableYearBodyInner.switchTableYearBodyInnerFrom .switchTableYearLeftItem {
  color: #FFF;
  background: #005AB4;
}

.switchTableYearBodyInner.switchTableYearBodyInnerFrom .switchTableYearRight {
  background: linear-gradient(90deg, #5ACDDD -0.01%, #74E9E6 50.86%, #D7FFC1 103.8%);
}

.switchTableYearButton {
  display: grid;
  place-content: center;
  width: 235px;
  height: 42px;
  font-size: 18px;
  font-weight: bold;
  border: 1px solid #005AB4;
  border-radius: 5px;
  background: #FFF;
  position: relative;
  box-sizing: border-box;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .switchTableYearButton {
    width: 124px;
    height: 41px;
    font-size: 14px;
    border-radius: 5px;
  }
}

.switchTableYearButtonPlus {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .switchTableYearButtonPlus {
    margin-bottom: 36px;
  }
}

.switchTableYearButtonPlus::before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  background: url(/products/ac/switch/images/plus-icon.svg) center / 100% 100% no-repeat;
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translate(-50%, 100%);
}
@media screen and (max-width: 767px) {
  .switchTableYearButtonPlus::before {
    bottom: -10px;
  }
}

.switchTableYearBodyInner.switchTableYearBodyInnerFrom .switchTableYearRightItem .switchTableYearButton {
  color: #005AB4;
}

.switchTableYearButtonLine::after {
  content: '';
  display: block;
  width: 80px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(100%, -50%);
  background: #005AB4;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .switchTableYearButtonLine::after {
    width: 26px;
  }
}

.switchTableYearButtonArrow::before {
  content: '';
  display: block;
  width: 20px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(100%, -50%);
  background: #005AB4;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .switchTableYearButtonArrow::before {
    width: 40px;
  }
}

.switchTableYearButtonArrow::after {
  content: '';
  display: block;
  width:0;
  height:0;
  border-style:solid;
  border-width: 15px 0 15px 15px;
  border-color: transparent transparent transparent #005AB4;
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translate(100%, -50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .switchTableYearButtonArrow::after {
    right: -33px;
  }
}

/* tableScroll */
.switchTableScroll01SpHead {
  display: flex;
  width: 100%;
  position: relative;
}
.switchTableScroll01SpHeadItem {
  width: 104px;
  position: sticky;
  top: 0;
  left: 0;
  background: #FFF;
}

.switchTableScroll01SpHead img {
  width: 958px;
}

.switchTableScroll01SpBody {
  display: flex;
  position: relative;
  margin-top: 14px;
}

.switchTableScroll01SpLeft img,
.switchTableScroll01SpRight img {
  width: 100%;
}

.switchTableScroll01SpLeft {
  width: 104px;
  position: sticky;
  top: 0;
  left: 0;
}

.switchTableScroll01SpRight {
  width: 958px;
}

.switchTableScroll02SpBody {
  height: 139.487vw;
  overflow-y: scroll;
  border-bottom: 1px solid #E2E2E2;
}

/* case */
.switchCaseBoxWrap {
  margin-top: 31px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .switchCaseBoxWrap {
    margin-top: 25px;
  }
}

.switchCaseBoxWrap::before {
  content: '';
  display: block;
  width: 95px;
  height: 95px;
  position: absolute;
  top: -7px;
  left: -7px;
}

.switchCaseBoxWrap + .switchCaseBoxWrap {
  margin-top: 31px;
}

.switchCaseBoxWrap01::before {
  background: url(/products/ac/switch/images/label-case01.svg) center / 100% 100% no-repeat;
}
.switchCaseBoxWrap02::before {
  background: url(/products/ac/switch/images/label-case02.svg) center / 100% 100% no-repeat;
}
.switchCaseBoxWrap03::before {
  background: url(/products/ac/switch/images/label-case03.svg) center / 100% 100% no-repeat;
}

.switchCaseBox {
  padding: 16px 60px;
  border: 4px solid #524BCF;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .switchCaseBox {
    padding: 20px 16px;
  }
}

.switchCaseHeading {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.switchCaseImage {
  margin-top: 16px;
  text-align: center;
}

.switchCaseImage img {
  width: auto;
}

.switchCaseNoteWrap {
	max-width: 675px;
	margin: 24px auto 0;
	padding: 0 16px;
}

/* anchor */
@media screen and (min-width: 768px) {
  .switchAnchorWrap {
    width: 100%;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 10;
  }
}
.switchAnchor {
  width: 1240px;
  margin: 0 auto;
  padding-top: 10px;
  border-radius: 0 0 10px 10px;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .switchAnchor {
    width: 100vw;
    padding-top: 0;
    border-radius: 0;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    transition: all 0.5s;
    position: fixed;
    z-index: 10;
  }
}

.switchAnchor.isFixed {
  position: fixed;
  margin-top: 0;
  top: 0;
  left: 0;
  transform: translateY(0);
}

.switchAnchorMenu {
  background: #F2F5F7;
}

@media screen and (min-width: 768px) {
  .switchAnchorMenu {
    display: flex;
    overflow: hidden;
    border-radius: 10px;
  }
}

.switchAnchorMenuText {
  display: grid;
  place-content: center;
  width: 96px;
  height: 72px;
  color: #005AB4;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  border-top: none;
  border-bottom: none;
  border-left: none;
  border-right: 1px solid #E2E2E2;
  background: #F2F5F7;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .switchAnchorMenuText {
    width: 80px;
    height: 52px;
    font-size: 14px;
    border-right: none;
    border-left: 1px solid #E2E2E2;
  }
  .switchAnchorMenuText.isOpen {
    color: #FFF;
    background: #005AB4;
    border-left: none;
  }
}

.switchAnchorMenuHeader {
  justify-content: space-between;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .switchAnchorMenuHeader {
    display: flex;
  }
}

.switchAnchorMenuHeaderText {
  font-size: 16px;
  font-weight: bold;
  padding-left: 16px;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .switchAnchorMenuHeaderText {
    display: none;
  }
}

.switchAnchorMenuWrap {
  width: calc(100% - 96px);
  display: flex;
  justify-content: space-between;
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .switchAnchorMenuWrap {
    display: none;
    width: 100%;
    padding-top: 8px;
    background: #005AB4;
  }
  .switchAnchorMenuWrap.isOpen {
    display: block;
  }
}

.switchAnchorMenuLink {
  display: flex;
  align-items: center;
  gap: 48px;
  padding-left: 48px;
}
@media screen and (max-width: 767px) {
  .switchAnchorMenuLink {
    display: block;
    padding-left: 0;
  }
}

.switchAnchorMenuLinkItem a {
  display: block;
  color: #333;
  font-size: 16px;
  font-weight: bold;
  padding: 0 24px 0 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .switchAnchorMenuLinkItem a {
    color: #FFF;
    font-weight: normal;
    padding: 13px 16px 12px;
  }
}

.switchAnchorMenuLinkItem a:hover {
  color: #005AB4;
}
@media screen and (max-width: 767px) {
  .switchAnchorMenuLinkItem a:hover {
    color: #FFF;
  }
}

@media screen and (min-width: 768px) {
  .switchAnchorMenuLinkItem a::after {
    content: '';
    display: block;
    width: 7px;
    height: 13px;
    position: absolute;
    top: 50%;
    right: 0;
    background: url(/products/ac/images/anchor_arrow02.svg) center / 100% 100% no-repeat;
    transform: translate(-50%, -50%) rotate(90deg);
  }
}

.switchAnchorMenuButtonWrap {
  padding: 13px 16px;
}
@media screen and (min-width: 768px) {
  .switchAnchorMenuButtonWrap {
    padding: 8px 8px 8px 0;
  }
}

.switchAnchorMenuButton:link,
.switchAnchorMenuButton:visited {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 236px;
  min-height: 56px;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
  padding: 0;
  box-sizing: border-box;
  background: #005AB4;
  border-radius: 8px;
  box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.25);
  transition: all .3s;
}
.switchAnchorMenuButton:link:hover,
.switchAnchorMenuButton:visited:hover {
  text-decoration: none;
  box-shadow: none;
  background: #003f73;
}
@media screen and (max-width: 767px) {
  .switchAnchorMenuButton:link,
  .switchAnchorMenuButton:visited {
    width: 100%;
    min-height: 38px;
    color: #005AB4;
    font-size: 16px;
    background: #FFF;
  }
  .switchAnchorMenuButton:link:hover,
  .switchAnchorMenuButton:visited:hover {
    opacity: 0.7;
    background: #FFF;
  }
}

.switchAnchorLinkList {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.switchAnchorLink {
  display: inline-block;
  color: #005AB4;
  font-size: 16px;
  padding-left: 32px;
  position: relative;
}

.switchAnchorLink::before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  background: url(/products/ac/switch/images/arrow-icon.svg) center / 100% 100% no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .switchTableYear {
    width: calc(572px + 4.103vw);
    padding-right: 4.103vw;
    box-sizing: border-box;
  }
}

.switchTableScroll01Sp {
  width: calc(1062px + 4.103vw);;
  padding-right: 4.103vw;
  box-sizing: border-box;
}

.switchScrollClickText {
  display: grid;
  gap: 8px;
  grid-template-columns: 24px auto;
  font-size: 16px;
}

/* tab */
.acTabSwitchWrap01 {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .acTabSwitchWrap01 {
    margin-top: 42px;
  }
}

.acTabSwitchWrap02 {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .acTabSwitchWrap02 {
    margin-top: 24px;
  }
}

.acTabSwitchContent01 {
  margin: 56px 0;
}
@media screen and (max-width: 767px) {
  .acTabSwitchContent01 {
    margin: 24px 0 42px;
  }
}

.acTabSwitchContent02 {
  margin: 60px 0 56px;
}
@media screen and (max-width: 767px) {
  .acTabSwitchContent02 {
    margin: 24px 0 42px;
  }
}

.acTabSwitchContentInner {
  width: 917px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .acTabSwitchContentInner {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .acTabSwitchContentInnerSmall {
    padding: 0 20px;
    box-sizing: border-box;
  }
}

.acSwitchTabWrap.acReverseTabWrap.acTabWrap {
	transform: scale(1, -1);
	padding-bottom: 2px;
}

.acSwitchTabWrap.acReverseTabWrap.acTabWrap::after {
	height: 2px;
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap.acTabWrap::after {
		height: 2px;
	}
}

.acSwitchTabWrap.acReverseTabWrap .acTab {
	max-width: 900px;
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTab {
		gap: 4px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTab {
		gap: 1.03vw;
	}
}


.acSwitchTabWrap .acTabItem .acTabLink {
	font-size: 24px;
	padding: 22px 24px;
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTabItem .acTabLink {
		min-height: 52px;
		font-size: 14px;
		padding: 5px 10px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTabItem .acTabLink {
		min-height: 13.37vw;
		font-size: 3.6vw;
		padding: 1.29vw 2.57vw;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTabItem .acTabLink span {
		text-align: center;
	}
}

.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink {
	min-height: 56px;
	font-size: 16px;
	padding: 16px;
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink {
		min-height: 52px;
		font-size: 14px;
		padding: 5px 10px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink {
		min-height: 13.37vw;
		font-size: 3.6vw;
		padding: 1.29vw 2.57vw;
	}
}

.acSwitchTabWrap .acTabItem .acTabLink.isActive {
	min-height: 90px;
	font-size: 24px;
	padding: 34px 16px 20px;
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTabItem .acTabLink.isActive {
		min-height: 52px;
		font-size: 14px;
		padding: 5px 10px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTabItem .acTabLink.isActive {
		min-height: 13.37vw;
		font-size: 3.6vw;
		padding: 1.29vw 2.57vw;
	}
}

.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive {
	min-height: 56px;
	font-size: 16px;
	padding: 16px;
	background: linear-gradient(to right,#5ACDDD, #74E9E6, #D7FFC1);
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive {
		min-height: 52px;
		font-size: 14px;
		padding: 5px 10px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive {
		min-height: 13.37vw;
		font-size: 3.6vw;
		padding: 1.29vw 2.57vw;
	}
}

.acSwitchTabWrap .acTabItem .acTabLink.isActive::before {
	bottom: -4px;
	height: 90px;
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTabItem .acTabLink.isActive::before {
		bottom: -2px;
		height: 52px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTabItem .acTabLink.isActive::before {
		height: 13.37vw;
	}
}

.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive::before {
	bottom: 0px;
	width: calc(100% - 4px);
	height: 54px;
	background: #F2F5F7;
	border-radius: 8px 8px 0 0;
	z-index: 2;
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive::before {
		height: 50px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive::before {
		height: 12.85vw;
	}
}

.acSwitchTabWrap .acTabItem .acTabLink.isActive::after {
	height: 90px;
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTabItem .acTabLink.isActive::after {
		height: 54px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTabItem .acTabLink.isActive::after {
		height: 13.88vw;
	}
}

.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive::after {
	top: 2px;
	left: 2px;
	width: calc(100% - 4px);
	height: 56px;
	background: #FFF;
	z-index: 1;
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive::after {
		height: 14.4vw;
	}
}

.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink span {
	transform: scale(1, -1);
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTabItem .acTabLink.isActive span::after {
		bottom: -5px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTabItem .acTabLink.isActive span::after {
		bottom: -1.29vw;
	}
}

.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive span::after {
	top: -16px;
	height: 3px;
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive span::after {
		top: -5px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive span::after {
		top: -1.29vw;
		height: 0.77vw;
	}
}



/* acTab3Col */
.acTab.acTab3Col {
	grid-template-columns: 1fr 1fr 1fr;
	max-width: 1160px;
}

.acSwitchTabWrap.acReverseTabWrap .acTab.acTab3Col {
	max-width: 1160px;
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTab3Col .acTabItem .acTabLink {
		min-height: 45px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTab3Col .acTabItem .acTabLink {
		min-height: 11.57vw;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTab3Col .acTabItem .acTabLink.isActive::before {
		height: 45px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTab3Col .acTabItem .acTabLink.isActive::before {
		height: 11.57vw;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTab3Col .acTabItem .acTabLink.isActive::after {
		height: 47px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTab3Col .acTabItem .acTabLink.isActive::after {
		height: 12.08vw;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap.acReverseTabWrap .acTab3Col .acTabItem .acTabLink.isActive {
		min-height: 45px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap.acReverseTabWrap .acTab3Col .acTabItem .acTabLink.isActive {
		min-height: 11.57vw;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap.acReverseTabWrap .acTab3Col .acTabItem .acTabLink.isActive::before {
		height: 43px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap.acReverseTabWrap .acTab3Col .acTabItem .acTabLink.isActive::before {
		height: 11.05vw;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTab3Col .acTabItem .acTabLink.isActive span::after {
		bottom: -12px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTab3Col .acTabItem .acTabLink.isActive span::after {
		bottom: -3.08vw;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap.acReverseTabWrap .acTab3Col .acTabItem .acTabLink.isActive span::after {
		top: -12px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap.acReverseTabWrap .acTab3Col .acTabItem .acTabLink.isActive span::after {
		top: -3.08vw;
	}
}

.acTabWrap.acTabWrap02:has(.acTabItem01 .isActive)::after {
	background: linear-gradient(to right, #D7FFC1 0.25%, #74E9E6 1.5%, #5ACDDD 3%, #D7FFC1 30%, #74E9E6, #5ACDDD);
}

@media screen and (max-width: 767px) {
	.acTabWrap.acTabWrap02:has(.acTabItem01 .isActive)::after {
		background: linear-gradient(to right, #D3E7BA 0.25%, #82CCCF 1.5%, #5DC2D0 3%, #D7FFC1 30%, #74E9E6, #5ACDDD);
	}
}

.acTabWrap.acTabWrap02:has(.acTabItem02 .isActive)::after {
	background: linear-gradient(to left, #5ACDDD 5%, #74E9E6 10%, #D7FFC1 35%, #5ACDDD 60%, #74E9E6, #D7FFC1);
}

@media screen and (max-width: 767px) {
	.acTabWrap.acTabWrap02:has(.acTabItem02 .isActive)::after {
		background: linear-gradient(to left, #5ACDDD 5%, #74E9E6 10%, #D7FFC1 35%, #5ACDDD 60%, #82CCCF, #D3E7BA);
	}
}

.acTabWrap.acTabWrap02:has(.acTabItem03 .isActive)::after {
	background: linear-gradient(to left, #5ACDDD 0.25%, #74E9E6 1.5%, #D7FFC1 3%, #5ACDDD 30%, #74E9E6, #D7FFC1);
}

@media screen and (max-width: 767px) {
	.acTabWrap.acTabWrap02:has(.acTabItem03 .isActive)::after {
		background: linear-gradient(to left, #5ACDDD 0.25%, #74E9E6 1.5%, #D7FFC1 3%, #5ACDDD 30%, #82CCCF, #D3E7BA);
	}
}



/* acTab4Col */
.acTab.acTab4Col {
	grid-template-columns: 1fr 1fr 1fr 1fr;
	max-width: 1160px;
}

.acSwitchTabWrap.acReverseTabWrap .acTab.acTab4Col {
	max-width: 1160px;
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTab4Col .acTabItem .acTabLink {
		padding: 5px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTab4Col .acTabItem .acTabLink {
		padding: 1.29vw;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive {
		padding: 5px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap.acReverseTabWrap .acTabItem .acTabLink.isActive {
		padding: 1.29vw;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap .acTab4Col .acTabItem.acTabItem03 .acTabLink.isActive span::after {
		bottom: -15px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap .acTab4Col .acTabItem.acTabItem03 .acTabLink.isActive span::after {
		bottom: -3.86vw;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchTabWrap.acReverseTabWrap .acTab4Col .acTabItem.acTabItem03 .acTabLink.isActive span::after {
		top: -15px;
	}
}

@media screen and (max-width: 389px) {
	.acSwitchTabWrap.acReverseTabWrap .acTab4Col .acTabItem.acTabItem03 .acTabLink.isActive span::after {
		top: -3.86vw;
	}
}

.acTabWrap.acTabWrap03:has(.acTabItem01 .isActive)::after {
	background: linear-gradient(to right, #D7FFC1 0.25%, #74E9E6 1%, #5ACDDD 2%, #D7FFC1 20%, #74E9E6, #5ACDDD);
}

@media screen and (max-width: 767px) {
	.acTabWrap.acTabWrap03:has(.acTabItem01 .isActive)::after {
		background: linear-gradient(to right, #D3E7BA 0.25%, #82CCCF 1%, #5ACDDD 2%, #D7FFC1 20%, #74E9E6, #5ACDDD);
	}
}

.acTabWrap.acTabWrap03:has(.acTabItem02 .isActive)::after {
	background: linear-gradient(to left, #5ACDDD 5%, #74E9E6 10%, #D7FFC1 50%, #5ACDDD 60%, #74E9E6, #D7FFC1);
}

@media screen and (max-width: 767px) {
	.acTabWrap.acTabWrap03:has(.acTabItem02 .isActive)::after {
		background: linear-gradient(to left, #5ACDDD 5%, #74E9E6 10%, #D7FFC1 50%, #5ACDDD 60%, #82CCCF, #D3E7BA);
	}
}

.acTabWrap.acTabWrap03:has(.acTabItem03 .isActive)::after {
	background: linear-gradient(to left, #5ACDDD 0.25%, #74E9E6 1.5%, #D7FFC1 30%, #5ACDDD 20%, #74E9E6, #D7FFC1);
}

@media screen and (max-width: 767px) {
	.acTabWrap.acTabWrap03:has(.acTabItem03 .isActive)::after {
		background: linear-gradient(to left, #5ACDDD 0.25%, #74E9E6 1.5%, #D7FFC1 30%, #5ACDDD 20%, #82CCCF, #D3E7BA);
	}
}

.acTabWrap.acTabWrap03:has(.acTabItem04 .isActive)::after {
	background: linear-gradient(to left, #5ACDDD 0.25%, #74E9E6 1.5%, #D7FFC1 3%, #5ACDDD 30%, #74E9E6, #D7FFC1);
}

@media screen and (max-width: 767px) {
	.acTabWrap.acTabWrap03:has(.acTabItem04 .isActive)::after {
		background: linear-gradient(to left, #5ACDDD 0.25%, #74E9E6 1.5%, #D7FFC1 3%, #5ACDDD 30%, #82CCCF, #D3E7BA);
	}
}

/* acSwitchBorderBox */
.acSwitchBorderBox {
	display: flex;
	align-items: center;
	padding: 7px 16px;
	border: 1px solid #E2E2E2;
	border-radius: 10px;
}

@media screen and (max-width: 767px) {
	.acSwitchBorderBox {
		padding: 8px 10px;
	}
}

.acSwitchBorderBoxLabel {
	padding: 4px 8px 2px;
	font-size: 14px;
	background: #EEEEEE;
	border-radius: 5px;
}

@media screen and (max-width: 767px) {
	.acSwitchBorderBoxLabel {
		min-width: 42px;
	}
}

.acSwitchBorderBoxIconGroup {
	display: flex;
	align-items: center;
	margin-left: 24px;
}

@media screen and (max-width: 767px) {
	.acSwitchBorderBoxIconGroup {
		margin-left: 16px;
	}
}

.acSwitchBorderBoxIconWrap img {
	max-width: 100%;
}

@media screen and (max-width: 767px) {
	.acSwitchBorderBoxIconWrap img {
		width: 104px;
		height: 32px;
	}
}

.acSwitchBorderBoxIconWrap:not(:first-of-type) {
	margin-left: 24px;
}

@media screen and (max-width: 767px) {
	.acSwitchBorderBoxIconWrap:not(:first-of-type) {
		margin-left: 16px;
	}
}



/* acSwitchLogoGroup */
.acSwitchLogoGroup {
	max-width: 818px;
	margin: 0 auto;
	display: flex;
}

@media screen and (max-width: 767px) {
	.acSwitchLogoGroup {
		flex-direction: column;
	}
}

.acSwitchLogoWrap {
	padding: 8px 0;
}

@media screen and (max-width: 767px) {
	.acSwitchLogoWrap {
		padding: 16px 0;
		text-align: center;
	}
}

.acSwitchLogoGroup4col .acSwitchLogoWrap img {
	max-width: 100% !important;
	width: auto !important;
	height: 48px !important;
}

@media screen and (max-width: 767px) {
	.acSwitchLogoGroup4col .acSwitchLogoWrap img {
		width: 205px !important;
		height: 32px !important;
	}
}

.acSwitchLogoWrap:not(:first-of-type) {
	margin-left: 48px;
}

@media screen and (max-width: 767px) {
	.acSwitchLogoWrap:not(:first-of-type) {
		margin-left: 0;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchLogoWrap:first-of-type {
		padding-top: 0;
	}
}

.acSwitchLogoWrap:not(:last-of-type) {
	padding-right: 48px;
	border-right: 1px dashed #333;
}

@media screen and (max-width: 767px) {
	.acSwitchLogoWrap:not(:last-of-type) {
		padding-right: 0;
		border-right: none;
		border-bottom: 1px dashed #333;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchLogoWrap:last-of-type {
		padding-bottom: 0;
	}
}

.acSwitchLogoGroup.acSwitchLogoGroup4col {
	max-width: 964px;
}

.acSwitchLogoGroup.acSwitchLogoGroup4col .acSwitchLogoWrapContainer {
	display: flex;
	padding-right: 32px;
	border-right: 1px dashed #333;
}

@media screen and (max-width: 767px) {
	.acSwitchLogoGroup.acSwitchLogoGroup4col .acSwitchLogoWrapContainer {
		justify-content: center;
		padding-right: 0;
		border-right: none;
	}
}

.acSwitchLogoGroup4col .acSwitchLogoWrap {
	padding: 16px 0;
}

@media screen and (max-width: 767px) {
	.acSwitchLogoGroup4col .acSwitchLogoWrap {
		padding: 0;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchLogoGroup4col .acSwitchLogoWrapContainer .acSwitchLogoWrap:not(:first-of-type) {
		margin-left: 22px;
	}
}

.acSwitchLogoGroup4col .acSwitchLogoWrap:not(:first-of-type) {
	margin-left: 32px;
}

@media screen and (max-width: 767px) {
	.acSwitchLogoGroup4col .acSwitchLogoWrap:not(:first-of-type) {
		margin-left: 0;
	}
}

.acSwitchLogoGroup4col .acSwitchLogoWrap:not(:last-of-type) {
	padding-right: 32px;
}

@media screen and (max-width: 767px) {
	.acSwitchLogoGroup4col .acSwitchLogoWrap:not(:last-of-type) {
		padding-right: 0;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchLogoGroup4col .acSwitchLogoWrap:not(:last-of-type) {
		border-bottom: none;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchLogoGroup4col .acSwitchLogoWrapContainer + .acSwitchLogoWrap {
		margin-top: 16px;
	}
}

@media screen and (max-width: 767px) {
	.acSwitchLogoGroup4col .acSwitchLogoWrapContainer + .acSwitchLogoWrap img {
		width: 202px;
		height: 32px;
	}
}

/* acSwitchInquiryArea */
.acSwitchBg02 {
	background: #005AB4;
}

.acSwitchInquiryArea {
	padding-bottom: 64px;
	color: #FFF;
}

@media screen and (max-width: 767px) {
	.acSwitchInquiryArea {
		padding-top: 48px;
		padding-bottom: 48px;
	}
}

.acSwitchInquiryWrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 32px;
}

@media screen and (max-width: 767px) {
	.acSwitchInquiryWrap {
		grid-template-columns: 1fr;
		margin-top: 24px;
	}
}

.acSwitchInquiryItem:first-of-type {
	padding-right: 40px;
	border-right: 1px dashed #FFF;
}

@media screen and (max-width: 767px) {
	.acSwitchInquiryItem:first-of-type {
		padding: 0 0 40px 0;
		border-right: none;
		border-bottom: 1px dashed #FFF;
	}
}

.acSwitchInquiryItem:not(:first-of-type) {
	margin-left: 40px;
}

@media screen and (max-width: 767px) {
	.acSwitchInquiryItem:not(:first-of-type) {
		margin: 40px 0 0 0;
	}
}

.acSwitchInquiryTitleWrap {
	display: grid;
  grid-template-columns: 60px auto;
	align-items: center;
}

.acSwitchInquiryTitleImageWrap {
	width: 60px;
	height: 60px;
}

.acSwitchInquiryTitle {
	margin-left: 16px;
	font-size: 20px;
}

.acSwitchInquiryTextWrap {
	margin-top: 16px;
}

.acSwitchInquiryText {
	font-size: 16px;
}

.acSwitchInquiryTelWrap {
	display: flex;
	align-items: center;
	margin-top: 8px;
}

@media screen and (max-width: 767px) {
	.acSwitchInquiryTelWrap {
		display: block;
	}
}

.acSwitchInquiryTelText {
	font-size: 16px;
	font-weight: bold;
}

.acSwitchInquiryTelNum {
	margin-left: 10px;
}

@media screen and (max-width: 767px) {
	.acSwitchInquiryTelNum {
		margin: 4px 0 0 0;
	}
}

.acSwitchInquiryTelNum a {
	color: #FFF;
	text-decoration: none;
	font-size: 32px;
	font-weight: bold;
	transition: all .3s;
}

.acSwitchInquiryTelNum a:hover {
	opacity: .7;
}

@media screen and (max-width: 767px) {
	.acSwitchInquiryTelNum a:hover {
		opacity: 1;
		cursor: auto;
	}
}

.acSwitchInquirySubTextWrap {
	margin-top: 8px;
}

.acSwitchInquirySubTextWrap p {
	font-size: 14px;
}

.acSwitchInquiryButtonWrap {
	margin-top: 16px;
}

.acSwitchInquiryButton {
	display: inline-block;
	padding: 6px 20px;
	color: #005AB4;
	font-size: 16px;
	font-weight: bold;
	background: #FFF;
	border-radius: 50px;
	transition: all .3s;
}

.acSwitchInquiryButton:hover {
	color: #005AB4;
	text-decoration: none;
	opacity: .7;
}

@media screen and (max-width: 767px) {
	.acSwitchInquiryButton:hover {
		opacity: 1;
		cursor: auto;
	}
}


/* よくあるご質問 エリア */
@media screen and (max-width: 767px) {
	.acAccordionInner {
		padding: 0;
	}
}