img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

h2 {
  padding: 0;
  margin: 0;
}

p,
li {
  font-size: 0.9rem;
}

/*--------------------------------
  ul
--------------------------------*/
ul {
  padding-left: 0;
}

ul li {
  list-style-type: none;
}

ul.list-style-disc li {
  list-style-type: disc;
}

/*--------------------------------
  背景
--------------------------------*/
.bg-white {
  background-color: #fff;
}

/*--------------------------------
  テキスト
--------------------------------*/
.text-red {
  color: #da3915;
}

.text-blue {
  color: #00479d;
}

.text-gold {
  color: #a79000;
}

.font-bold {
  font-weight: bold;
}

.text-indent {
  display: flex;
}

.text-indent::before {
  content: "※";
  flex-shrink: 0;
}

/*--------------------------------
  margin
--------------------------------*/
.mb00,
.mb-0 {
  margin-bottom: 0;
}

.mb5,
.mb-5 {
  margin-bottom: 5px;
}

.mb10,
.mb-10 {
  margin-bottom: 10px;
}

.mb20,
.mb-20 {
  margin-bottom: 20px;
}

.mb30,
.mb-30 {
  margin-bottom: 30px;
}

.mb40,
.mb-40 {
  margin-bottom: 40px;
}

.mb50,
.mb-50 {
  margin-bottom: 50px;
}

.mb75,
.mb-75 {
  margin-bottom: 75px;
}

.mb100,
.mb-100 {
  margin-bottom: 100px;
}

/*--------------------------------
  padding
--------------------------------*/
.pd0_15 {
  padding: 0 15px;
}

.pt10,
.pt-10 {
  padding-top: 10px;
}

.py-10 {
  padding-top: 10px;
  padding-bottom: 10px;
}

.py-20 {
  padding-top: 20px;
  padding-bottom: 20px;
}

.py-30 {
  padding-top: 30px;
  padding-bottom: 30px;
}

.pl-10 {
  padding-left: 10px;
}

.pl-20 {
  padding-left: 20px;
}

.pl-30 {
  padding-left: 30px;
}

/*--------------------------------
  flex
--------------------------------*/
.flex {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--gap, 0px) / -2);
  margin-right: calc(var(--gap, 0px) / -2);
}

.justify-between {
  justify-content: space-between;
}

.justify-center {
  justify-content: center;
}

.justify-around {
  justify-content: space-around;
}

.items-center {
  align-items: center;
}

[class*="col-"] {
  box-sizing: border-box;
  padding-left: calc(var(--gap, 0px) / 2);
  padding-right: calc(var(--gap, 0px) / 2);
}

.col-span-8,
.col-span-7,
.col-span-6,
.col-span-5,
.col-span-4,
.col-span-3 {
  flex: 0 0 100%;
  max-width: 100%;
}

@media (min-width: 768px) {
  .col-span-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }

  .col-span-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-span-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-span-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }

  .col-span-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-span-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-span-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
}

/*--------------------------------
  gap
--------------------------------*/
.gap-10 {
  --gap: 10px;
}

.gap-20 {
  --gap: 20px;
}

.gap-30 {
  --gap: 30px;
}


/*--------------------------------
  layout
--------------------------------*/
.center {
  text-align: center;
}

.float_img {
  overflow: hidden;
}

.float_img img {
  display: block;
  float: left;
  vertical-align: bottom;
}

.sp_true img {
  display: block;
  vertical-align: bottom;
}


#aichimai {
  padding-top: 20px;
  background-color: #fff5e0;
}

#aichimai .co-h1 {
  width: 100%;
  background-color: #fff;
  padding-top: 20px;
}

#aichimai .co-h1 h1 {
  margin: 0;
}

#aichimai .co-max940 {
  max-width: 940px;
  margin: 0 auto;
}

#aichimai_cp_head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#aichimai_cp_head .main {
  width: 328px;
  height: 355px;
}

#aichimai_cp_head .main img {
  height: 355px;
}

#aichimai_cp_head .movie {
  width: 632px;
  height: 355px;
}

#aichimai_cp_head .movie video {
  width: 100%;
  height: 355px;
}

.w800 {
  max-width: 800px;
  margin: 0 auto;
}

.container-oubo {
  background-color: #fff;
  padding: 40px 0 0 0;
  overflow: hidden;
}



.aichimai_cp_present_headbt {
  padding-top: 20px;
  text-align: center;
  background-color: #faebd8;
}

.aichimai_cp_web_headbt {
  padding-top: 20px;
  text-align: center;
  background-color: #b2dee7;
}

.aichimai_cp_present_head {
  background-color: #faebd8;
}

.aichimai_cp_quiz_head {
  padding-bottom: 15px;
  overflow: hidden;
  text-align: center;
  background-color: #fcf3de;
}

.txt_pink {
  color: #ec79a0;
}

.color_red {
  color: #ea0000;
}

.txt_line {
  color: #31ae36;
}

.sample {
  font-size: 12px;
}

