@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/*--------------------------------------------
フォント
--------------------------------------------*/
@font-face {
    font-family: "Noto Sans JP";
    src: url('./fonts/NotoSansJP-VariableFont_wght.woff2') format('woff2');
}

@font-face {
    font-family: "Barlow";
    src: url('./fonts/Barlow-Black.woff2') format('woff2');
    font-weight: 900;
}


/*--------------------------------------------
ブレイクポイントでの表示・非表示
--------------------------------------------*/
@media (width < 769px) {
    .u-sp-none {
      display: none !important;
    }
}
@media (769px <= width) {
    .u-pc-none {
        display: none !important;
    }
}

.p-mainVisual__slideTitle {
    font-size: 30px;
    font-family: "AB-don", sans-serif;
}


/*--------------------------------------------
セクション
--------------------------------------------*/
.l-section {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 32px 16px 64px 16px;
  }
  @media (min-width: 769px) {
    .l-section {
      gap: 40px;
      padding: 40px 16px 80px 16px;
    }
  }
  .l-section.--white {
    background-color: #FFFFFF;
  }
  .l-section.--blue {
    background-color: #ECF0F8;
  }
  @media (min-width: 769px) {
    .l-section.--after-closing {
      margin-top: -40px;
      padding-top: 80px;
    }
  }
  @media (min-width: 769px) {
    .l-section.--after-closing2 {
      margin-top: -128px;
      padding-top: 168px;
    }
  }
  .l-section__inner {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
  }
  .l-section__inner.--md {
    max-width: 880px;
  }
  .l-section__lead {
    font-weight: 700;
    font-size: 16px;
  }
  @media (min-width: 769px) {
    .l-section__lead {
      font-size: 18px;
    }
  }


/*--------------------------------------------
ヘッダー
--------------------------------------------*/
.l-header2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: #1B2B48;

  width: 100%;
  height: 56px;
  background-color: #1360EA;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 100;
}

.l-header2 .u-sp-none {
  display: none !important;
}
.l-header2 .u-pc-none {
  display: inherit !important;
}
@media (min-width: 1024px) {
  .l-header2 {
    height: 96px;
    padding-left: 24px;
  }
  .l-header2 .u-sp-none {
    display: none !important;
  }
  .l-header2 .u-pc-none {
    display: none !important;
  }
}
.l-header2.is-scroll {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.l-header2__hamburger {
  width: 56px;
  height: 100%;
  background-color: #01B0FF;
  position: relative;
}
.l-header2__hamburger::before, .l-header2__hamburger::after {
  content: "";
}
.l-header2__hamburger i, .l-header2__hamburger::before, .l-header2__hamburger::after {
  width: 24px;
  height: 2px;
  background-color: #FFFFFF;
  position: absolute;
  left: calc(50% - 12px);
  transition: all 0.4s ease;
}
.l-header2__hamburger::before {
  top: calc(50% - 8px);
}
.l-header2__hamburger i {
  top: calc(50% - 1px);
}
.l-header2__hamburger::after {
  top: calc(50% + 6px);
}
.l-header2__hamburger.is-active {
  background-color: #FFFFFF;
}
.l-header2__hamburger.is-active i, .l-header2__hamburger.is-active::before, .l-header2__hamburger.is-active::after {
  background-color: #01B0FF;
}
.l-header2__hamburger.is-active::before {
  top: calc(50% - 1px);
  transform: rotate(45deg);
}
.l-header2__hamburger.is-active i {
  opacity: 0;
}
.l-header2__hamburger.is-active::after {
  top: calc(50% - 1px);
  transform: rotate(-45deg);
}

.l-header2__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-left: 8px;
  margin-right: auto;
}
.l-header2__logo a {
  height: 32px;
}
.l-header2__logo img {
  height: 100%;
}
.l-header2__logo h1 {
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
}
@media (min-width: 1024px) {
  .l-header2__logo {
    margin-left: 0;
    margin-right: 0;
  }
  .l-header2__logo a {
    height: 44px;
  }
}

.l-header2__menu {
  width: 100%;
  height: calc(100% - 56px);
  background-color: #1360EA;
  padding: 16px;
  position: fixed;
  top: 56px;
  left: 0;
  overflow-y: auto;
  transition: all 0.4s ease;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
}
@media (min-width: 1024px) {
  .l-header2__menu {
    width: unset;
    height: 100%;
    background-color: unset;
    padding: unset;
    position: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow-y: unset;
    transition: unset;
    opacity: unset;
    pointer-events: unset;
    transform: unset;
  }
}
.l-header2__menu.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.l-header2__main {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 1024px) {
  .l-header2__main {
    display: unset;
    height: 100%;
    padding-right: 8px;
  }
}

.l-header2__logins {
  height: 56px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 16px;
}
.l-header2__logins a {
  width: calc((100% - 16px) / 2);
  height: 100%;
  border-radius: 4px;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  background-color: #01B0FF;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.l-header2__logins img {
  width: 24px;
  height: 24px;
}
@media (min-width: 1024px) {
  .l-header2__logins {
    height: 48px;
    gap: 4px;
  }
  .l-header2__logins a {
    width: 144px;
    height: 40px;
    font-size: 14px;
  }
  .l-header2__logins img {
    width: 16px;
    height: 16px;
  }
}

.l-header2__list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.l-header2__list a::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 2px;
  border-top: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
  transform: rotate(45deg);
  flex-shrink: 0;
  margin-left: auto;
}
@media (min-width: 1024px) {
  .l-header2__list {
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-content: flex-end;
    flex-direction: row;
    gap: unset;
  }
  .l-header2__list a {
    background-color: unset;
    font-size:  clamp(0.766rem, 0.515rem + 0.394vw, 0.984rem);
		color: #FFFFFF;
    font-weight: 700;
    padding: 12px 16px;
    border-radius: 4px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
		transition: all .3s ease;
  }
	.l-header2__list a:hover {
		opacity: .6;
		transition: all .3s ease;
	}
  .l-header2__list a::after {
    display: none;
  }
}

.l-header2__sub {
  height: 56px;
  border-radius: 4px;
  background-color: #FFFFFF;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 24px;
}
.l-header2__sub p {
  color: #1360EA;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
}
.l-header2__sub img {
  width: 16px;
  height: 16px;
}
@media (min-width: 1024px) {
  .l-header2__sub {
    height: 100%;
    border-radius: unset;
    margin-top: unset;
  }
  .l-header2__sub p span {
    font-size: 14px;
    display: block;
  }
}

