/*
 * 【はじめに】
 * 最終的には可能な限り、コメントは削除してください。
 * ここに記載しているコメントもほぼ不要です(auPay start / ecd は必要)
 * 変数の使い方
 * $ec_dir ･･･ それぞれ各ECの絶対パス(現状)
 * $ec_id ･･･ それぞれ各ECのID(CSVで設定している分)
 *
 * 例：background-image: url($ec_dir + '/img/bn_main_background_sp.jpg');
 *
 * SCSSについて
 * 例：if制御
 *  @if $shop == 1 {
 * 		#pc_header.ac img {
 *			width: initial;
 *		}
 *	}
 *
 * 今分かっている問題
 * 1.rgb()について
 *   rgba()を利用してください。うまく変換されません
 */
/* auPayについては、figureタグ等利用できないタグがあり、変換して利用する事になる
 * その変換されたタグ用にCSSを設定する必要があるので、下記コメントタグを利用し、
 * 開始・終了で閉じる事
 * また、if制御を利用して切り替えると楽
 * @if $shop == 5 {
 *	.studless .recommend > h3 > img {
 *		width: 100%;
 *	}
 * } @else {
 *	.studless .recommend > div img {
 *		width: 100%;
 *	}
 * }
 */
@charset "utf-8";
.ceat {
  font-family: 'Hiragino Sans', 'Meiryo', sans-serif;
  overflow: hidden; }

.ceat img {
  max-width: 100%;
  height: auto; }

.ceat header .bread {
  font-size: 12px;
  padding: 0.5em 1em; }

.ceat header .bread a {
  color: #0054a6;
  text-decoration: underline; }

.ceat header h2 img {
  background-color: #0054a6;
  padding: 8% 14%;
  width: 72%;
  margin-bottom: 50px; }

@media screen and (min-width: 768px) {
  .ceat header .bread a {
    text-decoration: none; }
    .ceat header .bread a:hover {
      text-decoration: underline; }
    .ceat header h2 {
      background: url("/asp/photo/auction/brand/ceat/img/ceat_logo_back.jpg") center / cover no-repeat;
      margin-bottom: 50px;
      display: flex;
      justify-content: center; }
    .ceat header h2 img {
      width: 40%;
      padding: 8% 18%;
      margin-bottom: 0; } }

@media screen and (min-width: 1024px) {
  .ceat header .bread {
    margin-left: calc(50% - 500px); }
    .ceat header h2 img {
      width: 410px;
      padding: 80px 180px; } }

.ceat header nav .menu_btn {
  width: 60px;
  height: 60px;
  background-color: #fff;
  border: 1px solid #f5822e;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 10px;
  right: 10px;
  padding-top: 10px;
  box-shadow: 2px 2px 10px #aaa;
  z-index: 100; }

.ceat header nav .menu_btn.is-fixed {
  position: fixed;
  top: 10px;
  right: 10px;
  animation: slidedown 0.5s; }

@keyframes slidedown {
  from {
    transform: translateY(-20px);
    opacity: 0; }

  to {
    transform: translateY(0);
    opacity: 1; } }

.ceat header nav .menu_btn div {
  width: 42px;
  height: 6px;
  background-color: #f5822e;
  position: relative;
  transition: 0.5s; }

.ceat header nav .menu_btn p {
  color: #f5822e;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.1em;
  transform: scale(0.86, 1.3); }

.ceat header nav .menu_btn.open {
  border: none;
  box-shadow: none;
  background-color: transparent;
  top: 11px;
  right: 11px; }

.ceat header nav .menu_btn.open div:nth-of-type(1) {
  transform: rotate(45deg) translate(8px, 8px); }

.ceat header nav .menu_btn.open div:nth-of-type(2) {
  opacity: 0; }

.ceat header nav .menu_btn.open div:nth-of-type(3) {
  transform: rotate(-45deg) translate(8px, -8px); }

@media screen and (min-width: 768px) {
  .ceat header nav .menu_btn {
    display: none; } }

