@charset "UTF-8";
/* layout
----------------------------- */
.co_container_box_inner {
  margin: 0 auto;
}
.contentsArea {
  width: 770px;
  margin: 0 auto;
  padding-bottom: 35px;
  float: right;
  background: #07b53b;
  letter-spacing: .025em;
  line-height: 1.5;
  text-align: left;
}
.contentsArea * {
  box-sizing: border-box;
}
.contentsArea img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.container {
  position: relative;
  padding: 40px 56px 0;
}
/* common
----------------------------- */
.imgBlock {
  text-align: center;
}
.imgBlock a {
  display: block;
}
.imgBlock img {
  max-width: 100%;
}
.underline {
  text-decoration: underline;
  text-decoration-line: underline;
  text-underline-position: under;
  text-decoration-skip-ink: none;
}
.indent {
  padding-left: 1em;
  text-indent: -1em;
}
.bold {
  font-weight: bold;
}
.contentsArea .small {
  margin-top: 4px;
  font-size: 12px;
}
.contentsArea .kome {
  margin-top: 4px;
}
.contentsArea .small + .small,
.contentsArea .kome + .kome {
  margin-top: 0;
}
.contentsArea .center {
  text-align: center;
}
.contentsArea .left {
  text-align: left;
}
.contentsArea .red {
  color: #d00;
}
.contentsArea .br_hidden {
  display: none;
}
.contentsArea .ttl_ribbon img {
  width: auto;
  height: 48px;
}
.contentsArea .pc_hidden {
  display: none;
}
/* common Links
----------------------------- */
a {
  transition: all .2s;
}
a:hover img {
  opacity: 1!important;
}
a:hover {
  opacity: .7;
}
.line_friendbtn,
.tokuten_link a {
  transition: transform .2s;
}
.line_friendbtn:hover,
.tokuten_link a:hover {
  transform: translateY(-1px);
  opacity: 1;
  filter: drop-shadow(0 8px 8px rgba(13,13,13,.4));
}
/* header
----------------------------- */
.head_area {
  margin: 0 auto;
}
.head_area img {
  width: 100%;
  height: auto;
}
/* line_now
----------------------------- */
.line_now_text {
  max-width: 600px;
  margin: 0 auto;
  padding: 10px;
  border-radius: 8px;
  background: #fff;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
}
.line_now_text .red {
  font-size: inherit;
}
.line_friendbtn {
  display: block;
  position: relative;
  max-width: 600px;
  margin: auto;
  border-radius: 8px;
  background: #f39800;
  text-align: center;
  filter: drop-shadow(0 4px 4px rgba(13,13,13,.25));
}
.line_now_text + .line_friendbtn {
  margin-top: 24px;
}
.link_step {
  margin: 20px auto 24px;
  text-align: center;
}
.link_step a {
  display: inline-block;
  padding: 12px 40px;
  border-radius: 40px;
  background: #f39800;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .1em;
  filter: drop-shadow(0 2px 4px rgba(13,13,13,.2));
}
.link_step a:hover {
  filter: unset;
  text-decoration: none;
}
/* line_exbnrarea
----------------------------- */
.line_exbnrarea {
  max-width: 512px;
  margin: 40px auto 0;
  padding: 12px 16px 16px;
  border-radius: 8px;
  background: #fff;
}
.line_exbnrtext {
  margin: 16px auto 4px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
.line_exbnrtext:first-child {
  margin-top: 0;
}
.line_exbnrarea a {
  display: block;
}
.line_exbnrarea img {
  width: 100%;
  max-width: 480px;
  height: auto;
}
/* link_area
----------------------------- */
.link_area {
  margin-top: 40px;
}
.tokuten_link {
  display: flex;
  gap: 16px;
  padding: 0 35px 0;
}
.tokuten_link a {
  display: block;
  filter: drop-shadow(0 4px 4px rgba(13,13,13,.25));
}
.line_convenientarea {
  position: relative;
  margin: 40px auto 0;
  padding: 40px 0 40px;
  background: #b2ead9;
}
.line_convenientarea .ttl_ribbon {
  position: absolute;
  top: 37px;
  left: 0;
}
.line_convenientarea .ttl_ribbon + img {
  margin-top: 24px;
}
/* line_tokuten
----------------------------- */
.line_tokuten_area .join_area {
  padding: 0 0 16px;
  text-align: center;
}
.line_tokuten_area .join_area p {
  font-size: 18px;
}
.line_tokuten_area .join_area .line_friendbtn {
  max-width: 558px;
  margin-top: 8px;
}
.line_tokuten_inner {
  margin-top: 4px;
  border: 2px solid #03672c;
  border-radius: 24px;
  background: #fff;
}
.line_tokuten_ttl {
  position: relative;
  padding: 16px 0;
  border-radius: 24px 24px 0 0;
  background: #fff588;
}
.line_tokuten_ttl img:last-child {
  width: 90%;
}
.line_tokuten_ttl.col-2 {
  padding: 12px 0;
}
.line_tokuten_ttl img:first-child {
  position: absolute;
  top: -20px;
  left: -16px;
  width: 100px;
}
.detail_img {
  margin: 24px;
  text-align: center;
}
.detail_contents {
  padding: 0 24px 24px;
}
.detail_title {
  margin-top: 20px;
  padding: 4px;
  border-top: 2px solid #03672c;
  border-bottom: 2px solid #03672c;
  color: #03672c;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
.detail_present {
  padding: 12px 0 0;
  border-radius: 8px;
  color: #ea5505;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.detail_present span {
  display: block;
  margin-bottom: 4px;
  font-size: 20px;
}
.detail_contents .howto_coupon {
  margin: 16px auto;
  padding: 20px;
  border-radius: 16px;
  background: #fff588;
  text-align: center;
}
.detail_contents .howto_coupon .howto_coupon_title {
  display: inline-block;
  position: relative;
  padding: 2px 24px;
  background: #ea5505;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: .15em;
}
.detail_contents .howto_coupon .howto_coupon_title::before {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  width: 8px;
  height: 25px;
  background: #fff588;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.detail_contents .howto_coupon .howto_coupon_title::after {
  content: "";
  position: absolute;
  top: 0;
  right: -1px;
  width: 8px;
  height: 25px;
  background: #fff588;
  clip-path: polygon(100% 0, 100% 100%, 0 50%);
}
.detail_contents .howto_coupon p.small {
  margin-top: 16px;
}
.detail_contents .howto_coupon .icon_wrap {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}
.detail_contents .howto_coupon .icon_wrap a {
  width: 100px;
  margin: 0 16px;
  filter: drop-shadow(0 2px 4px rgba(13,13,13,.2));
}
.detail_contents .howto_coupon .icon_wrap a:hover {
  filter: unset;
}
.detail_contents .howto_coupon p {
  font-size: 16px;
}
.detail_contents .howto_coupon a {
  text-decoration: underline;
}
.detail_box * {
  font-size: 16px;
  line-height: 1.5;
}
.detail_box a {
  text-decoration: underline;
}
.detail_box dt {
  margin-top: 10px;
  color: #03672c;
  font-weight: bold;
}
.detail_box dt::before {
  content: "●";
  position: relative;
  left: -2px;
  color: #03672c;
  font-size: 18px;
  line-height: 18px;
  vertical-align: middle;
}
.detail_box dd .tag1 {
  display: inline-block;
  margin: 4px 0;
  padding: 1px 12px 1px 8px;
  border-radius: 0 16px 16px 0;
  background: #00c2c2;
  color: #fff;
}
.detail_box dd .point {
  display: inline-block;
  margin-bottom: 4px;
  padding-left: 1em;
  background: linear-gradient(transparent 50%, #fff588 0%);
  color: #ea5505;
  font-size: 18px;
}
.detail_box dd .tag2 {
  display: inline-block;
  margin: 4px 0;
  padding: 0 12px 0 8px;
  border-radius: 0 16px 16px 0;
  background: #f39800;
  color: #fff;
}
.line_entryarea {
  margin: 16px auto;
  text-align: center;
}
.line_entryarea a {
  display: block;
  max-width: 558px;
  margin: auto;
  border-radius: 8px;
  background: #f39800;
  text-align: center;
  filter: drop-shadow(0 3px 4px rgba(13,13,13,.25));
}
.line_entryarea a:hover {
  filter: unset;
}
.line_entryarea img {
  max-width: 558px;
}
.line_attention {
  margin-top: 8px;
}
.line_attention p {
  font-size: 14px;
  line-height: 1.4;
}
.point_list .border_box {
  margin: 4px 0 0 0;
  padding: 6px 8px;
  border: 2px solid #e6b800;
  border-radius: 8px;
}
.point_list .border_box .bold {
  color: #ea5505;
  font-size: 18px;
}
.point_list .border_box .small {
  font-size: 14px;
}
.point_list .more_text {
  margin: 4px auto;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}
.point_list .more_text img {
  display: inline-block;
  width: auto;
  height: 1em;
  margin-right: 4px;
}
.point_list .total_point {
  margin-top: .4em;
  color: #ea5505;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
/* line_step
----------------------------- */
.line_step {
  position: relative;
  margin: 40px auto 0;
  padding: 40px 0 1px;
  background: #b2ead9;
}
.line_step .swiper-container,
.line_stepabout {
  margin: 40px 70px;
}
.line_step_wrap {
  position: relative;
}
.line_stepabout img {
  width: 100%;
  height: auto;
}
.line_step .link_step {
  margin: 40px auto;
}
/* swiper
----------------------------- */
.swiper-slide img {
  border-radius: 24px;
}
.swiper-button-prev::after,
.swiper-container-rtl .swiper-button-next::after,
.swiper-button-next::after,
.swiper-container-rtl .swiper-button-prev::after {
  content: ""!important;
}
.swiper-button-next,
.swiper-button-prev {
  width: 60px!important;
  height: 60px!important;
}
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 40px!important;
  background: url("/sol/cc/N/special/line_start/images/2024/btn_prev.png") center/contain no-repeat;
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 40px!important;
  transform: scale(-1, 1);
  background: url("/sol/cc/N/special/line_start/images/2024/btn_prev.png") center/contain no-repeat;
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  pointer-events: auto!important;
}
/* sns_area
----------------------------- */
.btn_areas {
  margin: 0 35px;
  padding: 12px 0 0;
}
.btn_areas.clearfix {
  margin: 0 16px;
}
.btn_areas img {
  width: auto;
  height: 20px;
}