.l-header2__sp-btn {
  width: 80px;
  height: 40px;
  font-weight: 700;
  font-size: 12px;
  color: #1360EA;
  background-color: #FFFFFF;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
}
.l-header__pc-hamburger {
  width: 56px;
  height: 100%;
  background-color: #01B0FF;
  position: relative;
  display: none;
  cursor: pointer;
  transition:all .3s;
}
.l-header__pc-hamburger:hover {
  opacity: .5;
  transition:all .3s;
}
@media (min-width: 1024px) {
  .l-header__pc-hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.l-header__pc-hamburger::before, .l-header__pc-hamburger::after {
  content: "";
}
.l-header__pc-hamburger i, .l-header__pc-hamburger::before, .l-header__pc-hamburger::after {
  width: 24px;
  height: 2px;
  background-color: #FFFFFF;
  position: absolute;
  left: calc(50% - 12px);
  transition: all 0.4s ease;
}
.l-header__pc-hamburger::before {
  top: calc(50% - 8px);
}
.l-header__pc-hamburger i {
  top: calc(50% - 1px);
}
.l-header__pc-hamburger::after {
  top: calc(50% + 6px);
}
.l-header__pc-hamburger.is-active {
  background-color: #FFFFFF;
}
.l-header__pc-hamburger.is-active i, .l-header__pc-hamburger.is-active::before, .l-header__pc-hamburger.is-active::after {
  background-color: #01B0FF;
}
.l-header__pc-hamburger.is-active::before {
  top: calc(50% - 1px);
  transform: rotate(45deg);
}
.l-header__pc-hamburger.is-active i {
  opacity: 0;
}
.l-header__pc-hamburger.is-active::after {
  top: calc(50% - 1px);
  transform: rotate(-45deg);
}
/* PCハンバーガーメニュー */
.l-header__pc-menu {
  position: fixed;
  top: 96px;
  right: 0;
  width: 350px;
  height: calc(100vh - 96px);
  background-color: #1360ea;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.5s ease;
  z-index: 99;
  overflow-y: auto;
  display: none;
  transform: translateX(100%);
}
@media (min-width: 1024px) {
  .l-header__pc-menu {
    display: block;
    padding: 24px;
  }
}
.l-header__pc-menu.is-active {
  transform: translateX(0);
}
.l-header__pc-menu-contact {
	display: flex;
	justify-content: center;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 24px;
}
.l-header__pc-menu-contact a {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	gap:0;
	column-gap: 8px;
	padding: 8px;
	border-radius: 4px;
	box-shadow: 0 0px 7px rgba(27, 43, 72, 0.1);
	background-color:#ffffff;
	color: #1360ea;
	font-weight: bold;
	font-family: "Barlow", "Noto Sans JP", sans-serif;
    transition: all .3s ease;
}
.l-header__pc-menu-contact a p {
	font-size: 20px;
}
.l-header__pc-menu-contact a p.--l {
	font-size: 34px;
}
.l-header__pc-menu-contact a p.--m {
	font-size: 28px;
}
.l-header__pc-menu-contact a img {
	width: 48px;
}
.l-header__pc-menu-contact a small {
	font-size: 12px;
	width: 100%;
	text-align: center;
	color:#1b2b48;
}
.l-header__pc-menu-contact a.--support {
    background-color: #00C7C0;
    color: #FFFFFF;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 0px 7px rgba(27, 43, 72, 0.1);
    height: 48px;
    font-size: 18px;
}
.l-header__pc-menu-contact a:hover {
    opacity: 0.6;
    transition: all .3s ease;
}
.l-header__pc-menu-block {
  margin-bottom: 0;
}
.l-header__menu-parent {
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	padding: 12px 16px;
	background-color: #01bbff;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	cursor: pointer;
	position: relative;
	transition: all .3s ease;
	border-bottom: 1px solid  #ffffff;
}
.l-header__menu-parent::after {
	display: block;
	content: "";
	width: 16px;
	height: 2px;
	background-color:  #ffffff;
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
}
.l-header__menu-parent::before {
	display: block;
	content: "";
	width: 2px;
	height: 16px;
	background-color:  #ffffff;
	position: absolute;
	top: 50%;
	right: 23px;
	transform: translateY(-50%) rotate(0deg);
	transition: all .3s ease;
}
.l-header__menu-parent.is-active::before {
	transform: translateY(-50%) rotate(90deg);
	transition: all .3s ease;
}
@media screen and (min-width:1024px) {
	.l-header__menu-parent:hover {
		opacity: .7;
		transition: all .3s ease;
	}
}
.l-header__menu-child {
	justify-content: center;
	flex-direction: column;
	background-color: #f8faff;
	max-height: 0;
	height: 0;
	opacity: 0;
	overflow: hidden;
	transition: all .3s;
}
.l-header__menu-child.is-active {
	max-height: 100%;
	height: fit-content;
	opacity: 1;
	overflow: auto;
	display: flex;
	transition: all .3s;
}
.l-header__menu-child a {
	padding:12px 16px;
	font-size: 14px;
	color: #1360ea;
	border-bottom: 1px solid #d0e0ff;
	font-weight: 700;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.l-header__menu-child.--pc-none a {
    background-color: #ffffff;
}
.l-header__menu-child a::after {
	display: block;
	position: relative;
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #1360ea;
	border-right: solid 2px #1360ea;
	transform: rotate(45deg);
}
.l-header__menu-child a:last-child {
	border-bottom: none;
}
.l-header__menu-child.--sp {
	background-color: #ffffff;
}
.l-header__pc-menu-block:first-child .l-header__menu-parent,
.l-header2__list li:first-child .l-header__menu-parent {
	border-radius: 4px 4px 0 0;
}
.l-header__pc-menu-block:last-child .l-header__menu-parent,
.l-header2__list li:last-child .l-header__menu-parent {
	border-radius: 0 0 4px 4px;
	border-bottom: none;
}
.l-header__pc-menu-block:last-child .l-header__menu-parent.is-active,
.l-header2__list li:last-child .l-header__menu-parent.is-active {
	border-radius: 0;
}
/* .l-header__pc-menu-item:last-child {
  margin-bottom: 0;
}
.l-header__pc-menu-item a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #1360EA;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease;
  padding: 4px 0px 4px 20px;
  border-radius: 4px;
  box-sizing: border-box;
}
.l-header__pc-menu-item a::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-left: 2px;
  border-top: 1px solid #1360EA;
  border-right: 1px solid #1360EA;
  transform: rotate(45deg);
  margin-right: 10px;
  transition: transform 0.3s ease;
}
.l-header__pc-menu-item a:hover {
  background-color: #D7E5FE;
}
.l-header__pc-menu-item a:hover::before {
  transform: translateX(2px) rotate(45deg);
}
.l-header__pc-menu-item:last-child {
  margin-bottom: 32px;
} */
.l-header__logo--index {
  height: 100%;
  display: flex;
  justify-content: flex-start;
  gap: 5px;
  align-items: center;
}
.l-header__logo--index img {
  max-width: 110px;
}
.l-header__logo-text {
  font-size: clamp(0.5rem, 0.409rem + 0.39vw, 0.875rem);
}
.l-header2__logo:has(.l-header__logo--index) {
  margin-left: 6px;
}
@media (min-width: 1024px) {
  .l-header__logo--index {
    height: 100%;
    gap: 16px;
  }
  .l-header__logo--index img {
    max-width: 100%;
  }
  .l-header__logo-text {
    font-size: clamp(0.625rem, 0.339rem + 0.45vw, 0.875rem);
  }
  .l-header__logo-text--pc-none {
    display: none;
  }
}
.l-header__list-contact-sp {
	display: flex;
}
.l-header2__list.--pc-none, .l-header__list-contact-sp {
	display: none;
}
@media screen and (max-width:1024px) {
    .l-header2__list {
        display: none;
    }
	.l-header2__list.--pc-none{
		display: block;
	}
	.l-header__list-contact-sp {
		display: flex;
		justify-content: center;
		flex-direction: column;
		gap: 8px;
	}
	.l-header__list-contact-sp a {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0;
        background-color: #FFFFFF;
        color: #1360EA;
        box-shadow: 0 0px 7px rgba(27, 43, 72, 0.1);
        padding: 8px;
        flex-wrap: wrap;
        column-gap: 8px;
        border-radius: 4px;
        font-weight: bold;
	}
	.l-header__list-contact-sp a img {
		width: 32px;
	}
	.l-header__list-contact-sp a small {
		font-size: 12px;
		width: 100%;
		text-align: center;
	}
    .l-header__list-contact-sp a p {
        font-family: "Barlow", "Noto Sans JP", sans-serif;
    }
	.l-header__list-contact-sp a p.--l {
		font-size: 24px;
	}
	.l-header__list-contact-sp a p.--s {
		font-size: 20px;
	}
	.l-header__list-contact-sp a p.--m {
		font-size: 24px;
	}
    .l-header__list-contact-sp a.--support {
        background-color: #00C7C0;
        color: #FFFFFF;
        width: 100%;
        box-sizing: border-box;
        box-shadow: 0 0px 7px rgba(27, 43, 72, 0.1);
        height: 48px;
        font-size: 18px;
    }
}

/*--------------------------------------------
フッター
--------------------------------------------*/
.l-footer2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #1B2B48;

  background-color: #1360EA;
}

.l-footer2__contact {
  padding-top: 32px;
  padding-bottom: 32px;
}
@media (min-width: 769px) {
  .l-footer2__contact {
    padding-top: 80px;
    padding-bottom: 0;
  }
}

.l-footer2__contact-title {
  color: #FFFFFF;
  text-align: center;
  margin-bottom: 32px;
  position: relative;
}
.l-footer2__contact-title::before {
  content: attr(data-attr);
  font-family: "Barlow", sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  opacity: 0.2;
  width: 100%;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  color: transparent;
  -webkit-text-stroke: 1px #FFFFFF;
  position: absolute;
  top: -16px;
  left: 0;
}
.l-footer2__contact-title > * {
  color: #FFFFFF;
  font-size: 32px;
  font-weight: 700;
  position: relative;
}
@media (min-width: 769px) {
  .l-footer2__contact-title {
    margin-bottom: 40px;
  }
  .l-footer2__contact-title::before {
    font-size: 160px;
    top: -60px;
  }
  .l-footer2__contact-title > * {
    font-size: 40px;
  }
}

.l-footer2__contact-list {
  margin: 0 16px;
}
.l-footer2__contact-list ul {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 769px) {
  .l-footer2__contact-list {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -120px !important;
  }
  .l-footer2__contact-list ul {
    flex-direction: row;
    gap: 8px;
  }
}

.l-footer2__contact-item {
  width: 100%;
  height: 240px;
  background-color: #FFFFFF;
  border-radius: 8px;
}
.l-footer2__contact-item a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.l-footer2__contact-item img {
  height: 80px;
}
.l-footer2__contact-item p {
  font-family: "Barlow", sans-serif;
  color: #1360EA;
  font-weight: 700;
}
.l-footer2__contact-item span {
  height: 42px;
  text-align: center;
  font-size: 14px;
}
.l-footer2__contact-item.--tel p {
  font-size: 42px;
}
.l-footer2__contact-item.--email p {
  font-size: 29px;
  font-weight: 900;
}
.l-footer2__contact-item.--world p {
  font-size: 40px;
}
@media (min-width: 769px) {
  .l-footer2__contact-item {
    width: calc((100% - 16px) / 3);
  }
}

@media (min-width: 769px) {
  .l-footer2__country {
    padding-top: 200px !important;
  }
}

.l-footer2__country-list {
  width: calc(100% + 32px);
  margin-left: -16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}
@media (min-width: 769px) {
  .l-footer2__country-list {
    gap: 16px;
    margin-top: 64px;
  }
}

.l-footer2__country-flow {
  width: 100%;
  overflow: hidden;
}
.l-footer2__country-flow li {
  width: 64px;
}
@media (min-width: 769px) {
  .l-footer2__country-flow li {
    width: 128px;
  }
}
.l-footer2__country-flow img {
  width: 100%;
  aspect-ratio: 128/86;
  object-fit: cover;
  border-radius: 6px;
}

.l-footer2__sns {
  border-bottom: 1px solid #87AEF5;
  padding-bottom: 40px;
  margin-bottom: 40px;
}

.l-footer2__sns-text {
  color: #FFFFFF;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
}
@media (min-width: 769px) {
  .l-footer2__sns-text {
    font-size: 16px;
  }
}

.l-footer2__sns-logo {
  width: fit-content;
  height: 128px;
  margin: 40px auto;
  display: block;
}
.l-footer2__sns-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.l-footer2__sns-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.l-footer2__sns-list img {
  width: 48px;
  height: 48px;
}
@media (min-width: 769px) {
  .l-footer2__sns-list img {
    width: 64px;
    height: 64px;
  }
}

.l-footer2__list {
  width: 100%;
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 769px) {
  .l-footer2__list {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: row;
    gap: 16px;
  }
}

.l-footer2__list-title {
  text-decoration: none;
  color: inherit;

  font-size: 16px;
  font-weight: 700;
  display: block;
  margin-bottom: 16px;
}
@media (min-width: 769px) {
  .l-footer2__list-title {
    margin-bottom: 24px;
  }
}

.l-footer2__list-children {
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.l-footer2__list-children a {
  color: #FFFFFF;
}
.l-footer2__list-children a::before {
  content: "- ";
}
.l-footer2__list-children p {
  color: #FFFFFF;
  margin-top: 24px;
}

.l-footer2__group {
  background-color: #8199C5;
  padding: 40px 16px;
}

.l-footer2__group-title {
  font-family: "Barlow", sans-serif;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
  margin-bottom: 24px;
}

.l-footer2__group-list {
  width: fit-content;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .l-footer2__group-list {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
  }
}
.l-footer2__group-list img {
  width: 198px;
  height: 96px;
  background-color: #FFFFFF;
}

.l-footer2__copyright {
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  background-color: #1B2B48;
  padding: 40px 16px;
}

.l-footer2__group-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  padding: 24px 16px;
  justify-items: center;
}
@media (min-width: 769px) {
  .l-footer2__group-list {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    padding: 40px 16px;
  }
}
.l-footer2__group-list .service {
  position: relative;
  width: 70vw;
}
@media (min-width: 769px) {
  .l-footer2__group-list .service {
    display: inline-block;
    width: auto;
  }
}
@media (min-width: 1024px) {
  .l-footer2__group-list .service {
    min-width: calc(260px + 3ch);
  }
}
.l-footer2__group-list .service::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 12px;
}
.l-footer2__group-list .trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 52px;
  padding: 14px 18px;
  background: #fff;
  color: #2b2f3a;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