.ceat .close_menu {
  width: 100%;
  height: 100%;
  background-color: transparent;
  position: fixed;
  z-index: -100;
  transition: 0.5s; }

.ceat .close_menu.open {
  z-index: 80;
  background-color: rgba(0, 0, 0, 0.3); }

.ceat header .top_menu {
  position: relative;
  top: -90px; }

.ceat header .top_menu ul {
  display: flex;
  flex-wrap: wrap;
  width: 55%;
  background-color: #fff;
  border: 1px solid #f5822e;
  border-radius: 10px;
  box-sizing: border-box;
  box-shadow: 2px 2px 10px #aaa;
  position: absolute;
  right: -100%;
  top: 10px;
  opacity: 0;
  z-index: 90;
  transition: 0.5s; }

.ceat header .top_menu ul.open {
  right: 10px;
  opacity: 1; }

.ceat header .top_menu.is-fixed ul.open {
  position: fixed; }

.ceat header .top_menu ul li img {
  width: 60%;
  margin: 15px 10px 0; }

.ceat header .top_menu ul li {
  width: 90%;
  margin: 0 auto 10px;
  box-sizing: border-box; }

.ceat header .top_menu ul li:nth-of-type(n+2) a {
  display: block;
  width: 90%;
  padding: 5px 10px;
  background-color: #f5822e;
  color: #fff;
  font-weight: bold;
  text-align: center;
  border-radius: 5px;
  font-size: 14px; }

.ceat header .top_menu ul li:nth-of-type(n+2) a span {
  font-weight: normal;
  display: block;
  font-size: 12px; }

@media screen and (min-width: 768px) {
  .ceat .close_menu {
    display: none; }

  .ceat header .top_menu {
    top: 0px;
    margin-bottom: 60px; }

  .ceat header .top_menu ul {
    width: 100%;
    border: none;
    box-shadow: none;
    position: relative;
    right: 0;
    top: 0;
    opacity: 1;
    justify-content: center; }

  .ceat header .top_menu ul li:first-of-type {
    display: none; }

  .ceat header .top_menu ul li {
    width: 15%;
    max-width: 200px;
    margin: 0 5px; }

  .ceat header .top_menu ul li:nth-of-type(n+2) a {
    padding: 10px;
    font-size: 11px; }

  .ceat header .top_menu ul li:nth-of-type(n+2) a span {
    line-height: 1;
    font-size: 10px; } }

@media screen and (min-width: 1024px) {
  .ceat header .top_menu ul li:nth-of-type(n+2) a {
    font-size: 15px; }

  .ceat header .top_menu ul li:nth-of-type(n+2) a span {
    font-size: 12px; } }

.ceat header .catch p {
  color: #0054a6;
  margin-bottom: 1em;
  text-align: center;
  line-height: 1.5;
  font-weight: bold;
  transform: scaleX(0.95);
  /*.ceat header .catch p:first-of-type {
  font-size: 3.4vw;
  letter-spacing: 0.05em;
}
.ceat header .catch p:first-of-type span {
  display: block;
  font-size: 5vw;
}*/ }

.ceat header .catch p:first-of-type {
  font-size: 5vw;
  letter-spacing: 0.1em; }

.ceat header .catch p:nth-of-type(2) {
  font-size: 3.7vw;
  letter-spacing: 0.05em; }