hr.dot_border {
  height: 6px;
  background: url(./img/cp2025/bg_dotborder.png);
  border: none;
}

.center img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

table#table_present th {
  width: 16%;
}

table#table_present th,
table#table_present td {
  padding: 5px;
  border: none;
}

.h3ti_obo_hagaki {
  padding: 10px 0;
  font-size: 1rem;
  color: #d70c19;
  border-top: 2px solid #d70c19;
  border-bottom: 2px solid #d70c19;
}

.h3ti_obo_line {
  padding: 10px 0;
  font-size: 1rem;
  color: #31ae36;
  border-top: 2px solid #31ae36;
  border-bottom: 2px solid #31ae36;
}

.h3ti_obo_bl {
  padding: 10px 0;
  font-size: 1rem;
  color: #000;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
}

#aichimai_cp #oubo {
  padding-top: 30px;
}

#aichimai_cp #oubo .col-2 {
  padding: 0 0 0 15px;
}

#aichimai_cp #oubo .col-2 p {
  padding: 5px;
  font-weight: bold;
  line-height: 1em;
  color: #fff;
  background-color: #ec79a0;
}

#aichimai_cp #oubo .col-10 {
  padding: 0 15px 0 15px;
}

.hagakiflex {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  gap: 40px;
}

.hagakiflex-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  gap: 20px;
}

#line {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}


#line {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#line div {
  float: left;
}

.zei20190930 {
  padding: 10px 10px 0 10px;
  border: 2px solid #ea0000;
}

#line div.right {
  float: right;
}

#page_line {
  padding: 30px 0 20px 0 !important;
}

#page_line a.btn {
  padding: 10px 30px;
  background-color: #31ae36;
  border-radius: 5px;
}

#page_line a.btn:link {
  color: #fff;
}

h2.endcp_h2ti {
  font-size: 1.4rem;
  font-weight: bold;
  color: #d70c19;
}

/* --------------------------------
 応募フォーム
-------------------------------- */

p.fsize1 {
  font-size: 0.9rem !important;
}

.w3rem {
  display: inline-block;
  width: 3rem !important;
}

#aichimai_oubo h5 {
  padding: 0.5rem;
  font-size: 1rem;
  border: 1px solid #f00;
}

#aichimai_oubo ul {
  padding-left: 0.5rem;
}

#aichimai_oubo li {
  margin-bottom: 0.6rem;
  font-size: 1rem;
}

#aichimai_oubo p {
  font-size: 1rem;
}

#aichimai_oubo p.privacy {
  font-size: 0.9rem;
}

#aichimai_oubo .per20 {
  float: left;
  width: 20%;
}

h2.h2ti_quiz {
  font-size: 1.4rem;
}

#aichimai_oubo .per10 {
  width: 10rem;
}

#aichimai_oubo .per90 {
  width: 90%;
}

#aichimai_oubo .width20 {
  width: 20%;
}

#aichimai_oubo .harf {
  width: 50%;
}

#aichimai_oubo p.spanleft {
  float: left;
  font-size: 1rem;
}

#aichimai_oubo .form-hissu {
  color: #f00;
}

#aichimai_oubo #contact_submit {
  margin: 0 auto;
  font-size: 1.2rem;
}

#aichimai_oubo .center {
  text-align: center;
}

#aichimai_oubo #form_submitdiv {
  clear: both;
}

#aichimai_oubo #input_answer {
  max-width: 100px;
  font-size: 1rem;
}

label {
  cursor: pointer;
}

/* --------------------------------
 ipad用設定
-------------------------------- */
@media screen and (min-width: 650px) and (max-width: 960px) {
  #aichimai_cp_head {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    background-color: #fff5e0;
  }

  #aichimai_cp_head .main {
    width: 35%;
    height: auto;
  }

  #aichimai_cp_head .main img {
    width: 100%;
    height: auto;
  }

  #aichimai_cp_head .movie {
    width: 65%;
    height: auto;
    background-color: #000;
  }

  #aichimai_cp_head .movie video {
    width: 100%;
    height: auto;
  }

  .w800 {
    width: 100%;
    padding: 0 20px;
  }
}

/* --------------------------------
 スマートフォン用設定
-------------------------------- */
@media screen and (max-width: 649px) {

  #aichimai_cp_head .main,
  #aichimai_cp_head .main img,
  #aichimai_cp_head .movie,
  #aichimai_cp_head .movie video {
    width: 100%;
    height: auto;
  }

  .w800 {
    width: 100%;
    padding: 0 20px;
  }

  #aichimai .co-h1 {
    padding-top: 0;
  }

  #aichimai .co-max940 {
    max-width: 100%;
  }

  #aichimai_oubo .per20 {
    width: 50%;
  }

  #aichimai_oubo .width20 {
    width: 50%;
    text-align: center;
  }


  .container-oubo .w800 {
    padding: 0 20px;
  }

  .aichimai_cp_web_headbt {
    background-color: #7bcbd8;
  }
}