@media (min-width: 769px) {
  .l-footer2__group-list .trigger {
    min-width: 260px;
    width: auto;
  }
}
@media (min-width: 1024px) {
  .l-footer2__group-list .trigger {
    min-width: calc(260px + 3ch);
  }
}
.l-footer2__group-list .trigger:hover {
  box-shadow: 0 0 0 3px rgba(47, 111, 237, 0.12), 0 4px 14px rgba(0, 0, 0, 0.08);
}
.l-footer2__group-list .caret {
  width: 12px !important;
  height: 12px !important;
  flex: 0 0 12px;
  display: inline-block;
  transition: transform 0.4s ease;
}
.l-footer2__group-list .caret path {
  stroke-width: 2;
  stroke-linecap: round;
}
.l-footer2__group-list .dropdown {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 8px);
  z-index: 50;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 12px 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  visibility: hidden;
  transition: max-height 0.45s ease, opacity 0.4s ease, transform 0.4s ease, visibility 0.4s;
}
@media (min-width: 1024px) {
  .l-footer2__group-list .dropdown {
    min-width: calc(260px + 3ch);
  }
}
.l-footer2__group-list .service.is-hover .dropdown,
.l-footer2__group-list .service.is-open .dropdown {
  max-height: 600px;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
  overflow: visible;
}
.l-footer2__group-list .service.is-hover .caret,
.l-footer2__group-list .service.is-open .caret {
  transform: rotate(180deg);
}
.l-footer2__group-list .dropdown dl {
  margin: 0;
  padding: 0 16px;
}
.l-footer2__group-list .dropdown dt {
  font-weight: 800;
  color: #2a2f3a;
  text-align: center;
  padding: 12px 0 6px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  margin: 0 0 6px;
  line-height: 1.4;
  word-break: keep-all;
}
.l-footer2__group-list .dropdown dd {
  margin: 0;
}
.l-footer2__group-list .dropdown a {
  display: block;
  padding: 10px 12px;
  color: #5a606f;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.6;
}
@media (min-width: 1024px) {
  .l-footer2__group-list .dropdown a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.5;
  }
}
.l-footer2__group-list .dropdown a:hover {
  color: #111111;
  background: rgba(47, 111, 237, 0.06);
  border-radius: 8px;
}

@media (prefers-reduced-motion: reduce) {
  .l-footer2__group-list .trigger,
  .l-footer2__group-list .dropdown,
  .l-footer2__group-list .caret {
    transition: none !important;
  }
}
/*--------------------------------------------
パンくず
--------------------------------------------*/
.c-breadcrumbs {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #1B2B48;  

    display: flex;
    justify-content: center;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    word-break: keep-all;
    padding: 8px 16px;
    background-color: #ECF0F8;
  }
  .c-breadcrumbs ol {
    display: flex;
    align-items: center;
    width: 100%;
  }
  @media (min-width: 769px) {
    .c-breadcrumbs ol {
      max-width: 1120px;
    }
  }
  .c-breadcrumbs ol li {
    font-size: 12px;
    font-weight: 700;
    color: #1360EA;
    margin-right: 8px;
  }
  .c-breadcrumbs ol li::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 2px;
    border-top: 1px solid #1B2B48;
    border-right: 1px solid #1B2B48;
    transform: rotate(45deg);
    flex-shrink: 0;
    margin-bottom: 1px;
  }
  .c-breadcrumbs ol li:last-child {
    color: #1B2B48;
  }
  .c-breadcrumbs ol li:last-child::after {
    content: none;
  }
  .c-breadcrumbs ol li:last-child a {
    pointer-events: none;
  }