.ceat header .catch .wait1 span:first-of-type {
  color: #f5822e; }

.ceat header .catch .wait1 span:last-of-type {
  font-size: 3.2vw; }

.ceat header .catch img {
  width: 80%;
  max-width: 450px;
  display: block;
  margin: 0 auto 20px; }

.ceat a.lineup_btn {
  display: block;
  color: #fff;
  background-color: #f5822e;
  border-radius: 5px;
  text-align: center;
  width: 9em;
  margin: 0 auto 50px;
  font-size: 4.5vw;
  padding: 0.5em 2em 0.5em 1em;
  position: relative;
  font-weight: bold; }

.ceat a.lineup_btn::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  right: 1em;
  top: 40%;
  border: 7px solid transparent;
  border-top: 10px solid #fff; }

.ceat a.lineup_btn span.sp {
  display: none; }

@media screen and (min-width: 768px) {
  .ceat header .catch p {
    line-height: 1.5; }

  .ceat header .catch p br.sp {
    display: none; }

  .ceat header .catch p:first-of-type {
    font-size: 24px; }

  .ceat header .catch p:first-of-type span {
    display: block;
    font-size: 28px; }

  .ceat header .catch .wait1 span:last-of-type {
    font-size: 18px;
    /*.ceat header .catch p:first-of-type {
    font-size: 40px;
    margin-bottom: 0.3em;
  }*/ }

  .ceat header .catch p:nth-of-type(2) {
    font-size: 20px;
    line-height: 1.8; }

  .ceat header .catch img {
    margin-bottom: 80px; }

  .ceat a.lineup_btn {
    position: fixed;
    right: 20px;
    bottom: 100px;
    width: 100px;
    height: 100px;
    padding: 0;
    margin: 0;
    z-index: 100;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background-color: #0054a6;
    border-radius: 50%;
    font-size: 24px;
    box-sizing: border-box; }

  .ceat a.lineup_btn::after {
    border: none; }

  .ceat a.lineup_btn span.sp {
    display: inline;
    margin-top: 10px; }

  .ceat a.lineup_btn span.pc, .ceat #impression a.lineup_btn {
    display: none; } }

@media screen and (min-width: 1170px) {
  .ceat header .catch p:first-of-type span {
    font-size: 38px; }

  .ceat header .catch p:nth-of-type(2) {
    font-size: 24px; }

  .ceat a.lineup_btn {
    right: calc(50% - 565px); } }

.ceat section h3 {
  font-size: 9vw;
  font-weight: bold;
  color: #0054a6;
  text-align: center;
  letter-spacing: 0.1em;
  transform: scaleX(0.9);
  line-height: 1.2;
  border-bottom: 5px solid #f5822e;
  margin-bottom: 30px; }

.ceat section h4 {
  color: #0054a6;
  text-align: center;
  font-size: 5vw;
  letter-spacing: 0.1em;
  transform: scaleX(0.9);
  margin-bottom: 20px; }

.ceat section p {
  width: 90%;
  margin: 0 auto 30px;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-align: justify; }

.ceat section h5 {
  color: #0054a6;
  font-size: 3vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.8; }

.ceat section p br.pc {
  display: none; }

.ceat .about_oem {
  margin-bottom: 30px; }

.ceat .about_oem .oem_maker_logo {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 90%;
  margin: 0 auto; }

.ceat .about_oem .oem_maker_logo li {
  width: 30%;
  margin: 5px 5px 10px; }

.ceat .about_oem .oem_maker_logo li img {
  width: 100%; }

@media screen and (min-width: 768px) {
  .ceat section h3 {
    font-size: 40px;
    width: 500px;
    margin: 0 auto 50px;
    border-bottom: 6px solid #f5822e; }

  .ceat section h4 {
    font-size: 20px;
    margin-bottom: 10px; }

  .ceat section p {
    width: 100%;
    font-size: 12px;
    letter-spacing: 0.05em;
    text-align: center;
    line-height: 2;
    margin-bottom: 80px; }

  .ceat section h5 {
    font-size: 18px; }

  .ceat section p br.pc {
    display: block; }

  .ceat .about_ceat p, .ceat .about_oem p {
    margin-bottom: 30px; }

  .ceat .about_oem {
    margin-bottom: 80px; }

  .ceat .about_oem .oem_maker_logo {
    max-width: 920px; }

  .ceat .about_oem .oem_maker_logo li {
    width: 17%; } }

@media screen and (min-width: 1024px) {
  .ceat section p {
    font-size: 14px; } }

.ceat section#impression h4 span {
  display: block;
  margin-top: 10px;
  font-size: 0.8em; }

.ceat section#impression h4 span a {
  display: block;
  margin-top: 10px; }

.ceat section#impression h4 span img {
  width: 30%;
  max-width: 150px; }

.ceat section#impression h4 span img.bestcar_logo {
  display: block;
  margin: 0 auto; }

.ceat section#impression div.movie {
  margin-bottom: 5px; }

.ceat section#impression p span {
  font-weight: bold;
  color: #f5822e; }

.ceat section#impression p a {
  font-weight: bold;
  color: #0054a6; }

.ceat section#impression a.btn_impression {
  font-weight: bold;
  color: #fff;
  font-size: 14px;
  background-color: #f5822e;
  padding: 5px 0;
  margin: 0 auto 50px;
  display: block;
  width: 23em;
  text-align: center;
  border-radius: 10px; }

.ceat section#impression .link_bestcar {
  display: block;
  width: 90%;
  max-width: 920px;
  margin: 0 auto 30px; }

.ceat .link_review {
  display: none;
  position: fixed;
  right: 20px;
  bottom: 90px;
  width: 100px;
  height: auto;
  background-color: rgba(255, 255, 255, 0.8);
  border: 3px solid #0054a6;
  border-radius: 10px;
  padding: 0px;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3); }

.ceat .link_review img {
  transform: translateY(10px); }

@media screen and (min-width: 768px) {
  .ceat .link_review {
    bottom: 210px; }

  .ceat section#impression a.btn_impression {
    margin-bottom: 80px; } }

@media screen and (min-width: 1175px) {
  .ceat .link_review {
    right: calc(50% - 570px); } }

.ceat section .img_l {
  display: flex;
  flex-wrap: wrap; }

.ceat section .img_l img {
  display: block;
  width: 90%;
  margin: 0 auto 30px; }

.ceat section div.movie {
  width: 90%;
  max-width: 920px;
  height: auto;
  margin: 0 auto 50px; }

.ceat section div.movie iframe {
  width: 100%;
  max-width: 920px;
  height: 60vw;
  max-height: 500px; }

.ceat .section_leverkusen .partnership_image {
  width: 90%;
  max-width: 920px;
  height: auto;
  margin: 0 auto 50px;
  display: block; }

@media screen and (min-width: 768px) {
  .ceat section .img_l {
    justify-content: center;
    max-width: 1024px;
    margin: 0 auto 30px; }

  .ceat .section_leverkusen .img_l {
    flex-flow: row-reverse; }

  .ceat section .img_l img {
    width: 43%;
    margin-left: 5%;
    margin-right: 2%; }

  .ceat .section_torino .img_l img {
    width: 43%;
    margin-right: 5%;
    margin-left: 2%; }

  .ceat section .img_l > div {
    width: 43%;
    margin-right: 5%;
    margin-left: 2%; }

  .ceat .section_torino .img_l > div {
    width: 43%;
    margin-left: 5%;
    margin-right: 2%; }

  .ceat #partnership .img_l h4, .ceat #sustainability .img_l h4 {
    text-align: left;
    text-indent: -1em; }

  .ceat #partnership .img_l p, .ceat #sustainability .img_l p {
    text-align: left; }

  .ceat section div.movie {
    margin-bottom: 80px; }

  .ceat .section_leverkusen .partnership_image {
    margin-bottom: 80px; } }

.ceat #sustainability > p {
  margin-bottom: 30px; }

.ceat #sustainability ul {
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  justify-content: center;
  margin: 0 auto 10px; }

@media screen and (min-width: 768px) {
  .ceat #sustainability > p {
    margin-bottom: 50px; }

  .ceat #sustainability ul {
    margin-bottom: 50px;
    max-width: 920px;
    justify-content: space-between; }

  .ceat #sustainability ul li {
    width: 48%; } }

.ceat #lineup ul {
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto 30px; }

.ceat #lineup ul .lineup_box {
  width: 100%;
  position: relative;
  padding-bottom: 50px; }