/*--------------------------------------------
記事上料金バナー、記事下料金バナー、記事内バナー(s, m)
--------------------------------------------*/
/* contents_top_banner
--------------------------------------------- */
.contents_top_banner {
	margin-bottom: 8px;
	transition: 0.5s;
}
.contents_top_banner img {
	display: block;
}
.contents_top_banner:hover {
	transform: scale(1.015);
}
.contents_top_banner a, .contents_top_banner a:link, .contents_top_banner a:visited, .contents_top_banner a:hover, .contents_top_banner a:active {
	border-bottom: none;
}
/*Wi-Fiレンタルサイトリンク　記事前*/
.wifi_price_wrapper_top {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
.wifi_price_wrapper_top h2 {
	background-color: #27383d;	
}
.wifi_price_wrapper_top p, .wifi_price_wrapper_top h2 {
	margin: 0;
}
.wifi_price_top {
	display: flex;
	justify-content: space-between;
	background: #fff;
	margin-bottom: 20px;
	padding: 16px;
	padding-inline: 15px;
	gap:8px;
}
.wifi_price_top p {
	margin: 0;
}
.wifi_price_top a {
	border: none;
}
.wifi_price_top_tab  {
	width: 100%;
	max-width: 365px;
	background: #fff;
	border: 5px solid #ed218d;
	border-radius: 8px;
}
.wifi_price_top_tab a {
	text-decoration: none;
	color: #ed218d;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
	flex-wrap: wrap;
	text-align: center;
}
.wifi_price_top_tab a:hover {
	border: none;
}
.reserve_wifi {
	color: #fff;
	width: 100%;
	padding: 7px 0 3px;
	font-size: min(2.8vw,18px);
	line-height: revert;
	position: relative;
	transition: all 0.5s;
}
.reserve_wifi::before {
	content: "";
	background:  #ed218d;
	width: calc(100% + 1px);
	height: calc(100% + 1px);
	position: absolute;
	bottom: -1px;
	left: -1px;
	transition: all 0.5s;
}
.reserve_wifi p {
	z-index: 5;
	position: relative;
}
.wifi_price_top_tab a:hover  .reserve_wifi::before {
	height: 0%;
	transition: all 0.5s;
}
.wifi_price_top_tab a:hover .reserve_wifi {
	color: #ed218d;
	transition: all 0.5s;
}

/* 記事内インライン広告 */
.single a:has(.banner_s),
.single a:has(.banner_m){
	color: #ed218d;
	width: fit-content;
	display: block;
	margin: 1em auto;
	border-bottom: none;
}
.single .banner_s,
.single .banner_m,
.single .banner_m_3row{
	border: 2px solid #ed218d;
	width: fit-content;
	margin: 0 auto;
	border-radius: 5px;
}
.single .banner_link a, .single .banner_link a:hover {
	border-bottom: none;
}
/*　Sサイズ　5Gのない国*/
.single .banner_s {
	transition: 0.3s;
	padding: 0px;
	margin: 0 auto;
	text-align: center;
	width: fit-content;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-ser";
}
.single .banner_s p {
	transition: 0.3s;
	background: #ed218d;
	color: #FFF;
	padding: 2px 8px;
	font-size: 16px;
	margin-bottom: 0px;
	width: 100%;
	position: relative;
}
.single .banner_s p.title {
	line-height: 30px;
	height: 35px;
}
.single .banner_s p.title::before {
	content: "＼ ";
	display: inline-block;
	transform: scale(0.8, 0.8) rotate(15deg);
	margin-right: 4px;
}
.single .banner_s p.title::after {
	content: " ／";
	display: inline-block;
	transform: scale(0.8, 0.8) rotate(-15deg);
	margin-left: 4px;
}
.single .banner_s a::before, .single .banner_s a::after {
	content: "" !important;
}
.single .banner_s .price_wrap {
	display: grid;
	grid-template-columns: 1fr 1fr 110px;
	gap: 4px;
	padding: 8px;
	max-width: 520px;
	margin: 0 auto;
	justify-content: space-between;
}
.single .banner_s .price_wrap dl {
	display: flex;
	gap: 4px;
	justify-content: space-around;
	align-items: flex-end;
	width: 100%;
}
.single .banner_s .price_wrap dl:first-of-type::after {
	content: "";
	display: block;
	background: #ed218d;
	height: 1em;
	width: 2px;
}
.single .banner_s .price_wrap dt {
	color: #000;
}
.single .banner_s .price_wrap dt.unlimited {
	display: flex;
	flex-flow: column;
	justify-content: center;
}
.single .banner_s .price_wrap dt.unlimited span {
	font-size: 10px;
	display: inline-block;
	color: #ed218d;
}
.single .banner_s .price_wrap dd.price {
	font-size: 20px;
	font-weight: bold;
	color: #ed218d;
	display: contents;
}
.single .banner_s .price_wrap dd.price span.small {
	font-size: 12px;
}


/*
.single .banner_s.campaign .price{
	flex-wrap: wrap;
}
.single .banner_s.campaign .price .default_price{
	font-size: 10px;
	color: #000;
}
.single .banner_s.campaign .capa{
	width: 6em;
}
*/
.single .banner_s .cv_btn {
	text-align: center;
	line-height: 1em;
	font-size: 14px;
	background: #ed218d;
	padding: 4px 20px;
	border-radius: 100px;
	color: #FFF;
	width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.single .banner_s .cv_btn::after {
	content: "" !important;
	width: 5px;
	height: 5px;
	border-right: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
	display: block;
	position: absolute !important;
	top: 50%;
	left: auto !important;
	right: 12px;
	transform: translateY(-50%) rotate(-45deg);
}
.single .banner_link .banner_s:hover{
	background: #FFF266;
	transition: 0.3s;
}
.single .banner_link .banner_s .title {
	font-size: 16.5px;
	transition: 0.3s;
	font-weight: bold;
}
.single .banner_link .banner_s dd.price {
	color: #dc0000;
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap:2px;
}
/*　Sサイズ　5Gのある国　*/
.single .banner_s .price_wrap_3row {
	display: flex;
	/*display: grid;
	grid-template-columns: 1fr 1fr 1fr;*/
	gap: 8px 4px;
	padding: 0px 8px;
	max-width: 520px;
	margin: 8px auto 0 auto;
	justify-content: space-between;
	flex-wrap: wrap;
}
.single .banner_s .price_wrap_3row p {
	transition: 0.3s;
	background: #ed218d;
	color: #FFF;
	padding: 2px 8px;
	font-size: 16px;
	margin-bottom: 0px;
	width: 100%;
	position: relative;
}
.single .banner_s .price_wrap_3row p.title {
	line-height: 30px;
	height: 35px;
}
.single .banner_s .price_wrap_3row p.title::before {
	content: "＼ ";
	display: inline-block;
	transform: scale(0.8, 0.8) rotate(15deg);
	margin-right: 4px;
}
.single .banner_s .price_wrap_3row p.title::after {
	content: " ／";
	display: inline-block;
	transform: scale(0.8, 0.8) rotate(-15deg);
	margin-left: 4px;
}
.single .banner_s .price_wrap_3row a::before, .single .banner_s a::after {
	content: "" !important;
}
.single .banner_s .price_wrap_3row dl {
	display: flex;
	gap: 4px;
	justify-content: center;
	align-items: flex-end;
	position: relative;
}
.single .banner_s .price_wrap_3row dl:nth-child(2)::before,
.single .banner_s .price_wrap_3row dl:nth-child(2)::after{
	content: "";
	display: flex;
	background: #ed218d;
	height: 1em;
	width: 2px;
	position: absolute;
	top: 10px;
}
.single .banner_s .price_wrap_3row dl:nth-child(2)::before {
	left: -7%;
}
.single .banner_s .price_wrap_3row dl:nth-child(2)::after {
	right: -7%;
}
.single .banner_s .price_wrap_3row dt {
	color: #000;
}
.single .banner_s .price_wrap_3row dt.unlimited {
	display: flex;
	flex-flow: column;
	gap:2px;
}
.single .banner_s .price_wrap_3row dt.unlimited span {
	font-size: 10px;
	display: inline-block;
	color: #ed218d;
}
.single .banner_s .price_wrap_3row dd {
	/*width: 25%;
	background: #FFF;*/
}
.single .banner_s .price_wrap_3row dd.price {
	font-size: 20px;
	font-weight: bold;
	color: #ed218d;
	display: flex;
	justify-content: center;
	gap:2px;
	align-items: flex-end;
}
.single .banner_s .price_wrap_3row dd.price span {
	font-size: 12px;
}
.single .banner_s .price_wrap_3row .cv_btn {
	text-align: center;
	line-height: 1em;
	font-size: 14px;
	background: #ed218d;
	padding: 4px 20px;
	border-radius: 100px;
	color: #FFF;
	margin: 4px auto 8px;
	width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	grid-column-start: 2;
	grid-column-end: 3;
}
.single .banner_s .price_wrap_3row .cv_btn::after {
	content: "" !important;
	width: 5px;
	height: 5px;
	border-right: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
	display: block;
	position: absolute !important;
	top: 50%;
	left: auto !important;
	right: 12px;
	transform: translateY(-50%) rotate(-45deg);
}
.single .banner_link .banner_s:hover{
	background: #FFF266;
	transition: 0.3s;
}
.single .banner_link .banner_s .price_wrap_3row .title {
	font-size: 16.5px;
	transition: 0.3s;
	font-weight: bold;
}
.single .banner_link .banner_s .price_wrap_3row dd.price {
	color: #dc0000;
}
.campaign .camp_title span{
	padding: 0px;
}

.campaign .banner_s h3.camp_title{
	box-sizing: border-box;
    width: fit-content;
    margin: 0 auto;
    padding: 10px 8px 8px 8px;
    margin-top: 8px;
    max-width: 90%;
    font-size: clamp(12px,3.5vw, 14px);
	color:#FFF;
	background:#dc0000;
	border-radius: 3px;
	border:none;
	line-height: 1.2em;
}
.campaign .banner_m h3,
.campaign .banner_m_3row h3{
	background: #dc0000;
	color: #FFF;
	box-sizing: border-box;
    width: fit-content;
    margin: 0 auto;
    padding: 10px 8px;
    margin-top: 12px;
	margin-bottom: 0px;
    max-width: 90%;
    font-size: clamp(12px,3.5vw, 16px);
	border-radius: 3px;
	border:none;
	line-height: 1.2em;
}

/*　Mサイズ　*/
.single .banner_m {
	transition: 0.3s;
	padding: 0px;
	margin: 0 auto;
	text-align: center;
	width: 100%;
	max-width: 900px;
	margin-bottom: 2em;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"
}
.single .banner_m p.title {
	line-height: 20px;
	font-weight: bold;
	transition: 0.3s;
	background: #ed218d;
	color: #FFF;
	padding: 8px;
	font-size: 16px;
	margin-bottom: 0px;
	width: 100%;
	position: relative;}
.single .banner_m p.title::before {
	content: "＼ ";
	display: inline-block;
	transform: scale(0.8, 0.8) rotate(15deg);
	margin-right: 4px;
}
.single .banner_m p.title::after {
	content: " ／";
	display: inline-block;
	transform: scale(0.8, 0.8) rotate(-15deg);
	margin-left: 4px;
}
.single .banner_m a::before, .single .banner_m a::after {
	content: "" !important;
}
.single .banner_m .price_wrap {
	display: flex;
	gap: 12px;
	padding: 0px 8px;
	width: 100%;
	max-width: 900px;
	justify-content: center;
	margin: 8px auto 1% auto;
}
.single .banner_m .price_wrap dl {
	display: flex;
	gap: 6px;
	justify-content: center;
	align-items: flex-end;
}
.single .banner_m .price_wrap dt.capa {
	font-size: min(2.3vw,30px);
}
.single .banner_m .price_wrap dl:first-of-type::after {
	content: "";
	display: block;
	background: #ed218d;
	height: 2em;
	width: 5px;
	margin: 0px 16px;
}
.single .banner_m .price_wrap dt {
	color: #000;
	font-size: 26px;
}
.single .banner_m .price_wrap dt.unlimited {
	display: flex;
	justify-content: center;
	flex-flow: column;
	gap:2px;
}
.single .banner_m .price_wrap dt.unlimited span {
	font-size: 15px;
	display: inline-block;
	color: #ed218d;
}
.single .banner_m .price_wrap dd.price {
	font-size: 30px;
	font-weight: bold;
	color: #dc0000;
	display: flex;
	align-items: flex-end;
	gap:4px;
}
.single .banner_m .price_wrap dd.price span {
	font-size: 22px;
}
.single .banner_m .subtitle{
	padding: 0px 1em;
	background: #FFF;
	color: #ed218d;
	position: relative;
	display: flex;
    align-items: center;
}
.single .banner_m .subtitle:before,
.single .banner_m .subtitle:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #ed218d;
}
.single .banner_m .subtitle:before {
    margin-right: 1rem;
}
 
.single .banner_m .subtitle:after {
    margin-left: 1rem;
}
.single .banner_m .merit{
	display: grid;
	grid-template-columns:repeat(3,1fr) 130px ;
	padding: 0 16px;
	gap:4px;
}
.single .banner_m .merit dl {
	display: grid;
	grid-template-columns: subgrid;
	gap: 8px;
}
.single .banner_m .merit dt{
	color: #000;
}
.single .banner_m .merit .merit04 {
	display: flex;
	justify-content: center;
	align-items:center;
	padding-right: 0;
}
.single .banner_m .merit a:hover {
	border-bottom: none;
}
.single .banner_m .circle{
	width: 130px;
	height: 130px;
	background-color: #00bccd;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-weight: bold;
	position:relative;
	padding-right: 10px;
	box-sizing: border-box;
	transition: all .3s;
}
.single .banner_m .circle::after{
	content: "" !important;
	width: 9px;
	height: 9px;
	border-right: 3px solid #FFF;
	border-bottom: 3px solid #FFF;
	display: block;
	position: absolute !important;
	top: 50%;
	left: auto !important;
	right: 18px;
	transform: translateY(-50%) rotate(-45deg);
}
.single .banner_m .circle:hover {
	background: #FFF266;
	color: #00bccd;
	transition: all .3s;
}
.single .banner_m .circle:hover::after {
	border-right: 3px solid #00bccd;
	border-bottom: 3px solid #00bccd;
}
.isShow .merit01, .isShow .merit02, .isShow .merit03, .isShow .merit04 {
  opacity: 0; /* 初期状態は不可視 */
  animation-fill-mode: forwards !important; /* アニメーション終了後、最終状態を保持 */
}

.isShow .merit01 { animation: fadeInUp 0.2s ease 0.4s; }
.isShow .merit02 { animation: fadeInUp 0.4s ease 0.6s; }
.isShow .merit03 { animation: fadeInUp 0.6s ease 0.8s; }
.isShow .merit04 { animation: fadeInUp 0.8s ease 1s; }


/*
.isShow .merit01 { animation: fadeInUp 0.5s ease 0.5s; }
.isShow .merit02 { animation: fadeInUp 0.5s ease 1s; }
.isShow .merit03 { animation: fadeInUp 0.5s ease 1.5s; }
.isShow .merit04 { animation: fadeInUp 0.5s ease 2s; }
*/
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Mサイズバナー　5Gプランあり */
.single .banner_m_3row {
	transition: 0.3s;
	padding: 0px;
	margin: 0 auto;
	text-align: center;
	width: 100%;
	max-width: 900px;
	margin-bottom: 2em;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"
}
.single .banner_m_3row p.title {
	line-height: 20px;
	font-weight: bold;
	transition: 0.3s;
	background: #ed218d;
	color: #FFF;
	padding: 8px;
	font-size: 16px;
	margin-bottom: 0px;
	width: 100%;
	position: relative;}
.single .banner_m_3row p.title::before {
	content: "＼ ";
	display: inline-block;
	transform: scale(0.8, 0.8) rotate(15deg);
	margin-right: 4px;
}
.single .banner_m_3row p.title::after {
	content: " ／";
	display: inline-block;
	transform: scale(0.8, 0.8) rotate(-15deg);
	margin-left: 4px;
}
.single .banner_m_3row a::before, .single .banner_m_3row a::after {
	content: "" !important;
}
.single .banner_m_3row .price_wrap {
	display: flex;
	gap: 8px;
	padding: 0px 8px;
	width: 100%;
	max-width: 900px;
	justify-content: space-around;
	margin: 1% auto;
}
.single .banner_m_3row .price_wrap dl {
	display: flex;
	gap: 4px;
	justify-content: center;
	align-items: flex-end;
	/*position: relative;*/
}
.single .banner_m_3row .price_wrap dl:nth-child(odd) {
	width: calc(100% / 3 - 5px);
}
.single .banner_m_3row .price_wrap dl:nth-child(2) {
	justify-content: space-between;
	width: calc(100% / 3 + 10px);
}
.single .banner_m_3row .price_wrap dt.capa {
	margin-right: 4px;
}
.single .banner_m_3row .price_wrap dl:nth-child(2)::before,
.single .banner_m_3row .price_wrap dl:nth-child(2)::after {
	content: "";
	display: block;
	background: #ed218d;
	height: 2.5em;
	width: 3px;
	margin-bottom: -5px;
}
/*.single .banner_m_3row .price_wrap dl:nth-child(2)::before {
	margin-right: 2%
}
.single .banner_m_3row .price_wrap dl:nth-child(2)::after{
	margin-left: 2%;
}*/
.single .banner_m_3row .price_wrap dt {
	color: #000;
	font-size: min(1.7vw,22px);
}
.single .banner_m_3row .price_wrap dt.unlimited {
	display: flex;
	flex-flow: column;
	gap:2px;
}
.single .banner_m_3row .price_wrap dt.unlimited span {
	font-size: 15px;
	display: inline-block;
	color: #ed218d;
}
.single .banner_m_3row .price_wrap dd {
	width: 25%;
	background: #FFF;
}
.single .banner_m_3row .price_wrap dd.price {
	font-size: min(2.4vw,26px);
	font-weight: bold;
	color: #dc0000;
	display: flex;
	justify-content: center;
	gap:4px;
	width: fit-content;
	align-items: baseline;
}
.single .banner_m_3row .price_wrap dd.price span {
	font-size: min(1.4vw,18px);
}
.single .banner_m_3row .subtitle{
	padding: 0px 1em;
	background: #FFF;
	color: #ed218d;
	position: relative;
	display: flex;
    align-items: center;
	margin-bottom: 2%;
}
.single .banner_m_3row .subtitle:before,
.single .banner_m_3row .subtitle:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #ed218d;
}
.single .banner_m_3row .subtitle:before {
    margin-right: 1rem;
}
.single .banner_m_3row .subtitle:after {
    margin-left: 1rem;
}
.single .banner_m_3row .merit{
	display: grid;
	grid-template-columns:repeat(3,1fr) 130px ;
	padding: 0 16px;
}
.single .banner_m_3row .merit dl {
	display: grid;
	grid-template-columns: subgrid;
	gap: 8px;
}
.single .banner_m_3row .merit dt{
	color: #000;
}
.single .banner_m_3row .merit .merit04 {
	display: flex;
	justify-content: center;
	align-items:center;
	padding-right: 0;
}
.single .banner_m_3row .merit a:hover {
	border-bottom: none;
}
.single .banner_m_3row .circle{
	width: 130px;
	height: 130px;
	background-color: #00bccd;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-weight: bold;
	position:relative;
	padding-right: 10px;
	box-sizing: border-box;
	transition: all .3s;
}
.single .banner_m_3row .circle::after{
	content: "" !important;
	width: 9px;
	height: 9px;
	border-right: 3px solid #FFF;
	border-bottom: 3px solid #FFF;
	display: block;
	position: absolute !important;
	top: 50%;
	left: auto !important;
	right: 18px;
	transform: translateY(-50%) rotate(-45deg);
}
.single .banner_m_3row .circle:hover {
	background: #FFF266;
	color: #00bccd;
	transition: all .3s;
}
.single .banner_m_3row .circle:hover::after {
	border-right: 3px solid #00bccd;
	border-bottom: 3px solid #00bccd;
}
.isShow .merit01, .isShow .merit02, .isShow .merit03, .isShow .merit04 {
  opacity: 0; /* 初期状態は不可視 */
  animation-fill-mode: forwards !important; /* アニメーション終了後、最終状態を保持 */
}

.isShow .merit01 { animation: fadeInUp 0.2s ease 0.4s; }
.isShow .merit02 { animation: fadeInUp 0.4s ease 0.6s; }
.isShow .merit03 { animation: fadeInUp 0.6s ease 0.8s; }
.isShow .merit04 { animation: fadeInUp 0.8s ease 1s; }

@media screen and (max-width:1239px) {
	.single .banner_s .price_wrap dl {
		align-items: flex-end;
	}
	.single .banner_s .price_wrap dt.unlimited {
		padding-bottom: 0;
	}
	/*.single .banner_m .price_wrap dl{
		gap:4px;
		align-items: center;
	}
	.single .banner_m .price_wrap{
		gap:0.8vw;
		margin: 0.7em 0;
	}
	.single .banner_m .price_wrap dt{
		font-size: min(4vw,19px);
	}
	.single .banner_m .price_wrap dt.unlimited span{
		font-size:  min(2.5vw,15px);
	}
	
	.single .banner_m .price_wrap dd.price{
		font-size: min(4.5vw,24px);
	}	
	.single .banner_m .price_wrap dd.price span{
		font-size: min(3.6vw,18px);
	}
	
	.single .banner_m .price_wrap dl:first-of-type::after{
		margin-inline:0.5vw; 
	}
	.single .banner_m .merit {
		gap:8px;
		margin: 1em 0; 
	}*/
		
	/*.single .banner_m .merit{
		display: block;
		width: fit-content;
		margin: 0 auto;
	}*/
	/*.single .banner_m .merit dl{
		display: grid;
		grid-template-columns: 50% 50%;
		grid-template-areas: 
			"image text";
	}*/
	/*.single .banner_m .merit dl {
	}
	.single .banner_m .merit{
		display: grid;
		grid-template-columns:repeat(3,1fr) ;
		padding: 0 20px;
	} 
	.single .banner_m .merit .merit04 {
		grid-column-start: 2;
		grid-column-end: 3;
	}*/
	/*.single .banner_m .merit dt{
		grid-area: text;
		display: flex;
		text-align: left;
		align-items: center;
		box-sizing: border-box;
	}
	.single .banner_m .merit dd{
		grid-area: image;
	}
	.single .banner_m .circle {
		width:100%;
		margin-inline:auto;
		border-radius: 10px;
		height: 40px;
	}*/
}
@media screen and (max-width:959px) {
	.single .banner_m_3row .price_wrap {
		padding: 0;
		margin: 3% 0 2% 0;
	}
	.single .banner_m_3row .price_wrap dl {
		display: grid;
		grid-template-columns: 1fr;
		align-items: center;
		justify-items:center;
	}
	.single .banner_m_3row .price_wrap dl:nth-child(1) {
		place-content: end;
	}
	.single .banner_m_3row .price_wrap dl:nth-child(2) {
		grid-template-columns: auto
	}
	.single .banner_m_3row .price_wrap dl:nth-child(2)::before {
		grid-row-start: 1;
		grid-row-end: 5;
		grid-column-start: 1;
		grid-column-end: 2;
		display: grid;
		background: transparent;
		border-left:1px dashed #ed218d;
	}
	.single .banner_m_3row .price_wrap dl:nth-child(2)::after {
		grid-row-start: 1;
		grid-row-end: 5;
		display: grid;
		grid-column-start: 3;
		grid-column-end: 4;
		background: transparent;
		border-left:1px dashed #ed218d;
	}
	.single .banner_m_3row .price_wrap dl:nth-child(2) dt.unlimited {
		grid-row-start: 1;
		grid-row-end: 3;
		display: grid;
		grid-column-start: 2;
		grid-column-end: 3;
	}
	.single .banner_m_3row .price_wrap dl:nth-child(2) dd.price {
		grid-row-start: 3;
		grid-row-end: 5;
		display: flex;
		grid-column-start: 2;
		grid-column-end: 3;
		justify-content: center;
	}
	.single .banner_m_3row .price_wrap dt {
		font-size: min(4.8vw, 32px);
	}
	.single .banner_m_3row .price_wrap dt.capa {
		margin-right: 0;
	}
	.single .banner_m_3row .price_wrap dd.price {
		font-size: min(4.6vw,36px);
	}
	.single .banner_m_3row .price_wrap dd.price span {
		font-size: min(2.6vw,20px);
	}
	.single .banner_m_3row .price_wrap dt.unlimited span {
		font-size: min(2.4vw,13px);
	}
	.single .banner_m_3row .merit {
		grid-template-columns: repeat(3, 1fr);
		gap:8px;
	}
	.single .banner_m_3row .merit .merit04 {
		grid-column-start: 1;
		grid-column-end: 4;
		margin-bottom: 16px;
	}
	.single .banner_m_3row .circle {
		border-radius: 4px;
		width: 100%;
		max-width: 240px;
		height:32px;
	}
	.single .banner_m_3row .merit dt {
		font-size: min(2.6vw,16px);
	}
	.single .banner_m_3row .subtitle {
		margin-bottom: 16px;
	}
} 
@media screen and (max-width:599px) {
	.single .banner_m .price_wrap {
		justify-content: space-around;
	}
	.single .banner_m .price_wrap dt.unlimited {
		padding-bottom: 0;
	}
	.single .banner_m .price_wrap dl {
		position: relative;
	}
	.single .banner_m .price_wrap dl:nth-child(1)::after {
		position: absolute;
		margin: 0;
		height: 2.4em;
		top: 3px;
		right: -13%;
		background: transparent;
		border-left: 1px dashed #ed218d;
	}
	.single .banner_m .price_wrap dt.capa {
		font-size: min(4vw,26px)
	}
	.single .banner_m .price_wrap dd.price {
		font-size: min(4.8vw,32px);
	}
	.single .banner_m .price_wrap dd.price span {
		font-size: 18px;
	}
	.single .banner_m .merit dt {
		font-size: 16px;
	}

	.single .banner_m .merit .merit04 {
		margin-bottom: 8px !important;
	}
	.reserve_wifi::after {
		display: none;
	}
	.wifi_price_top_tab .wifi_tab_price p:nth-child(1) {
		font-size: 14px
	}
	.wifi_price_top_tab .wifi_tab_price p:nth-child(2) span {
		font-size: 12px;
	}
	.wifi_price_top_tab .wifi_tab_price p:nth-child(2) {
		font-size: 16px;
	}
	.reserve_wifi p {
		font-size: 13px;
	}
	.wifi_price_top .wifi_more {
		display: none;
	}
}
@media screen and (max-width:600px) {
	/*バナーS　5Gなし */
	.single .banner_m .merit dl .ads-sp {
		display: none;
	}
	.single .banner_s .price_wrap {
		/*grid-template-columns: 1fr;*/
		gap: 8px;
	}
	.single .banner_s .price_wrap dl {
		gap:4px;
		flex-flow: column;
		justify-content: flex-end;
		align-items: center;
		position: relative;
	}
	.single .banner_s .price_wrap dd.price {
		font-size: 18px;
		display: flex;
		justify-content: center;
		align-items: baseline;
		gap:2px;
	}
	.single .banner_s .price_wrap dd.price span {
		font-size: 11px;
	}
	.single .banner_s .price_wrap .cv_btn {
		display: flex;
		justify-content: center;
		align-self: center;
		height: fit-content;
		place-items: center;
	}
	.single .banner_s .price_wrap dl:first-of-type::after {
		position: absolute;
		right: -5px;
		top: 7px;
		background: transparent;
		border-left: 1px dashed #ed218d;
		height: 2.5em;
	}
	/* バナーS　5Gあり */
	.single .banner_s .price_wrap_3row {
		justify-content: space-around;
		padding-inline: 0;
	}
	.single .banner_s .price_wrap_3row dl {
		flex-flow: column;
		align-items: center;
		justify-content: flex-start;
	}
	.single .banner_s .price_wrap_3row dl:nth-child(1) {
		align-self: end;
	}
	.single .banner_s .price_wrap_3row dl:nth-child(2)::before,
	.single .banner_s .price_wrap_3row dl:nth-child(2)::after {
		height: 2.5em;
		width: 1px;
	}
	.single .banner_s .price_wrap_3row dl:nth-child(2)::before{
		left: -20%;	
	}
	.single .banner_s .price_wrap_3row dl:nth-child(2)::after {
		right: -20%;
	}
	.single .banner_s .price_wrap_3row dd.price {
		align-items: flex-end;
		font-size: 18px;
	}
	.single .banner_s .price_wrap_3row .cv_btn {
		width: 100%;
		max-width: 115px;
	}
	
	.wifi_price_wrapper_top .wifi_price_top {
		padding: 12px;
	}
	.wifi_price_wrapper_top .wifi_price_top_tab {
		border-radius: 4px;
	}
}