.ceat #lineup ul .lineup_box small .ruby, .ceat #lineup ul .lineup_box .ptn_name, .ceat #lineup ul .lineup_box .inch {
  color: #0054a6;
  text-align: center;
  margin-bottom: 0;
  font-weight: bold; }

.ceat #lineup ul .lineup_box .ptn_name {
  font-size: 35px;
  letter-spacing: 0.01em;
  width: 100%; }

.ceat #lineup ul .lineup_box .inch {
  color: #f5822e;
  font-size: 24px;
  letter-spacing: 0.05em;
  transform: scaleX(0.9);
  margin-bottom: 40px; }

.ceat #lineup ul .lineup_box .category {
  position: absolute;
  left: 0;
  top: 120px;
  width: 130px;
  text-align: center; }

.ceat #lineup ul .lineup_box .category img {
  height: 80px;
  width: auto; }

.ceat #lineup ul .lineup_box .tyre {
  width: 85%;
  margin: 0 auto 10px;
  text-align: center; }

.ceat #lineup ul .lineup_box .description {
  width: 100%;
  line-height: 2;
  margin-bottom: 20px;
  font-weight: bold; }

.ceat #lineup ul .lineup_box .btn_lineup {
  color: #fff;
  background-color: #f5822e;
  font-weight: bold;
  display: block;
  text-align: center;
  padding: 0.4em;
  font-size: 18px;
  letter-spacing: 0.1em;
  border-radius: 1.4em;
  position: relative;
  text-indent: -0.5em; }

.ceat #lineup ul .lineup_box .btn_lineup::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 15px solid #fff;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 10px; }

@media screen and (min-width: 768px) {
  .ceat #lineup ul {
    justify-content: space-between;
    max-width: 920px; }

  .ceat #lineup ul .lineup_box {
    width: 45%;
    padding-bottom: 80px; }

  .ceat #lineup ul .lineup_box small .ruby, .ceat #lineup ul .lineup_box .ptn_name, .ceat #lineup ul .lineup_box .inch {
    line-height: 1.5; }

  .ceat #lineup ul .lineup_box .category img {
    height: 7vw;
    max-height: 70px; }

  .ceat #lineup ul .lineup_box .description {
    text-align: left;
    line-height: 2.3; }

  .ceat #lineup ul .lineup_box .btn_lineup {
    width: 230px;
    padding: 0.6em;
    margin: 0 auto;
    text-indent: -1em; }

  .ceat #lineup ul .lineup_box .btn_lineup span {
    display: none; }

  .ceat #lineup ul .lineup_box .btn_lineup::after {
    border-left: 10px solid transparent;
    border-top: 15px solid #fff;
    border-right: 10px solid transparent;
    transform: translateY(-35%); } }

.ceat #mediagallery h4 {
  font-size: 4.5vw;
  letter-spacing: 0.05em; }

.ceat #mediagallery p.caption {
  margin-bottom: 0;
  background-color: #f7f2a7; }

.ceat #mediagallery div.movie {
  margin-bottom: 5px;
  /*
.ceat #mediagallery a {
  color: #fff;
  background-color: #f5822e;
  font-weight: bold;
  font-size: 16px;
  display: block;
  text-align: center;
  margin: 0 auto 50px;
  padding: 0.5em 2em 0.5em 1em;
  width: 23em;
  border-radius: 3em;
  position: relative;
  box-sizing: border-box;
}

.ceat #mediagallery a::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  right: 1em;
  border: 7px solid transparent;
  border-left: 10px solid #fff;
  top: 50%;
  transform: translateY(-50%);
}
*/ }

.ceat #mediagallery div {
  text-align: center;
  margin-bottom: 30px; }

.ceat #mediagallery div:hover {
  opacity: 0.7; }

.ceat #mediagallery a img {
  width: 90%; }

@media screen and (min-width: 768px) {
  .ceat #mediagallery h4 {
    font-size: 22px; }

  .ceat #mediagallery h4 br.sp {
    display: none; }

  .ceat #mediagallery p.caption {
    width: 90%;
    max-width: 920px;
    margin: 0 auto;
    /*
  .ceat #mediagallery a {
    font-size: 20px;
  }
*/ }

  .ceat #mediagallery a img {
    max-width: 920px; } }

@media screen and (min-width: 1024px) {
  .ceat #mediagallery h4 {
    font-size: 26px; } }

.ceat #pagetop {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background-color: #f5822e;
  color: #fff;
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 10px;
  box-sizing: border-box; }

.ceat #pagetop div {
  width: 100%;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  transform: scaleX(0.9); }

.ceat #pagetop div img {
  width: 55%; }

@media screen and (min-width: 1100px) {
  .ceat #pagetop {
    right: calc(50% - 530px); } }

.ceat footer {
  background-color: #0054a6;
  padding-bottom: 30px; }

.ceat footer a {
  color: #fff;
  font-size: 12px; }

.ceat footer .footer_menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1em; }

.ceat footer .footer_menu ul li {
  padding: 0.5em 0; }

.ceat footer .footer_menu ul li a {
  padding: 0 1em;
  border-right: 1px solid #fff; }

.ceat footer .footer_menu ul li:nth-of-type(3) a, .ceat footer .footer_menu ul li:nth-of-type(6) a {
  border-right: none; }

.ceat footer nav:nth-of-type(2) ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0 1em 1em; }

.ceat footer nav:nth-of-type(2) ul li {
  padding: 0.3em 0.5em; }

.ceat footer small {
  color: #fff;
  text-align: center;
  font-size: 12px;
  display: block; }

@media screen and (min-width: 452px) {
  .ceat footer .footer_menu ul li:nth-of-type(3) a {
    border-right: 1px solid #fff; }

  .ceat footer .footer_menu ul li:nth-of-type(4) a {
    border-right: none; } }

@media screen and (min-width: 526px) {
  .ceat footer .footer_menu ul li:nth-of-type(4) a {
    border-right: 1px solid #fff; }

  .ceat footer .footer_menu ul li:nth-of-type(5) a {
    border-right: none; } }

@media screen and (min-width: 648px) {
  .ceat footer .footer_menu ul li:nth-of-type(5) a {
    border-right: 1px solid #fff; } }

@keyframes waitin_up {
  from {
    transform: translateY(20px);
    opacity: 0; }

  to {
    transform: translateY(0);
    opacity: 1; } }

.ceat header .catch .wait1 {
  opacity: 0;
  animation: waitin_up 0.5s ease-in-out 0.5s forwards; }

.ceat header .catch .wait2 {
  opacity: 0;
  animation: waitin_up 0.5s ease-in-out 0.6s forwards; }

.ceat header .catch .wait3 {
  opacity: 0;
  animation: waitin_up 0.5s ease-in-out 0.7s forwards; }

.ceat section.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 500ms; }

.ceat section.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.ceat #lineup .lineup_box.fadein {
  opacity: 0;
  transform: translate(50px, 0px);
  transition: all 1000ms; }

.ceat #lineup .lineup_box.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.ceat header h2 + a {
  position: absolute;
  /*top: 48vw;*/
  width: 170px;
  top: 52vw;
  left: 3%;
  right: auto;
  bottom: auto;
  z-index: 10; }

.ceat header h2 + a.scroll {
  position: fixed;
  top: auto;
  left: auto;
  right: 20px;
  bottom: 90px;
  animation: hide_view 0.5s ease-in-out forwards; }

@keyframes hide_view {
  from {
    opacity: 0; }

  to {
    opacity: 1; } }

.ceat #campaign > img {
  display: block;
  width: 90%;
  max-width: 920px;
  margin: 0 auto 20px; }

.ceat #campaign ol, .ceat #campaign ul {
  width: 90%;
  max-width: 790px;
  margin: 0 auto 20px; }

.ceat #campaign ul li {
  list-style-type: decimal;
  margin-left: 1em;
  font-size: 14px; }

.ceat #campaign ol li {
  font-size: 4vw;
  margin-bottom: 10px;
  font-weight: bold; }