@media screen and (max-width:480px) {
	/* バナーS　5Gあり */
	.single .banner_m .merit {
		grid-template-columns: repeat(3, 1fr);
	}
	.single .banner_s .price_wrap_3row .cv_btn {
		grid-column-start: 1;
		grid-column-end: 4;
	}
	.single .banner_m_3row .price_wrap dd.price {
		font-size: 18px;
	}
	.single .banner_s .price_wrap_3row dd.price span {
		font-size: 11px;
	}
	.single .banner_m_3row .price_wrap dt.capa {
		font-size: 14px;
	}
	/* バナーM　5Gなし */
	.single .banner_m p.title {
		font-size: 14px;
	}
	.single .banner_m .subtitle {
		margin: 0.5em 0;
	}
	.single .banner_m .price_wrap {
		justify-content: center;
		gap:26px;
	}
	.single .banner_m .price_wrap dl {
		flex-flow: column;
		justify-content: center;
		align-items: center;
		gap:4px;
	}
	.single .banner_m .price_wrap dl:nth-child(1) {
		align-self: flex-end;
	}
	.single .banner_m .price_wrap dt.capa {
		font-size: min(5vw,32px);
		display: flex;
		justify-content: center;
		flex-flow: column;
		gap:2px;
	}
	.single .banner_m .price_wrap dt.unlimited span {
		display: inline-block;
	}
	.single .banner_m .price_wrap dd.price {
		font-size: min(5.6vw,38px)
	}
	.single .banner_m .price_wrap dl:nth-child(1)::after {
		right: -17px;
	}
	.single .banner_m .merit {
		padding: 0 8px;
	}
	.single .banner_m .merit dl {
		gap:8px;
		box-sizing: border-box;
	}
	.single .banner_m .merit dt {
		font-size: 12px;
		font-weight: normal;
	}
	.single .banner_m .merit dd img {
		width: 80%;
	}
	.single .banner_m .circle {
		width: 95%;
		height: 32px;
		border-radius: 8px;
		margin-inline:auto;
		padding-right: 5px;
	}
	.single .banner_m .circle::after {
		right: 10px;
	}
	.single .banner_m .merit .merit04 {
		grid-column-start: 1;
		grid-column-end: 4;
	}
}

.wifi_tab_price {
	display: flex;
	width: 100%;
	text-align: center;
	justify-content: center;
	align-items: center;
	padding: 15px 5px 10px 5px; 
	flex-flow: column;
}
.wifi_tab_price p:nth-child(1) {
	font-size: min(2.5vw,20px);
	line-height: revert;
	margin-bottom: 8px;
}
.wifi_tab_price p.default_price,
.wifi_tab_price p.campaign_price {
	font-size: clamp(16px,2.8vw,34px);
	line-height: revert;
} 
.wifi_tab_price p.default_price span.small {
	font-size: min(3vw,16px);
	color: #ffabdb;
}