.ceat #campaign ol li span {
  background-color: #f5822e;
  color: #fff;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  display: inline-block;
  text-align: center;
  margin-right: 1em; }

.ceat #campaign ul li {
  list-style-type: disc;
  max-width: 550px;
  margin: 0 auto; }

.ceat #campaign .period {
  text-align: center; }

.ceat #campaign .detail {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  max-width: 1024px;
  margin: 0 auto 20px; }

.ceat #campaign .period dl {
  width: 95%;
  margin: 0 auto 20px;
  padding: 1em 0.5em;
  font-size: 3.6vw;
  background-color: #f5822e;
  color: #fff;
  font-weight: bold;
  box-sizing: border-box;
  line-height: 1.8; }

.ceat #campaign .period dl dd:first-of-type {
  margin-bottom: 10px;
  /*
.ceat #campaign .period dl dt {
  width: 9em;
}

.ceat #campaign .period dl dd {
  width: 15em;
}*/ }

.ceat #campaign .detail_btn {
  margin-bottom: 20px;
  font-size: 3.5vw;
  color: #fff;
  background-color: #0054a6;
  padding: 0.5em 1em 0.5em 0;
  width: 4em;
  border-radius: 2em;
  text-align: center;
  position: relative; }

.ceat #campaign .detail_btn::after {
  content: '';
  position: absolute;
  right: 1em;
  width: 0;
  height: 0;
  top: 40%;
  border: 5px solid transparent;
  border-top: 7px solid #fff; }

.ceat #campaign ul.detail_text {
  display: none; }

.ceat #campaign ul.detail_text.open {
  display: block; }

.ceat #campaign > a {
  color: #fff;
  background-color: #f5822e;
  font-weight: bold;
  display: block;
  text-align: center;
  padding: 0.4em;
  font-size: 18px;
  letter-spacing: 0.1em;
  border-radius: 1.4em;
  position: relative;
  width: 90%;
  margin: 0 auto 50px; }

.ceat #partner {
  background-color: #c8e4ff;
  padding: 30px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }

.ceat #partner img {
  max-width: 100%;
  margin: 10px 30px; }

.ceat #partner img.partnership {
  margin: 0 30px; }

@media screen and (max-width: 768px) {
  .ceat #partner > a {
    width: 100%; }

  .ceat #partner img {
    margin: 20px auto;
    display: block; } }

@media screen and (min-width: 768px) {
  .ceat header h2 + a {
    width: 200px;
    top: 31vw; }

  .ceat header h2 + a.scroll {
    width: 150px;
    bottom: 210px; }

  .ceat #campaign > img {
    margin-bottom: 45px; }

  .ceat #campaign h4 {
    font-size: 24px; }

  .ceat #campaign ul li {
    font-size: 16px; }

  .ceat #campaign ol, .ceat #campaign ul {
    margin: 0 auto 30px; }

  .ceat #campaign ol {
    font-size: 22px;
    width: 22em; }

  .ceat #campaign ol li {
    font-size: 22px; }

  .ceat #campaign .period {
    text-align: unset; }

  .ceat #campaign .period dl {
    font-size: 20px;
    width: 29em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 40px; }

  .ceat #campaign .period dl dt {
    width: 9em; }

  .ceat #campaign .period dl dd:first-of-type {
    margin: 0; }

  .ceat #campaign .period dl dd {
    width: 16em; }

  .ceat #campaign .detail_btn {
    display: none; }

  .ceat #campaign ul.detail_text {
    display: block; }

  .ceat #campaign ul:last-of-type {
    margin-bottom: 50px; }

  .ceat #campaign > a {
    padding: 0.6em;
    width: 20em;
    font-size: 20px;
    margin-bottom: 80px; } }

@media screen and (min-width: 1024px) {
  .ceat header h2 + a {
    top: 320px;
    left: calc(50% - 480px); } }

@media screen and (min-width: 1275px) {
  .ceat header h2 + a.scroll {
    right: calc(50% - 616px); } }