/* top_contents.phpのキャンペーン時の表示 */
.campaign .wifi_price_wrapper_top h3.campaign_title,
.campaign .wifi_price_wrapper_top .wifi_price_top{
	background:#ffffff;
}
.campaign .wifi_price_wrapper_top .wifi-price_bnr {
    background-image: url("images/common/bnr-50per_bg.jpg");
	background-repeat: no-repeat;
    background-position: top;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 16px;
    box-sizing: border-box;
    margin-inline:16px;
    box-shadow:  0px 0px 14px -9px #25130b;
}
.campaign .wifi_price_wrapper_top .wifi-price_bnr:hover {
    border:none;
}
.campaign .wifi_price_wrapper_top .wifi-price_bnr img {
    height: 100%;
    max-height: 72px;
    width: auto;
}
.campaign .wifi_price_wrapper_top .wifi_price_bg{
    background: #ffffff;
    padding-top: 16px;
}
.campaign .wifi_price_wrapper_top h3,
.campaign .wifi_price_wrapper_top h3 span{
	all:initial;
}
.campaign .wifi_price_wrapper_top h3.campaign_title{
	margin-inline:15px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:14px 0px 12px;
	box-sizing: border-box;
	margin-bottom: -4px;
	background-color: rgba(255, 255, 255, 0.85);
	color: rgb(220,0,0);
	position: relative !important;
	overflow: hidden;
}
.campaign .wifi_price_wrapper_top img.cracker{
	width: 250px;
	position: absolute;
	top:100%;
	opacity: 0;
	z-index: -10;
}
.campaign .wifi_price_wrapper_top img.cracker.left{
	right: 70%;
	top: -45px;
}
.campaign .wifi_price_wrapper_top img.cracker.right{
	top: -72px;
	right: 2%;
}
@media screen and (max-width:1239px) {
	.campaign .wifi_price_wrapper_top img.cracker.left{
		width:  calc(250 / 992 * 100%);
		top: -11%;
	}
	.campaign .wifi_price_wrapper_top img.cracker.right{
		width:  calc(250 / 992 * 100%);
		top: -35%;
	}
}
@media screen and (max-width:768px) {
	.campaign .wifi_price_wrapper_top img.cracker.left{
		top: -5%;
		left: -2%
	}
	.campaign .wifi_price_wrapper_top img.cracker.right{
		top: -3%;
		right: -2%;
	}
}
.campaign .wifi_price_wrapper_top img.cracker.left {
	opacity: 0;
	transform: translateX(-50px);
	transition: opacity 0.8s ease, transform 0.4s ease;
}
.campaign .wifi_price_wrapper_top img.cracker.left.active {
	opacity: 1 !important;
	transform: translateX(0);
}
.campaign .wifi_price_wrapper_top img.cracker.right {
	opacity: 0;
	transform: translateY(50px);
}
.campaign .wifi_price_wrapper_top img.cracker.right.active {
	animation: fadeInMove 0.3s ease forwards;
	animation-delay: 0.15s;
}
@keyframes fadeInMove {
	from {
		opacity: 0;
		transform: translateX(50px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
.campaign .wifi_price_wrapper_top .campaign_title {
	position: relative;
	display: inline-block;
}
.campaign .wifi_price_wrapper_top h3 span {
	font-weight: bold;
	font-size: clamp(16px, 4vw, 22px);
	color: rgb(220, 0, 0);
	text-align: center;
	line-height: 1.1em;
	font-family: Noto Sans JP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	text-shadow: 2px 2px 0 #FFF, -2px -2px 0 #FFF, -2px 2px 0 #FFF, 2px -2px 0 #FFF, 0px 2px 0 #FFF, 0-2px 0 #FFF, -2px 0 0 #FFF, 2px 0 0 #FFF;
	z-index: 10;
}
.campaign .wifi_price_wrapper_top h3 .big{
	font-size: clamp(20px,4.5vw,42px);
	font-weight: 900;
}
.campaign .wifi_price_wrapper_top .wifi_tab_price p.default_price{
	margin: 4px auto;
}
.campaign .wifi_price_wrapper_top .wifi_tab_price p.default_price,
.campaign .wifi_price_wrapper_top .wifi_tab_price p.default_price span{
	font-size: 14px;
	color: #000;
}
.campaign .wifi_price_wrapper_top .wifi_tab_price p.campaign_price span{
	font-size: min(3vw,16px);
	color: #ffabdb;
}
.no_break{
	word-break: keep-all;
}
.campaign .wifi_price_wrapper_top.arrow{
	margin: 2px 45% 2px;
	justify-content: center;
	border-width: 9px 9px 0px 9px;
	border-style: solid;
	border-color: #ED218D transparent transparent transparent;
}
.wifi_more {
	width: 100%;
	max-width: 235px;
	display: flex;
	align-items: stretch;
	flex-flow: column;
	justify-content: center;
	background: #ed218d;
	border-radius: 8px;
}
.wifi_more a {
	display: block;
	text-align: center;
	text-decoration: none;
	color: #fff;
	font-size: min(2.5vw,20px);
	font-weight: bold;
	transition: all 0.5s;
}
.wifi_more a img {
	width: 50px;
	margin-top: 10px;
	box-sizing: border-box;
}
.wifi_more a:hover {
	border: none;
	color: #ffea00;
	transition: all 0.5s;
}
/*Wi-Fiレンタルサイトリンク 記事後ろ*/
.wifi_plan_wrapper {
	background: #ffdef1;
	padding: 20px;
	border-radius: 15px;
}
.wifi_plan_wrapper .wifiplan_link .wifi_title {
	width: 100%;
	max-width: 480px;
	font-size: min(1.4vw,16px);
	line-height: 1.5em !important;
	text-align: center;
	background: #ed218d;
	color: #fff;
	padding: 10px;
	box-sizing: border-box;
	margin: 0!important;
	border-radius: 15px 15px 0 0;
	position: relative;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"
}
.wifi_title img {
	position: absolute;
	top: 5px;
	right: 5px;
	width: 50px;
}
.wifi_title span {
	font-size: min(3vw,28px);
	font-weight:bold;
	display: block;
	margin-top: 8px;
}
.wifi_plan01, .wifi_plan02 {
	font-size:  min(2vw,30px) !important;
	list-style: none;
	width: 100%;
	max-width: 480px;
	margin: 0 ;
	text-align: center;
	padding: 3% 3% 3% 3% !important;
	border: 5px solid #ed218d;
	background: #fff;
	display: flex;
    flex-flow: column;
	margin-top: -1px;
	border-top: 6px solid #ed218d;
}
.wifi_plan01 li, .wifi_plan02 li {
	padding: 0 !important;
	margin: 0 !important;
}
.wifi_plan01 li::before, .wifi_plan02 li::before{
	display: none !important;
}
.campaign .campaign_title{
	font-size: 14px;
	background: #dc0000;
	color: #FFF;
	margin-bottom: 0px;
	line-height: 1.2em;
	padding: 4px 8px;
	width: fit-content;
	margin-inline:auto;
	border-radius: 3px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", Helvetica, Sans-Serif;
}
.campaign .wifi_plan_wrapper .space{
	display: none;
}

.wifi_price {
	font-size: min(6vw,34px);
	color: #ed218d;
	margin: 0 !important;
	font-family: Arial, Helvetica, "sans-serif";
	font-weight: bold;
}
.wifi_price span {
	font-size: min(3.2vw,24px) !important;
	color: #e8b3d8;
}
.wifiprice_link {
	font-size: min(1.4vw,15px);
	font-weight: bold;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	display: flex;
	justify-content: center;
	line-height: 1.2em;
	align-items: baseline;
	gap:8px;
}
div .wifiplan_link .wifi_plan01 a,
div .wifiplan_link .wifi_plan02 a {
	padding: 8px 4px 6px;
	box-sizing: border-box;
	display: inline-block !important;
	padding-right: 4px!important;
	border-bottom: none;
	width: 100%;
	background: #ffea00;
	margin-top: 4px;
	border-radius: 500px;
	transition: all 0.5s;
	color: #ed218d;
}
.wifi_plan01 a::after, .wifi_plan02 a::after {
	display: none!important;
}
.wifi_plan01 a:hover, .wifi_plan02 a:hover {
	border-bottom: none;
	transition: all 0.5s;
	background: #ed218d;
	color: #fff;
}
.wifiplan_link {
	display: flex;
	justify-content: space-between;
	gap:8px;
}
.wifi_plan01_box, .wifi_plan02_box {
	width: 100%;
	max-width: 480px;
}
/*.wifi_plan01_box {
	margin-right: 10px;
}
.wifi_plan02_box {
	margin-left: 10px;
}*/
.wifi_plan_detail {
	padding: 0 !important;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 12px;
}
.wifi_plan_detail a {
	font-size: min(1.5vw,26px) !important;
	border-bottom: none;
	background: #ed218d;
	color: #fff;
	padding: 16px;
	width: 100%;
	max-width: 466px;
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	margin-left: 10px;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	transition: all 0.4s;
}
.wifi_plan_detail a:hover {
	transition: all 0.4s;
	border: none !important;
	background: #ffea00;
}
.wifi_plan_detail div::before, .wifi_plan_detail a::after {
	display: none !important;
}
.campaign .wifi_plan_wrapper p.default_price{
	font-size: 16px;
	color: #000;
	margin: 4px auto;
}
.campaign .wifi_price_top_tab .arrow,
.campaign .wifi_plan_wrapper .arrow {
	margin: 2px 50% 4px;
	justify-content: center;
	border-width: 9px 9px 0px 9px;
	border-color: #ED218D transparent transparent transparent;
	border-style: solid;
}

@media screen and (max-width:959px) {
	.wifi_plan01_box .wifi_plan01 .wifiprice_link,
	.wifi_plan02_box .wifi_plan02 .wifiprice_link {
		font-size: 16px;
	}
}





.wifi_price_wrapper_top > p{
	background-color: #27383d;
	font-weight: bold;
    color: #FFF;
    padding: 16px;
    box-sizing: border-box;
	font-size: 16px;
	line-height: 1.2;
} 
/* ブログトップに表示されるバナー・キャンペーン対象国の価格表示用CSS */
.campaign_banner2023winter {
	display: block;
	border-bottom: none!important;
	line-height: 0;
	vertical-align: bottom;
	font-size: 0;
	height: auto;
	background: #fff;
	transition: all .3s;
}
.campaign_banner2023winter:hover img {
	opacity: 0.85;
	transition: all .3s;
}
.campaign_banner2023winter picture {
	width: 100%;
	height: auto;
	display: block;
	line-height: 0;
	vertical-align: bottom;
	padding: 0;
	margin: 0;
}
.campaign_banner2023winter picture img {
	width: 100%;
	vertical-align: bottom;
	line-height: 0;
	display: block;
	transition: all .3s;
}
.top_blog_campaign2023winter {
	vertical-align: baseline;
	background: #fff;
	margin: 0 0 15px 0;
	box-sizing: border-box;
	padding: 8px 15px;
	font-family: "Noto Sans JP";
	border: 5px solid #d31a28;
	display:flex;
	justify-content: center;
	overflow: hidden;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}
.top_blog_campaign2023winter svg {
	width: 30px;
}
.top_blog_campaign2023winter .item_strong {
	font-size: min(3vw, 18px);
	font-weight: bold;
	color: #d31a28;
	text-align:center; 
	width: calc(100% / 2 - 25px);
}
.top_blog_campaign2023winter .item_strong strong {
	text-align: center;
	font-size: min(3vw,18px);
	font-weight: 900;
	display: inline-block;
	background:linear-gradient(transparent 60%, #ffe471 60%);
}
.top_blog_campaign2023winter .items_wrapper {
	display: flex;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap:15px;
	align-items: center;
	width: calc(100% / 2 - 25px);
}
.top_blog_campaign2023winter p {
	margin-bottom: 0;
}
.top_blog_campaign2023winter .nolimited-price {
	display: flex;
	justify-content: flex-end;
	font-size: min(3vw,46px);
	font-weight: 900;
	align-items: baseline;
	z-index: 5;
	position: relative;
	color: #d31a28;
	line-height: 1em;
	flex-wrap: nowrap;
	width: 100%;
}
.top_blog_campaign2023winter .items_wrapper .point_wrapp {
	display: flex;
	justify-content: center;
	gap:5px;
}
.top_blog_campaign2023winter .item_point {
	font-weight: bold;
	color: #fff;
	background: #015e12;
	width: 85px;
	border-radius : 500px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.1em;
	padding: 10px 0;
}
.top_blog_campaign2023winter .nolimited-price span {
	font-size: min(4vw, 16px);
	font-weight: bold;
}
.top_blog_campaign2023winter .gotoentry {
	color: #fff;
	border-bottom: none!important;
	background: #d31a28;
	width: 100%;
	max-width: 250px;
	border-radius: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 8px 0;
	text-align: center;
	font-weight: bold;
	box-shadow: 0px 0px 15px -14px #3e0404;
	transition: all .3s;
}
.top_blog_campaign2023winter .gotoentry:hover {
	color: #fff!important;
	transform: scale(1.02);
	transition: all .3s;
}
@media screen and (max-width:768px) {
	.top_blog_campaign2023winter {
		flex-flow: column;
		gap:3px;
	}
	.top_blog_campaign2023winter svg {
		display: none;
	}
	.top_blog_campaign2023winter .br_sp_none {
		display: none;
	}
	.top_blog_campaign2023winter .items_wrapper {
		width: 100%;
		justify-content: center;
	}
	.top_blog_campaign2023winter .item_strong {
		width: 100%;
		font-size: min(3.5vw, 16px);
	}
	.top_blog_campaign2023winter .nolimited-price {
		width: auto;
	}
	.top_blog_campaign2023winter .gotoentry {
		font-size: 14px;
		max-width: 180px;
	}
	.top_blog_campaign2023winter .item_strong strong {
		font-size: min(4vw,23px);
		width: auto;
	}
	.top_blog_campaign2023winter .nolimited-price {
		font-size: min(7vw,46px);
	}
}
/*キャンペーン対象国の価格表示用CSSここまで*/


/* SP style リンクページボタン*/
@media screen and (max-width:599px) {
	
	/*　記事最後　*/
	.wifi_tab_price {
		padding: 10px 5px 8px 5px;
	}
	.wifi_tab_price p:nth-child(1) {
		font-size: min(3.0vw,19px);
		margin-bottom: 3px;	
	}
	.wifi_tab_price p:nth-child(2) {
		font-size: min(4.7vw,22px);
		width: 100%;
		min-width: 68px;
	}
	/*.reserve_wifi::after {
	position: absolute;
	content: "";
	width: 0;
  	height: 0;
	border-style: solid;
	border-width: 0 0 10px 10px;
	border-color: transparent transparent #fff transparent;
	bottom: 4px;
	right: 4px;
}*/
	
	/*　記事最初　*/
	
	.wifiplan_link {
		flex-flow: column;
		align-items: center;
	}
	.wifi_plan01_box, .wifi_plan02_box {
		margin-right: 0;
		margin-left: 0;
	}
	.wifi_plan_wrapper .wifiplan_link .wifi_title {
		font-size: min(3.5vw,20px);
		padding: 8px;
	}
	.wifi_title span {
		font-size: min(5vw,22px);
		margin-top: 2px;
	}
	.wifi_plan01 a, .wifi_plan02 a {
		margin-top: 5px;
		padding: 8px;
	}
	.wifi_plan_wrapper {
		padding: 8px;
	}
	.wifi_plan_detail li {
		font-size: 16px !important;
	}
	.wifi_plan_wrapper .wifiplan_link .wifi_price {
		font-size: min(8vw,32px)
	}
	.wifiprice_link {
		font-size: min(4vw,18px) !important;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.wifi_plan01, .wifi_plan02 {
		border-top: none;
	}
	.wifi_plan_detail {
		flex-wrap: wrap;
		flex-flow: column-reverse;
	}
	.wifi_plan_detail a {
		font-size: min(4vw,26px) !important;
		margin-left: 0;
		margin-bottom: 10px;
	}
	.wifi_title img {
		width: 40px;
	}
	.main.campaign .wifi_plan_wrapper .wifi_plan01,
	.main.campaign .wifi_plan_wrapper .wifi_plan02{
		flex-flow: row wrap;
		justify-content: center;
	}
	.main.campaign .wifi_plan_wrapper .wifi_plan01 .default_price,
	.main.campaign .wifi_plan_wrapper .wifi_plan02 .default_price{
		width: fit-content;
		display: contents;
			
	}
	.main.campaign .wifi_plan_wrapper .wifi_plan01 .default_price s,
	.main.campaign .wifi_plan_wrapper .wifi_plan02 .default_price s{
		margin-right: 1em;
	}
	.main.campaign .wifi_plan_wrapper .arrow{
		all:initial;
	}
	.main.campaign .wifi_plan_wrapper .arrow{
		position: relative;
		display: inline-block;
		padding-left: 12px;
		/*
	    border-color: transparent transparent transparent #ED218D;
		border-width: 9px 0px 9px 9px;
		*/
	}
	.main.campaign .wifi_plan_wrapper .arrow:before {
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 0 6px 8px;
		border-color: transparent transparent transparent #ED218D;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		margin: auto;
	}
	.main.campaign .wifi_plan_wrapper .wifi_plan01 .wifi_price,
	.main.campaign .wifi_plan_wrapper .wifi_plan02 .wifi_price{
		padding-left: 0.5em;
	}
	.main.campaign .wifi_plan_wrapper .space{
		display: block;
		width: 100%;
		margin-top: 8px;
	}

	.single .banner_s p.title {
		padding: 4px;
		height: auto;
		line-height: 1.1em;
	}
	.single .banner_s p.title::after, .single .banner_s p.title::before,
	.single .banner_m_3row p.title::after, .single .banner_m_3row p.title::before,
	.single .banner_m p.title::after, .single .banner_m p.title::before{
		content: "";
		margin-inline: 0;
	}
	.single .banner_s .price_wrap dl:first-of-type::after {
		margin: 0px;
	}
	/*.single .banner_s .price_wrap{
		gap:4px; 
		justify-content: center;
	}*/
}



/*--------------------------------------------
記事内装飾
--------------------------------------------*/

/*********************************************************************
 COMMON
*********************************************************************/

.l-mainContent ul li span .fw_b , .l-mainContent ol li span .fw_b , .l-mainContent ul li span .s_emp , .l-mainContent ol li span .s_emp , .l-mainContent ul li span .m_emp , .l-mainContent ol li span .m_emp , .l-mainContent ul li span .l_emp , .l-mainContent ol li span .l_emp{
    font-weight: bold;
}

.l-mainContent .most_rl_block ul , .l-mainContent .c_box ul , .l-mainContent .most_rl_block ol , .l-mainContent .c_box ol , .l-mainContent .most_rl_block p , .l-mainContent .c_box p{
	margin-left: 0;
    padding: 0.1em 1em;
}

.most_rl_block li,
.c_box li,
.matome_block li {
	font-weight: 400;
}
.most_rl_block ol,
.c_box ol,
.matome_block ol {
	counter-reset: list;
	list-style-type: none;
	font: 14px/1.6 'arial narrow', sans-serif;
	padding: 0;
}
.most_rl_block ol li,
.c_box ol li,
.matome_block ol li {
	position: relative;
	padding: 0 0 0 30px;
	margin: 7px 0 7px 0px;
	font-weight: bold;
	font-size: 1rem;
	line-height: 29px;
	border: dashed 1px transparent;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}
.most_rl_block ol li::before,
.c_box ol li::before,
.matome_block ol li::before {
	counter-increment: list;
	content: counter(list);
	position: absolute;
	left: -10px;
	width: 30px;
	height: 30px;
	text-align: center;
	color: #fff;
	line-height: 30px;
	background: #0088b1;
	border-radius: 50%;
	top: 1rem;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.most_rl_block ul,
.c_box ul,
.matome_block ul {
	counter-reset: list;
	list-style-type: none;
	font: 14px/1.6 'arial narrow', sans-serif;
	padding: 0;
}
.most_rl_block ul li,
.c_box ul li,
.matome_block ul li {
	position: relative;
	padding: 0 0 0 20px;
	margin: 7px 0 7px 0px;
	font-weight: bold;
	font-size: 1rem;
	line-height: 30px;
}
.most_rl_block ul li::before,
.c_box ul li::before,
.matome_block ul li::before {
	counter-increment: list;
	content: "";
	display: block;
	position: absolute;
	left: 0px;
	height: 10px;
	width: 10px;
	border-radius: 50%;
	background: #0088b1;
	top: 1rem;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}


/*********************************************************************
 QUICK TAG
*********************************************************************/

.most_rl_block{
	margin-top: 48px;
}
.most_rl_block h3{
    margin: 0;
    border: none;
    color: #FFF;
    background: #3489b1;
    border-radius: 0;
    font-size: 1rem;
	padding: 1.5rem;
}
.most_rl_block h3:before {
	content: none;
}
.most_rl_block h3 span , .matome_block h3 span{
    border: none;
    padding-left: 0;
}
.most_rl_block ul{
    border: 1px dashed #0088b1;
    border-top: 0;
    margin-left: 0;
    padding: 0.1em 1em;
}
.fl{
	float: left;
}
.fr{
	float: right;
}
.s_emp{
	font-weight: bold;
    border-bottom: 2px dotted #ed218d;
	padding: 0 0.3em;
}
.m_emp{
	font-weight: bold;
    color: #ed218d;
    border-bottom: 2px dotted #000;
	padding: 0 0.3em;
}
.l_emp{
    font-weight: bold;
    color: #ec428d;
    font-size: 120%;
    border-bottom: 2px dotted #000;
	padding: 0 0.2em;
}
.ta_center{
	text-align: center;
}
.ta_left{
	text-align: left;
}
.ta_right{
	text-align: right;
}
.fs_70{
	font-size: 70%;
}
.fs_80{
	font-size: 80%;
}
.fs_90{
	font-size: 90%;
}
.fs_120{
	font-size: 120%;
}
.fs_130{
	font-size: 130%;
}
.fs_150{
	font-size: 150%;
}
.fc_black{
	color: #000;
}
.fc_pink{
	color: #ec428d;
}
.fc_blue{
	color: #3489b1;
}
.bd_pink{
	border: 2px solid #ec428d;
	background-color: #FFF;
	padding: 0.5em;
}
.bd_blue{
	border: 2px solid #3489b1;
	background-color: #FFF;
	padding: 0.5em;
}
.bg_pink{
	background-color: #ffe0f3;
	padding: 0.5em;
}
.bg_blue{
	background-color: #cce7ef;
	padding: 0.5em;
}
.bg_white{
	background-color: #FFF;
	padding: 0.5em;
}
.fw_n{
	font-weight: 500;
}
.fw_b{
	font-weight: bold;
}
.span_block{
	display: block;
}
.span_inline-block{
	display: inline-block;
}
.pa_0 , .entry-content p.pa_0{
	padding: 0;
}
.pa_05 , .entry-content p.pa_05{
	padding: 0.5em;
}
.pa_10 , .entry-content p.pa_10{
	padding: 1.0em;
}
.pa_15 , .entry-content p.pa_15{
	padding: 1.5em;
}
.pa_20 , .entry-content p.pa_20{
	padding: 2.0em;
}
.pt_0 , .entry-content p.pt_0{
	padding-top: 0;
}
.pt_05 , .entry-content p.pt_05{
	padding-top: 0.5em;
}
.pt_10 , .entry-content p.pt_10{
	padding-top: 1.0em;
}
.pt_15 , .entry-content p.pt_15{
	padding-top: 1.5em;
}
.pt_20 , .entry-content p.pt_20{
	padding-top: 2.0em;
}
.pb_0 , .entry-content p.pb_0{
	padding-bottom: 0;
}
.pb_05 , .entry-content p.pb_05{
	padding-bottom: 0.5em;
}
.pb_10 , .entry-content p.pb_10{
	padding-bottom: 1.0em;
}
.pb_15 , .entry-content p.pb_15{
	padding-bottom: 1.5em;
}
.pb_20 , .entry-content p.pb_20{
	padding-bottom: 2.0em;
}
.pl_0 , .entry-content p.pl_0{
	padding-left: 0;
}
.pl_05 , .entry-content p.pl_05{
	padding-left: 0.5em;
}
.pl_10 , .entry-content p.pl_10{
	padding-left: 1.0em;
}
.pl_15 , .entry-content p.pl_15{
	padding-left: 1.5em;
}
.pl_20 , .entry-content p.pl_20{
	padding-left: 2.0em;
}
.pr_0 , .entry-content p.pr_0{
	padding-right: 0;
}
.pr_05 , .entry-content p.pr_05{
	padding-right: 0.5em;
}
.pr_10 , .entry-content p.pr_10{
	padding-right: 1.0em;
}
.pr_15 , .entry-content p.pr_15{
	padding-right: 1.5em;
}
.pr_20 , .entry-content p.pr_20{
	padding-right: 2.0em;
}
.mt_0 , .entry-content p.mt_0{
	margin-top: 0;
}
.mt_05 , .entry-content p.mt_05{
	margin-top: 0.5em;
}
.mt_10 , .entry-content p.mt_10{
	margin-top: 1.0em;
}
.mt_15 , .entry-content p.mt_15{
	margin-top: 1.5em;
}
.mt_20 , .entry-content p.mt_20{
	margin-top: 2.0em;
}
.mb_0 , .entry-content p.mb_0 , .entry-content table.mb_0{
	margin-bottom: 0;
}
.mb_05 , .entry-content p.mb_05{
	margin-bottom: 0.5em;
}
.mb_10 , .entry-content p.mb_10{
	margin-bottom: 1.0em;
}
.mb_15 , .entry-content p.mb_15{
	margin-bottom: 1.5em;
}
.mb_20 , .entry-content p.mb_20{
	margin-bottom: 2.0em;
}
.ml_0 , .entry-content p.ml_0{
	margin-left: 0;
}
.ml_05 , .entry-content p.ml_05{
	margin-left: 0.5em;
}
.ml_10 , .entry-content p.ml_10{
	margin-left: 1.0em;
}
.ml_15 , .entry-content p.ml_15{
	margin-left: 1.5em;
}
.ml_20 , .entry-content p.ml_20{
	margin-left: 2.0em;
}
.mr_0 , .entry-content p.mr_0{
	margin-right: 0;
}
.mr_05 , .entry-content p.mr_05{
	margin-right: 0.5em;
}
.mr_10 , .entry-content p.mr_10{
	margin-right: 1.0em;
}
.mr_15 , .entry-content p.mr_15{
	margin-right: 1.5em;
}
.mr_20 , .entry-content p.mr_20{
	margin-right: 2.0em;
}
.entry-content ul li , .entry-content ol li{
	margin-bottom: 0.5em;
}
.matome_block{
	margin-top: 48px;
}
.matome_block h3{
    margin: 0;
    border: none;
    color: #FFF;
    background: #3489b1;
    border-radius: 0;
	padding: 1.5rem;
}
.matome_block h3::before{
	content: none;
}
.matome_block p{
    border: 3px solid #3489b1;
    padding: 1em;
    color: #20345f;
}
p.references{
    margin-top: -2rem;
    text-align: right;
    font-size: 80%;
    color: #3489b1;
}

/*********************************************************************
 ボックス
*********************************************************************/
.c_box {
	margin: 2em 0;
	border: 2px solid #dddddd;
	border-radius: 0.2em;
}

.c_box .box_title{
    margin-bottom: 0;
}
.c_box.intitle .box_title span {
	position: relative;
	top: -0.85em;
    left: 0.5em;
    padding: 0.5em 0.7em;
	background: #6d6d6d;
	color: #ffffff;
	font-weight: bold;
	border-radius: 0.2em;
	display: inline-block;
	vertical-align: bottom;
}
.c_box ul{
    margin: -1em 1em 0;
}
.c_box li{
	font-weight: bold;
}
.c_box.blue_box {
	background: #d4f3ff;
	border-color: #82c8e2;
	color: #465d65;
}
.c_box.blue_box .box_title span , .c_box.blue_box ul li:before {
	background: #82c8e2;
}
.c_box.red_box {
	background: #ffafaf;
	border-color: #e77373;
	color: #654646;
}
.c_box.red_box .box_title span , .c_box.red_box ul li:before {
	background: #e77373;
}
.c_box.yellow_box {
	background: #fff8d4;
	border-color: #ded647;
	color: #636546;
}
.c_box.yellow_box .box_title span , .c_box.yellow_box ul li:before {
	background: #ded647;
}
.c_box.green_box {
    background: #efffe4;
    border-color: #45a740;
    color: #42613a;
}
.c_box.green_box .box_title span , .c_box.green_box ul li:before {
	background: #45a740;
}
.c_box.pink_box {
	background: #ffeeee;
	border-color: #f7b2b2;
	color: #775454;
}
.c_box.pink_box .box_title span , .c_box.pink_box ul li:before {
	background: #f7b2b2;
}
.c_box.glay_box {
	background: #ececec;
	border-color: #c5c5c5;
	color: #555555;
}
.c_box.glay_box .box_title span , .c_box.glay_box ul li:before {
	background: #9c9c9c;
}
.c_box.black_box {
	background: #313131;
	border-color: #757575;
	color: #ffffff;
}
.c_box.black_box .box_title span , .c_box.black_box ul li:before {
	background: #757575;
}

.l-mainContent .c_box>:last-child {
	margin-bottom: 1.5em !important;
}

/*********************************************************************
 FLOW CHART
*********************************************************************/

.flow_content{
    border: 2px solid #0088b1;
    padding: 1em;
}
.flow_arrow{
    position: relative;
    height: 1em;
    text-align: center;
}
.flow_arrow:before{
    content: '';
    width: 2em;
    height: 2em;
    border: 0px;
    border-bottom: solid 5px #0088b1;
    border-right: solid 5px #0088b1;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    margin-top: -1.5em;
    margin-left: -1em;
}
