@charset "UTF-8";
/* ==========================================================

title : 刀剣広場
scope : 刀剣広場 共通

memo： 応募フォームの共通CSS

last modify : 2024/12 WEB2TCI-49106 em指定の文字サイズクラス（0.05em刻み）追加
2023/06/12 tanaka／WEB2TCI-34695 刀剣広場トップページデザイン追加
2020/11/02 TCI福岡／WEB2TCI-14309
2020/11/04 TCI福岡／WEB2TCI-16257
2020/10/15 TCI福岡／WEB2TCI-14227
2020/03/27 TCI福岡／レイアウト修正
2020/01/14 TCI福岡／新規作成

========================================================== */

/* ------------------------------------ */
/* ▼ KV Gnavi */
/* ------------------------------------ */
.cmn_gnav_list_wrap {
  background: url(../image-cmn/header/bg-firework-brown.png) repeat 0 0;
  display: flex;
  justify-content: center;
  min-width: 1024px;
}

.cmn_gnav_list {
  width: auto;
  margin: 0 1px;
}

.cmn_gnav_list>a,
.cmn_gnav_list>span {
  color: #fff;
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  padding: 1.1rem 1.4rem;
  text-align: center;
}

.cmn_gnav_list.gray {
  background: #868686;
  pointer-events: none;
}

/** current color **/
/* イラスト・マンガ投稿 */
body.illust .gnav_illust,
body.photo .gnav_photo {
  background-color: #ff0000;
}

@media (min-width: 768px) {
  .cmn_gnav_list>a {
    transition: background-color .3s;
  }

  .cmn_gnav_list>a:hover {
    background-color: #ff0000;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .cmn_gnav_list>a:hover {
    background-color: transparent;
  }
}

@media (max-width: 1024px) {
  .cmn_gnav_wrap {
    overflow-x: scroll;
  }
}

@media (max-width: 767px) {
  .cmn_gnav_list_wrap {
    background-size: 25% auto;
    min-width: 760px;
  }

  .cmn_gnav_list>a,
  .cmn_gnav_list>span {
    font-size: 1.3rem;
    font-weight: normal;
    line-height: 1.2;
    padding: .8rem 1rem;
  }
}

/* ------------------------------------ */
/* ▼ Footer */
/* ------------------------------------ */
.cmn_footer_wrap {
  margin-top: 50px;
  position: relative;
}

.cmn_footer_inner {
  background-color: #9f7943;
  padding: 2rem 0;
  position: relative;
}

.cmn_footer_copyright {
  color: #fff;
  font-size: 1.3rem;
  letter-spacing: .06em;
  text-align: center;
}

@media (min-width: 768px) {
  .cmn_footer_inner::before,
  .cmn_footer_inner::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    z-index: 1;
  }

  .cmn_footer_inner::before {
    background: url(../image-cmn/footer/img-footer-space01.png) no-repeat 0 0;
    background-size: 100% auto;
    left: 0;
    padding-top: 10.547%;
    width: 20.997%;
  }

  .cmn_footer_inner::after {
    background: url(../image-cmn/footer/img-footer-space02.png) no-repeat 0 0;
    background-size: 100% auto;
    right: 0;
    padding-top: 7.715%;
    width: 22.168%;
  }
}

@media (max-width: 865px) {
  .cmn_footer_copyright {
    font-size: 1.2rem;
  }
}

@media (max-width: 767px) {
  .cmn_footer_wrap {
    margin-top: 7.8rem;
  }

  .cmn_footer_inner {
    padding: 1.2rem .5rem;
  }
  .cmn_footer_copyright {
    letter-spacing: 0;
    line-height: 1.5;
  }
}

/* ------------------------------------ */
/* ▼ Scroll to TOP button */
/* ------------------------------------ */
@media (min-width: 768px) {
  .cmn_scroll_to_top {
    backface-visibility: hidden;
    bottom: 140px;
    display: none;
    font-size: 0;
    height: 40px;
    position: fixed;
    right: 19px;
    width: 190px;
    z-index: 2;
  }

  /*.not_fixed .cmn_scroll_to_top {
    position: absolute;
    bottom: 140px;
  }*/
}

@media (max-width: 767px) {
  .cmn_scroll_to_top {
    bottom: 75px;
    display: none;
    font-size: 0;
    height: 50px;
    position: fixed;
    right: 80px;
    width: 50px;
    z-index: 2;
  }
/*
  .not_fixed .cmn_scroll_to_top {
    position: absolute;
    bottom: 75px;
  }*/
}

/* ------------------------------------ */
/* ▼ sitetop button */
/* ------------------------------------ */
@media (min-width: 768px) {
  .cmn_btn_sitetop {
    backface-visibility: hidden;
    bottom: 90px;
    display: none;
    font-size: 0;
    height: 40px;
    position: fixed;
    right: 19px;
    width: 190px;
    z-index: 2;
  }
}

@media (max-width: 767px) {
  .cmn_btn_sitetop {
    bottom: 75px;
    display: none;
    font-size: 0;
    height: 50px;
    position: fixed;
    right: 15px;
    width: 50px;
    z-index: 2;
  }
}

/* ------------------------------------ */
/* ▼ Wrap */
/* ------------------------------------ */
@media (min-width: 768px) {
  .cmn_contents_wrap {
    margin-top: 2.8rem;
    padding: 0 1rem;
  }
}

@media (max-width: 767px) {
  .cmn_contents_wrap {
    margin-top: 1.4rem;
    padding: 0 1rem;
  }
}

/* ------------------------------------ */
/* ▼ h1 */
/* ------------------------------------ */
a.cmn_h1_link_btn {
  background-color: #c92121;
  border-radius: 20px;
  color: #fff;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1;
  letter-spacing: .04em;
  padding: .7rem 3.1rem .7rem 1.7rem;
  position: relative;
}

a.cmn_h1_link_btn::after {
  border-color: transparent transparent transparent #fff;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  right: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0;
}

@media (min-width: 768px) {
  .cmn_h1_title01 {
    border-left: solid 12px #C92121;
    font-size: 0;
    margin: 0 auto;
    max-width: 887px;
    padding-left: 1.2rem;
    width: 100%;
  }

  .cmn_h1_title01_inner {
    border-bottom: solid 2px #c41b1b;
    display: block;
    padding: .5rem 0 .5rem .4rem;
    position: relative;
    width: 100%;
  }

  .cmn_h1_title01_text {
    display: block;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.2;
    width: 100%;
  }

  .cmn_h1_title01_text_inner {
    padding-left: .2em;
  }

  .has_link .cmn_h1_title01_text {
    width: 62%;
  }

  .cmn_h1_title01_link {
    display: block;
    max-width: 340px;
    position: absolute;
    bottom: .7rem;
    right: 1.3rem;
    width: auto;
    z-index: 1;
  }
}

@media (max-width: 875px) {
  .has_link .cmn_h1_title01_text {
    width: 64%;
  }

  .cmn_h1_title01_link {
    max-width: 250px;
  }

  a.cmn_h1_link_btn {
    font-size: 1.3rem;
  }
}

@media (max-width: 767px) {
  .cmn_h1_title01 {
    font-size: 0;
    margin: 0 auto;
    padding: 0;
    position: relative;
    width: 100%;
  }

  .cmn_h1_title01.has_link {
    padding: 4.9rem 0 0;
  }

  .cmn_h1_title01_inner {
    border-left: solid 8px #C92121;
    border-bottom: solid 1px #c41b1b;
    display: block;
    padding: .4rem 0 .4rem .8rem;
  }

  .cmn_h1_title01_text {
    display: block;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.2;
  }

  .has_link .cmn_h1_title01_text {
    width: 100%;
  }

  .cmn_h1_title01_link {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    max-width: 300px;
  }

  a.cmn_h1_link_btn {
    font-size: 1.4rem;
  }
}

/* ------------------------------------ */
/* ▼ h2 */
/* ------------------------------------ */
@media (min-width: 768px) {
  .cmn_h2_title01 {
    background-color: #faf7eb;
    background-repeat: no-repeat;
    border-top: solid 2px #871a1b;
    border-bottom: solid 4px #871a1b;
    line-height: 1.1;
    margin: 0 auto;
    padding: .7rem 3rem .6rem;
    text-align: center;
  }

  .cmn_h2_title01_inner {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .cmn_h2_title01_text {
    font-size: 2.5rem;
    display: inline-block;
    letter-spacing: .15rem;
    max-width: 50%;
    width: auto;
  }

  .cmn_h2_title01_text:nth-of-type(2) {
    margin-left: 1.3rem;
    padding: .4rem 0;
  }

  .cmn_h2_title01_text.is_label {
    background-color: #f0c8c8;
    border-radius: 25px;
    padding: .4rem 2.5rem;
  }

  /* variation */
  .cmn_h2_title01.flw01 {
    background-image:
      url(../image-cmn/title/img-h2-flw01-01.png),
      url(../image-cmn/title/img-h2-flw01-02.png);
    background-position: left -4px top 34%, right -6px top 19%;
    background-size: 85px auto, 110px auto;
  }
}

/* IE11 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .cmn_h2_title01_text.is_label {
    padding: .7rem 2.5rem .1rem;
  }

  .cmn_h2_title01_text:nth-of-type(2) {
    padding: .7rem 0 .1rem;
  }
}

@media (max-width: 767px) {
  .cmn_h2_title01 {
    background-color: #faf7eb;
    border-top: solid 2px #871a1b;
    border-bottom: solid 4px #871a1b;
    line-height: 1.1;
    margin: 0 auto;
    padding: .7rem 0 .6rem;
    text-align: center;
  }

  .cmn_h2_title01_inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }

  .cmn_h2_title01_text {
    font-size: 1.8rem;
    display: inline-block;
    letter-spacing: .15rem;
    width: auto;
  }

  .cmn_h2_title01_text:nth-of-type(2) {
    margin-left: 1.3rem;
    padding: .4rem 0;
  }

  .cmn_h2_title01_text.is_label {
    background-color: #f0c8c8;
    border-radius: 25px;
    font-size: 1.6rem;
    padding: .4rem 2.5rem;
  }
}

/* ------------------------------------ */
/* ▼ subtitle */
/* ------------------------------------ */
@media (min-width: 768px) {
  .cmn_sub_title {
    margin: 2.3rem auto 0;
    max-width: 700px;
    width: 100%;
  }

  .cmn_sub_title .cmn_form_label {
    margin: 0 .5rem;
  }
}

@media (max-width: 767px) {
  .cmn_sub_title {
    margin: 2rem auto 0;
    padding: 0 1.5rem;
    width: 100%;
  }

  .cmn_sub_title .cmn_form_label {
    margin: 0 .5rem;
  }
}

/* ------------------------------------ */
/* ▼ Read */
/* ------------------------------------ */
@media (min-width: 768px) {
  .cmn_main_read {
    margin: 2.5rem auto 0;
    max-width: 700px;
    width: 100%;
  }

  .cmn_style_adjust01.cmn_main_read {
    letter-spacing: .055em;
  }
}

@media (max-width: 767px) {
  .cmn_main_read {
    margin: 1.4rem auto 0;
    max-width: 600px;
    padding: 0 2rem;
    width: 100%;
  }
}

/* ------------------------------------ */
/* ▼ text */
/* ------------------------------------ */
.cmn_color_red {
  color: #f00;
}

.cmn_text_icon {
  background-repeat: no-repeat;
  display: inline;
}

.cmn_text_icon.type_ssl {
  background-image: url(../image-cmn/icon/ico-ssl.png);
  background-position: left center;
  padding-left: 2.2rem;
}

.cmn_text_icon.type_blank {
  background-image: url(../image-cmn/icon/ico-link-blank.png);
  background-position: right 1px center;
  padding-right: 2.2rem;
}

@media (max-width: 767px) {
  .cmn_text_icon.type_ssl {
    background-size: 15px auto;
  }
}

/* ------------------------------------ */
/* ▼ Post form table */
/* ------------------------------------ */
@media (min-width: 768px) {
  .cmn_form_table_wrap {
    border-top: solid 3px #b28e5f;
    border-right: solid 3px #b28e5f;
    border-bottom: solid 3px #b28e5f;
    margin: 2rem auto 0;
    max-width: 800px;
    width: 100%;
  }

  .cmn_form_table_row {
    display: flex;
  }

  .cmn_form_table_row:not(:first-of-type) {
    border-top: solid 1px #b28e5f;
  }

  .cmn_form_table_col.col_title {
    background: url(../image-cmn/form/bg-form-title01.png) repeat 0 0;
    background-size: 39px auto;
    border-right: solid 2px #b28e5f;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem .5rem;
    position: relative;
    width: 120px;
  }

  .cmn_form_table_col.col_contents {
    background-color: #fffef0;
    padding: 3rem;
    width: calc(100% - 120px);
  }

  .cmn_form_table_col.col_contents.is_vertical_center {
    display: flex;
    align-items: center;
    padding: 2.2rem 1.8rem 2.2rem 3rem;
  }

  .cmn_form_table_title {
    color: #fff;
    display: flex;
    font-size: 1.7rem;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .cmn_form_table_item {
    margin-top: 1.2rem;
  }

  .cmn_form_table_item.cmn_multiple_upload {
    margin-top: .9rem;
  }

  .cmn_form_table_item.cmn_post_type_wrap {
    display: flex;
  }

  .cmn_form_table_item.cmn_file_upload_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .cmn_form_table_item.cmn_scope_disclosure_wrap {
    margin-top: 2.8rem;
  }

  .cmn_form_table_post_type {
    max-width: 50%;
    width: auto;
  }

  .cmn_form_table_post_type:not(:first-of-type) {
    margin-left: 6.5rem;
  }

  .cmn_style_adjust01 .cmn_form_table_post_type:not(:first-of-type) {
    margin-left: 6rem;
  }

  .cmn_form_table_file_upload:nth-of-type(1) {
    width: 39.906%;
  }

  .cmn_form_table_file_upload:nth-of-type(2) {
    padding-top: .7rem;
    width: 54.85%;
  }

  .cmn_form_table_multiple_file_upload {
    width: 31.12%;
  }

  .cmn_file_upload_btn_wrap {
    margin: 3rem 0 0 1.5rem;
    max-width: 280px;
    width: 100%;
  }

  .cmn_form_table_multiple_file_upload .cmn_file_upload_btn_wrap {
    margin: 1rem auto 0;
  }

  .cmn_form_table_scope:not(:first-of-type) {
    margin-top: 1rem;
  }

  .cmn_multiple_upload .cmn_annotation01 {
    margin-top: 1.1rem;
  }

  .cmn_multiple_upload .cmn_annotation01>li {
    font-size: 1.6rem;
    letter-spacing: .055em;
  }

  .cmn_multiple_upload .cmn_annotation01>li:not(:first-of-type) {
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  .cmn_form_table_wrap {
    border: solid 2px #b28e5f;
    margin: 2rem auto 0;
    max-width: calc(100% - 2rem);
    width: 100%;
  }

  .cmn_form_table_col.col_title {
    background: url(../image-cmn/form/bg-form-title01.png) repeat 0 0;
    background-size: 39px auto;
    border-bottom: solid 2px #b28e5f;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 1rem 1rem 1rem 1.3rem;
    position: relative;
  }

  .cmn_form_table_title {
    color: #fff;
    margin-left: 1.5rem;
    width: auto;
  }

  .cmn_form_table_col.col_contents {
    background-color: #fffef0;
    padding: 1rem;
  }

  .cmn_form_table_item {
    margin-top: 1rem;
  }

  .cmn_form_table_item.cmn_post_type_wrap {
    display: flex;
  }

  .cmn_form_table_item.cmn_scope_disclosure_wrap {
    margin-top: 2rem;
  }

  .cmn_form_table_post_type {
    display: flex;
    align-items: center;
    max-width: 50%;
    width: auto;
  }

  .cmn_form_table_post_type:not(:first-of-type) {
    margin-left: 3rem;
  }

  .cmn_file_upload_btn_wrap {
    margin: 0 auto;
    max-width: 170px;
    width: 100%;
  }

  .cmn_form_table_file_upload:nth-of-type(1) {
    padding: 0 2rem;
  }

  .cmn_form_table_file_upload:nth-of-type(2) {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 2rem;
  }

  .cmn_form_table_scope:not(:first-of-type) {
    margin-top: 1rem;
  }
}

/* ------------------------------------ */
/* ▼ Post form parts */
/* ------------------------------------ */
.cmn_form_label_wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.cmn_form_label {
  border-radius: 4px;
  color: #fff;
  display: inline-block;
  font-size: 1.5rem;
  letter-spacing: .03em;
  line-height: 1;
  padding: .5rem .6rem .5rem .7rem;
  text-align: center;
}

.cmn_form_label.label_color01 {
  background-color: #f85631;
}

.cmn_form_label.label_color02 {
  background-color: #3185f8;
}

.cmn_form_label_text {
  line-height: 1;
  padding-left: 1rem;
}

.cmn_form_table_heading {
  border-left: solid 10px #C92121;
  font-size: 2rem;
  font-weight: 600;
  padding-left: 1.2rem;
  line-height: 1.3;
}

.cmn_form_table_heading:not(:first-of-type) {
  margin-top: 2rem;
}

.cmn_form_table_file_display {
  background-color: #fff;
  border: solid 2px #866739;
  padding: 2px;
}

.cmn_form_table_multiple_file_upload .cmn_form_table_file_display {
  margin-top: 1.4rem;
}

.cmn_form_table_file_display_inner {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  border: solid 2px #866739;
  padding-top: 69.55%;
  position: relative;
}

.cmn_form_table_multiple_file_upload .cmn_form_table_file_display_inner {
  padding-top: 132.61%;
}

.cmn_form_table_display_text {
  color: #bd9f73;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
}

.cmn_multiple_upload .cmn_form_table_display_text {
  font-size: 1.8rem;
  line-height: 1.6;
}

.cmn_radio_btn>.cmn_radio_btn_input {
  display: none;
}

.cmn_radio_btn>label {
  cursor: pointer;
  display: block;
  font-weight: 600;
  padding-left: 4rem;
  position: relative;
}

.cmn_style_adjust01 .cmn_radio_btn>label {
  letter-spacing: .04em;
}

.cmn_radio_btn>label::before,
.cmn_radio_btn>label::after {
  content: '';
  position: absolute;
  transition: opacity .2s;
}

.cmn_radio_btn>label::before {
  background-color: #fff;
  border-radius: 50%;
  border: 1px solid #8c6f42;
  height: 27px;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 27px;
}

.cmn_radio_btn>label::after {
  background-color: #f85631;
  border-radius: 50%;
  height: 15px;
  left: 6px;
  top: 50%;
  opacity: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 15px;
}

.cmn_radio_btn>.cmn_radio_btn_input:checked+label::after {
  opacity: 1;
}

.cmn_file_upload_btn_wrap>input[type="file"] {
  display: none;
}

.cmn_file_upload_btn_wrap>label {
  background-color: #c92121;
  border-radius: 6px;
  cursor: pointer;
  display: block;
  text-align: center;
  width: 100%;
}

.cmn_file_upload_btn_wrap>label .label_text {
  color: #fff;
  display: inline-block;
  font-size: 1.7rem;
  letter-spacing: .15em;
  padding: .9rem .8rem .9rem 3.5rem;
  position: relative;
}

.cmn_file_upload_btn_wrap>label .label_text::before {
  background: url(../image-cmn/icon/ico-btn-file01.png) no-repeat center center;
  background-size: 100% auto;
  content: "";
  height: 21px;
  left: 5px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  width: 19px;
}

.has_file .cmn_toggle_display_btn {
  display: none;
}

.cmn_file_upload_delete_btn {
  border: solid 1px #c92121;
  background-color: #fff;
  border-radius: 6px;
  cursor: pointer;
  display: none;
  text-align: center;
  width: 100%;
}

.has_file .cmn_file_upload_delete_btn {
  display: block;
}

.cmn_file_upload_delete_btn>.delete_btn_text {
  color: #c92121;
  display: inline-block;
  font-size: 1.7rem;
  outline: none;
  padding: .8rem .8rem .8rem 3.5rem;
  position: relative;
}

.cmn_file_upload_delete_btn>.delete_btn_text::before {
  background: url(../image-cmn/icon/ico-btn-file02.png) no-repeat center center;
  background-size: 100% auto;
  content: "";
  height: 20px;
  left: 11px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  width: 18px;
}

.cmn_form_table_note01 {
  margin-top: 1rem;
}

.cmn_form_table_note01+.cmn_text_input_wrap {
  margin-top: 1rem;
}

.cmn_form_table_selected_image {
  max-height: 500px;
  max-width: 400px;
}

.cmn_form_table_selected_image.cmn_selected_col3 {
  max-height: none;
  max-width: none;
}

.cmn_form_table_selected_image>img {
  max-height: 500px;
}

.cmn_form_table_selected_image.cmn_selected_col3 img {
  display: block;
  margin-top: 1rem;
  margin-right: auto;
  margin-left: auto;
  max-height: 259px;
  max-width: 100%;
  width: auto;
}

.cmn_form_table_note02 {
  font-size: 1.7rem;
  margin-top: 1rem;
}

.cmn_form_table_note02+.cmn_text_input_wrap {
  margin-top: 1rem;
}

.cmn_form_table_col>*:first-child {
  margin-top: 0;
}

.cmn_post_theme_wrap {
  max-width: 387px;
  position: relative;
  width: 100%;
}

.cmn_post_theme_wrap::before {
  border-width: 15px 9px 0 9px;
  border-color: #866739 transparent transparent transparent;
  border-style: solid;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1.6rem;
  pointer-events: none;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0;
  z-index: 1;
}

.cmn_post_theme_select {
  background-color: #fff;
  border: solid 2px #866739;
  color: #333;
  cursor: pointer;
  letter-spacing: .2rem;
  padding: .7rem .5rem .7rem 1.8rem;
  position: relative;
  width: 100%;
}

.cmn_post_theme_select::-ms-expand {
  display: none;
}

.cmn_post_theme_select>option {
  border: solid 2px #866739;
}

.cmn_post_comment_text {
  background-color: #fff;
  border: solid 2px #866739;
  max-width: 617px;
  padding: .7rem .5rem .7rem 1.8rem;
  resize: none;
  width: 100%;
}

.cmn_text_input {
  background-color: #fff;
  border: solid 2px #866739;
  letter-spacing: .06em;
  max-width: 500px;
  padding: .7rem .5rem .7rem 1.8rem;
  width: 100%;
}

.nickname_area .cmn_text_input {
  max-width: 350px;
}

.cmn_tel_input_wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.cmn_tel_input {
  background-color: #fff;
  border: solid 2px #866739;
  letter-spacing: .06em;
  max-width: 112px;
  padding: .7rem .5rem .7rem 1.8rem;
  width: 100%;
}

.cmn_tel_hyphen {
  padding: 0 .9rem;
}

input.cmn_text_input:placeholder-shown,
textarea.cmn_post_comment_text:placeholder-shown {
  color: #333;
  letter-spacing: .2rem;
}

input.cmn_text_input::-webkit-input-placeholder,
textarea.cmn_post_comment_text::-webkit-input-placeholder {
  color: #333;
  letter-spacing: .2rem;
  opacity: 1;
}

input.cmn_text_input::-moz-placeholder,
textarea.cmn_post_comment_text::-moz-placeholder {
  color: #333;
  letter-spacing: .2rem;
  opacity: 1;
}

input.cmn_text_input:-ms-input-placeholder,
textarea.cmn_post_comment_text:-ms-input-placeholder {
  color: #333 !important;
  letter-spacing: .2rem;
}

@media (min-width: 768px) {
  .cmn_form_table_heading.cmn_style_adjust01:not(:first-of-type) {
    margin-top: 2.8rem;
  }

  .cmn_form_table_heading.cmn_style_adjust02:not(:first-of-type) {
    margin-top: 2.5rem;
  }

  .cmn_form_table_col .cmn_form_label {
    position: absolute;
    top: .5rem;
    left: 0.8rem;
  }

  .cmn_form_table_multiple_file_upload .cmn_form_label {
    position: static;
  }

  .cmn_multiple_upload .cmn_file_upload_btn_wrap>label .label_text {
    letter-spacing: .06em;
  }

  .cmn_file_upload_delete_btn>.delete_btn_text {
    letter-spacing: .06em;
  }

  .cmn_multiple_upload .cmn_file_upload_btn_wrap>label .label_text::before {
    left: 9px;
  }

  .cmn_form_table_scope>label {
    display: inline-block;
  }

  .cmn_form_table_annotation,
  .cmn_error_annotation {
    margin: 2rem auto 0;
    max-width: 800px;
    text-align: center;
    width: 100%;
  }

  .cmn_form_table_annotation.is_min {
    margin-top: 2.7rem;
    max-width: 693px;
    text-align: left;
  }

  .cmn_form_table_annotation.is_report {
    margin-top: 5rem;
  }

  .cmn_form_table_annotation02 {
    background-color: #f0e8df;
    font-size: 1.4rem;
    padding: 1.5rem 1.2rem 1.5rem 1.8rem;
  }

  .cmn_style_adjust01.cmn_form_table_annotation02 {
    letter-spacing: 0.19rem;
    line-height: 1.75;
    padding: 1.6rem 2rem 1.6rem 2rem;
  }

  .cmn_form_table_annotation03 {
    background-color: #f0e8df;
    font-size: 1.4rem;
    margin: 3rem auto 0;
    max-width: 500px;
    padding: 1.5rem 1.2rem;
    text-align: center;
    width: 100%;
  }

  .cmn_style_adjust01.cmn_form_table_annotation03 {
    font-size: 1.5rem;
    letter-spacing: .2rem;
    margin: 3rem auto 0;
    max-width: 554px;
    padding: 1rem 1.2rem;
  }

  .cmn_style_adjust01 input.cmn_text_input:placeholder-shown,
  .cmn_style_adjust01 textarea.cmn_post_comment_text:placeholder-shown {
    letter-spacing: .06rem;
  }

  .cmn_style_adjust01 input.cmn_text_input::-webkit-input-placeholder,
  .cmn_style_adjust01 textarea.cmn_post_comment_text::-webkit-input-placeholder {
    letter-spacing: .06rem;
  }

  .cmn_style_adjust01 input.cmn_text_input::-moz-placeholder,
  .cmn_style_adjust01 textarea.cmn_post_comment_text::-moz-placeholder {
    letter-spacing: .06rem;
  }

  .cmn_style_adjust01 input.cmn_text_input:-ms-input-placeholder,
  .cmn_style_adjust01 textarea.cmn_post_comment_text:-ms-input-placeholder {
    letter-spacing: .06rem;
  }

  .cmn_form_table_selected_image.cmn_selected_col3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .cmn_form_table_selected_image.cmn_selected_col3>figure {
    width: 31.605%;
  }

  .cmn_form_table_selected_image.cmn_selected_col3 figcaption {
    line-height: 1.3;
  }
}

@media (max-width: 767px) {
  .cmn_form_table_multiple_file_upload {
    margin-right: auto;
    margin-left: auto;
    max-width: 400px;
    width: calc(100% - 4rem);
  }

  .cmn_form_table_multiple_file_upload:not(:first-of-type) {
    margin-top: 3rem;
  }

  .cmn_form_table_multiple_file_upload .cmn_form_table_file_display {
    margin-top: .5rem;
  }

  .cmn_form_label {
    border-radius: 6px;
    font-size: 1.4rem;
    padding: .4rem .8rem;
  }

  .cmn_form_table_heading {
    border-width: 5px;
    font-size: 1.6rem;
    padding-left: .7rem;
  }

  .cmn_form_table_col .cmn_form_label {
    min-width: 5rem;
    width: auto;
  }

  .cmn_form_table_display_text {
    font-size: 1.6rem;
  }

  .cmn_form_table_file_upload .cmn_annotation01 {
    margin-top: 2rem;
  }

  .cmn_radio_btn>label::before {
    height: 20px;
    width: 20px;
  }

  .cmn_radio_btn>label::after {
    height: 12px;
    left: 4px;
    width: 12px;
  }

  .cmn_radio_btn>label {
    padding-left: 3rem;
  }

  .cmn_form_table_multiple_file_upload .cmn_file_upload_btn_wrap {
    margin-top: 1rem;
  }

  .cmn_file_upload_btn_wrap>label .label_text {
    font-size: 1.4rem;
    padding: .5rem .5rem .5rem 2.8rem;
  }

  .cmn_file_upload_btn_wrap>label .label_text::before {
    height: 17px;
    left: 5px;
    width: 15px;
  }

  .cmn_file_upload_delete_btn>.delete_btn_text {
    font-size: 1.4rem;
    letter-spacing: .15em;
    padding: .4rem .5rem .4rem 2.8rem;
  }

  .cmn_file_upload_delete_btn>.delete_btn_text::before {
    height: 17px;
    left: 6px;
    width: 15px;
  }

  .cmn_post_theme_wrap::before {
    border-width: 10px 6px 0 6px;
  }

  .cmn_post_theme_select {
    letter-spacing: .06em;
    padding: .7rem .5rem .7rem 1rem;
  }

  .cmn_post_comment_text {
    letter-spacing: .06em;
    padding: .7rem .5rem .7rem 1rem;
  }

  .cmn_text_input {
    padding: .7rem .5rem .7rem 1rem;
  }

  .cmn_form_table_note02 {
    font-size: 1.4rem;
  }

  .cmn_form_table_annotation {
    margin: 2rem auto 0;
    max-width: calc(100% - 2rem);
    text-align: left;
    width: 100%;
  }

  .cmn_form_table_annotation.is_min {
    max-width: calc(100% - 3rem);
  }

  .cmn_form_table_annotation.is_report {
    margin-top: 3rem;
  }

  .cmn_multiple_upload .cmn_annotation01 {
    margin-top: 2rem;
  }

  .cmn_form_table_annotation02 {
    background-color: #f0e8df;
    padding: 1rem;
  }

  .cmn_form_table_annotation03 {
    background-color: #f0e8df;
    margin: 2rem auto 0;
    max-width: calc(100% - 2rem);
    padding: 1rem;
    text-align: left;
    width: 100%;
  }

  .cmn_tel_input {
    max-width: 80px;
    padding: .7rem .5rem .7rem 1rem;
    width: 100%;
  }

  .cmn_tel_hyphen {
    padding: 0 .4rem;
  }

  input.cmn_text_input:placeholder-shown,
  textarea.cmn_post_comment_text:placeholder-shown {
    letter-spacing: .06rem;
  }

  input.cmn_text_input::-webkit-input-placeholder,
  textarea.cmn_post_comment_text::-webkit-input-placeholder {
    letter-spacing: .06rem;
  }

  input.cmn_text_input::-moz-placeholder,
  textarea.cmn_post_comment_text::-moz-placeholder {
    letter-spacing: .06rem;
  }

  input.cmn_text_input:-ms-input-placeholder,
  textarea.cmn_post_comment_text:-ms-input-placeholder {
    letter-spacing: .06rem;
  }

  .cmn_form_table_selected_image.cmn_selected_col3 {
    margin-right: auto;
    margin-left: auto;
    max-width: 400px;
    padding: 0 1rem;
    width: 100%;
  }

  .cmn_form_table_selected_image.cmn_selected_col3>figure:not(:first-of-type) {
    margin-top: 2rem;
  }

  .cmn_form_table_selected_image.cmn_selected_col3 img {
    margin-top: .3rem;
    max-height: 390px;
  }
}

/* ------------------------------------ */
/* ▼ Annotation list */
/* ------------------------------------ */
.cmn_annotation01>li {
  font-size: 1.7rem;
  text-indent: -1em;
  padding-left: 1em;
  word-break: break-all;
}

.cmn_annotation01>li:not(:first-of-type) {
  margin-top: .5rem;
}

@media (max-width: 767px) {
  .cmn_annotation01>li {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

/* ------------------------------------ */
/* ▼ Terms of service */
/* ------------------------------------ */
.cmn_terms_service_wrap {
  background-color: #fffef0;
  border: solid 2px #b28e5f;
  margin: 2rem auto 0;
  max-width: 760px;
  padding: 3rem 3.2rem 2.7rem;
  text-align: center;
  width: calc(100% - 40px);
}

.cmn_terms_service_title {
  font-size: 2.1rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}

.cmn_terms_service_title>span {
  display: inline-block;
  padding: 0 3.5rem;
  position: relative;
}

.cmn_terms_service_title>span::before,
.cmn_terms_service_title>span::after {
  background: url(../image-cmn/title/ico-rhombus01.png) no-repeat center center;
  background-size: 100% auto;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 17px;
  width: 25px;
}

.cmn_terms_service_title>span::before {
  left: 0;
}


.cmn_terms_service_title>span::after {
  right: 0;
}

.cmn_terms_service_list {
  margin-top: 1rem;
}

.cmn_terms_service_list>li {
  font-size: 1.6rem;
  padding-left: 1.8rem;
  position: relative;
  letter-spacing: .057em;
  line-height: 1.65;
  text-align: left;
}

.cmn_terms_service_list>li:not(:first-of-type) {
  margin-top: .54rem;
}

.cmn_terms_service_list>li:not(.not_mark)::before {
  background-color: #b28e5f;
  content: "";
  display: block;
  position: absolute;
  top: .56em;
  left: 0;
  height: 8px;
  width: 8px;
}

@media (max-width: 767px) {
  .cmn_terms_service_wrap {
    max-width: calc(100% - 3rem);
    padding: 2rem 1rem;
    width: 100%;
  }

  .cmn_terms_service_title {
    font-size: 1.8rem;
  }

  .cmn_terms_service_title>span {
    padding: 0 3rem;
  }

  .cmn_terms_service_title>span::before,
  .cmn_terms_service_title>span::after {
    height: 14px;
    width: 20px;
  }

  .cmn_terms_service_list>li {
    font-size: 1.4rem;
    padding-left: 1.5rem;
  }
}

/* ------------------------------------ */
/* ▼ Terms of service checkbox */
/* ------------------------------------ */
.cmn_terms_service_checkbox_wrap {
  margin: 2rem auto 0;
  max-width: 760px;
  text-align: center;
  width: calc(100% - 40px);
}

.cmn_style_adjust01.cmn_terms_service_checkbox_wrap {
  font-size: 1.6rem;
  margin-top: 2.3rem;
  max-width: 700px;
  text-align: left;
}

.cmn_style_adjust01.cmn_terms_service_checkbox_wrap + .cmn_terms_service_checkbox_wrap {
  margin-top: .7rem;
}

.cmn_terms_service_checkbox {
  display: none;
}

.cmn_terms_service_checkbox+label {
  cursor: pointer;
  display: inline-block;
  line-height: 1;
  padding-left: 3rem;
  position: relative;
}

.cmn_terms_service_checkbox+label::before,
.cmn_terms_service_checkbox+label::after {
  content: "";
  position: absolute;
}

.cmn_terms_service_checkbox+label::before {
  border: solid 1px #8c6f42;
  display: block;
  height: 20px;
  width: 20px;
  top: 50%;
  left: 3px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.cmn_terms_service_checkbox+label::after {
  border-right: solid 4px #f85631;
  border-bottom: solid 4px #f85631;
  display: none;
  height: 14px;
  width: 10px;
  top: calc(50% - 9px);
  left: 8px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.cmn_terms_service_checkbox:checked+label::after {
  display: block;
}

.cmn_style_adjust01 .cmn_terms_service_checkbox+label {
  letter-spacing: .055em;
  line-height: 1.5;
}

.cmn_style_adjust01 .cmn_terms_service_checkbox+label::before {
  top: .1rem;
  transform: translateY(0);
}

.cmn_style_adjust01 .cmn_terms_service_checkbox+label::after {
  top: .2rem;
}

@media (max-width: 767px) {
  .cmn_style_adjust01.cmn_terms_service_checkbox_wrap {
    font-size: 1.4rem;
  }
}

/* ------------------------------------ */
/* ▼ Button */
/* ------------------------------------ */
.cmn_form_table_confirm_btn_wrap,
.cmn_error_btn_wrap {
  margin: 2.4rem auto 0;
  max-width: 280px;
  text-align: center;
  width: 100%;
}

.cmn_style_adjust01.cmn_form_table_confirm_btn_wrap {
  margin-top: 1.9rem;
}

.cmn_form_table_confirm_btn_wrap.is_report {
  margin-top: 4.6rem;
  max-width: 320px;
}

.cmn_form_table_confirm_btn_wrap.is_home {
  margin-top: 2.8rem;
}

.cmn_form_table_confirm_btn_wrap.is_confirm {
  margin-top: 2rem;
}

.cmn_normal_btn {
  background-color: #c92121;
  border: solid 1px #991c1c;
  cursor: pointer;
  display: block;
  line-height: 1;
  margin: 0 auto;
  position: relative;
  text-align: center;
  transition: opacity .3s;
  width: 100%;
}

.cmn_normal_btn::before,
.cmn_normal_btn::after {
  border-bottom: solid 1px #e58e8e;
  border-right: solid 1px #e58e8e;
  content: "";
  display: block;
  height: 10px;
  position: absolute;
  width: 10px;
}

.cmn_normal_btn::before {
  top: 0;
  left: 0;
}

.cmn_normal_btn::after {
  top: 0;
  right: 0;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.cmn_normal_btn_inner {
  border: solid 1px #e58e8e;
  display: block;
  margin: 3px 4px;
  padding: 5px 2px;
}

.cmn_normal_btn_inner::before,
.cmn_normal_btn_inner::after {
  border-bottom: solid 1px #e58e8e;
  border-right: solid 1px #e58e8e;
  content: "";
  display: block;
  height: 10px;
  position: absolute;
  width: 10px;
}

.cmn_normal_btn_inner::before {
  bottom: 0;
  left: 0;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.cmn_normal_btn_inner::after {
  bottom: 0;
  right: 0;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.cmn_form_table_confirm_btn_wrap.is_report .cmn_normal_btn_inner {
  padding: 7px 2px;
}

/* color gray */
.cmn_normal_btn.is_gray {
  background-color: #aaa;
  border-color: #7f7f7f;
  cursor: initial;
  transition: opacity 0s;
}

.cmn_normal_btn.is_gray:hover {
  opacity: 1;
}

.cmn_normal_btn.is_gray .cmn_normal_btn_inner {
  border-color: #7f7f7f;
}

.cmn_normal_btn.is_gray::before,
.cmn_normal_btn.is_gray::after,
.cmn_normal_btn.is_gray .cmn_normal_btn_inner::before,
.cmn_normal_btn.is_gray .cmn_normal_btn_inner::after {
  border-right: solid 1px #7f7f7f;
  border-bottom: solid 1px #7f7f7f;
}

.cmn_normal_btn_text {
  color: #fff;
  display: block;
  font-feature-settings: "pkna";
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.4;
  padding: 0 3.2rem 0 1rem;
  position: relative;
}

.cmn_normal_btn_text::after {
  border-color: transparent transparent transparent #fff;
  border-style: solid;
  border-width: 5px 0 5px 7px;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0;
}

/* arrow direction variation */
.cmn_normal_btn.arrow_top .cmn_normal_btn_text::after {
  border-color: transparent transparent #fff transparent;
  border-width: 0 4px 6px 4px;
}

.cmn_normal_btn.arrow_bottom .cmn_normal_btn_text::after {
  border-color: #fff transparent transparent transparent;
  border-width: 6px 4px 0 4px;
  top: calc(50% - 2px);
}

/* waiting for execution of validator */
.cmn_normal_btn.js_control_visibility {
  visibility: hidden;
}

.cmn_normal_btn.js_control_visibility.is_active {
  visibility: visible;
}

/* IE11対応 */
@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
  .cmn_normal_btn_inner {
    padding: 7px 2px 3px;
  }
}

@media (min-width: 768px) {
  .cmn_style_adjust01.cmn_form_table_confirm_btn_wrap.is_report {
    margin-top: 5.9rem;
  }

  .cmn_style_adjust01.cmn_form_table_confirm_btn_wrap.is_report .cmn_normal_btn_text {
    letter-spacing: 0;
    padding: 0 3.2rem;
  }
}

@media (max-width: 767px) {
  .cmn_normal_btn_text {
    font-size: 1.4rem;
  }

  .cmn_form_table_confirm_btn_wrap,
  .cmn_error_btn_wrap {
    max-width: 230px;
  }

  .cmn_form_table_confirm_btn_wrap.is_report {
    margin-top: 3rem;
  }

  .cmn_form_table_confirm_btn_wrap.is_home {
    margin-top: 2rem;
  }
}

/* ------------------------------------ */
/* ▼ spacer */
/* ------------------------------------ */
@media (min-width: 768px) {
  .cmn_report_spacer {
    background-image:
      url(../image-cmn/spacer/bg-spacer-col1-char-01.png),
      url(../image-cmn/spacer/bg-spacer-col1-char-02.png);
    background-position: left 9% bottom -1%, right 9% bottom -1%;
    background-size: 20.8% auto, 20.8% auto;
    background-repeat: no-repeat, no-repeat;
  }

  .cmn_report_spacer_padding {
    padding-bottom: 7rem;
  }
}

/* ------------------------------------ */
/* ▼ bnr layout */
/* ------------------------------------ */
.cmn_bnr_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 3rem auto 0;
  max-width: 632px;
  padding: 0 10px;
  width: 100%;
}

.cmn_bnr_wrap>figure>a,
.cmn_bnr_wrap>figure>span {
  display: block;
}

.cmn_bnr_wrap figcaption {
  line-height: 1.4;
}

@media (min-width: 768px) {
  /* 2column */
  .cmn_bnr_wrap.cmn_bnr_col2>figure {
    width: 49.02%;
  }

  .cmn_bnr_wrap.cmn_bnr_col2>figure:nth-of-type(even) {
    margin-left: 1.96%;
  }

  .cmn_bnr_wrap.cmn_bnr_col2>figure:nth-of-type(n+3) {
    margin-top: 2.1rem;
  }

  .cmn_bnr_wrap figcaption {
    font-size: 1.6rem;
    letter-spacing: .05em;
    margin-top: .5rem;
  }
}

@media (max-width: 767px) {
  .cmn_bnr_wrap {
    max-width: 400px;
  }

  .cmn_bnr_wrap.cmn_bnr_col2>figure {
    width: 100%;
  }

  .cmn_bnr_wrap.cmn_bnr_col2>figure:not(:first-of-type) {
    margin-top: 2rem;
  }

  .cmn_bnr_wrap figcaption {
    font-size: 1.4rem;
    margin-top: .4rem;
  }
}

/* ------------------------------------ */
/* ▼ related site bnr 2col */
/* ------------------------------------ */
.cmn_related_bnr_col2_wrap {
  margin-top: 3rem;
}

.cmn_related_bnr_col2 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 640px;
  width: 100%;
}

.cmn_related_bnr_col2>li {
  display: block;
  padding: 0 1rem;
  max-width: 320px;
}

.cmn_related_bnr_col2>li>a,
.cmn_related_bnr_col2>li>span {
  display: block;
}

.cmn_related_bnr_col2_cap {
  font-size: 1.6rem;
  line-height: 1.4;
  margin-top: .3rem;
}

@media (min-width: 768px) {
  .cmn_related_bnr_col2>li:nth-of-type(n+3) {
    margin-top: 2.8rem;
  }
}

@media (max-width: 767px) {
  .cmn_related_bnr_col2_wrap {
    margin-top: 5rem;
  }

  .cmn_related_bnr_col2 {
    display: block;
    max-width: 400px;
  }

  .cmn_related_bnr_col2>li {
    max-width: 100%;
    width: 100%;
  }

  .cmn_related_bnr_col2>li:not(:first-of-type) {
    margin-top: 2rem;
  }

  .cmn_related_bnr_col2_cap {
    font-size: 1.4rem;
    margin-top: .4rem;
  }
}

/* ------------------------------------ */
/* ▼ related site bnr 3col */
/* ------------------------------------ */
@media (min-width: 768px) {
  .cmn_related_bnr_wrap {
    margin-top: 6.1rem;
  }

  .cmn_related_bnr {
    background-image: url(../image-cmn/spacer/bg-related-bnr.png);
    background-size: 66% auto;
    background-repeat: no-repeat;
    background-position: right 0 bottom 35px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 884px;
    width: 100%;
  }

  .cmn_related_bnr>.cmn_related_bnr_item {
    background-color: #fff;
    padding: 0 .7rem;
    width: 33.333333%;
  }

  .cmn_related_bnr>.cmn_related_bnr_item:nth-of-type(n+4) {
    margin-top: 2.8rem;
  }

  .cmn_related_bnr>.cmn_related_bnr_item>a,
  .cmn_related_bnr>.cmn_related_bnr_item>span {
    display: block;
  }

  .cmn_related_bnr_cap {
    font-size: 1.6rem;
    line-height: 1.4;
    margin-top: .3rem;
  }
}

@media (max-width: 767px) {
  .cmn_related_bnr_wrap {
    margin-top: 3rem;
  }

  .cmn_related_bnr {
    margin: 0 auto;
    max-width: 440px;
    padding: 0 2rem;
    width: 100%;
  }

  .cmn_related_bnr .slick-slide {
    background-color: #fff;
    margin: 0 1rem;
  }

  .cmn_related_bnr .slick-slide a,
  .cmn_related_bnr .slick-slide span {
    display: block;
  }

  .cmn_related_bnr_cap {
    line-height: 1.4;
    margin-top: .4rem;
  }

  .cmn_related_bnr .slick-arrow {
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    font-size: 0;
    height: 16px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 17px;
    z-index: 1;
  }

  .cmn_related_bnr .slick-arrow.prev {
    background-image: url(../image-cmn/icon/ico-slider-arrow-prev.png);
    left: 0;
  }

  .cmn_related_bnr .slick-arrow.next {
    background-image: url(../image-cmn/icon/ico-slider-arrow-next.png);
    right: 0;
  }
}

/* ------------------------------------ */
/* ▼ pager */
/* ------------------------------------ */
.cmn_pager_wrap {
  margin-top: 3rem;
}

.cmn_pager_list_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.cmn_pager_list_wrap>li {
  padding: 0 .5rem;
}

.cmn_pager_list_wrap>li.is_hide {
  display: none;
}

/* prev next btn */
.cmn_pager_move>a,
.cmn_pager_move>span {
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  line-height: 1;
  height: 34px;
  position: relative;
  width: 105px;
}

.cmn_pager_move.cmn_pager_prev>a,
.cmn_pager_move.cmn_pager_prev>span {
  padding-right: 1.2rem;
}

.cmn_pager_move.cmn_pager_next>a,
.cmn_pager_move.cmn_pager_next>span {
  padding-left: 1.2rem;
}

.cmn_pager_move>a::before,
.cmn_pager_move>a::after,
.cmn_pager_move>span::before,
.cmn_pager_move>span::after {
  content: "";
  display: block;
  height: 1px;
  width: 7px;
  position: absolute;
  top: 50%;
}

.cmn_pager_move.cmn_pager_next>a::before,
.cmn_pager_move.cmn_pager_next>span::before {
  transform: rotate(40deg);
  margin-top: -2px;
  left: 7px;
}

.cmn_pager_move.cmn_pager_next>a::after,
.cmn_pager_move.cmn_pager_next>span::after {
  transform: rotate(-40deg);
  margin-top: 2px;
  left: 7px;
}

.cmn_pager_move.cmn_pager_prev>a::before,
.cmn_pager_move.cmn_pager_prev>span::before {
  transform: rotate(-40deg);
  margin-top: -2px;
  right: 7px;
}

.cmn_pager_move.cmn_pager_prev>a::after,
.cmn_pager_move.cmn_pager_prev>span::after {
  transform: rotate(40deg);
  margin-top: 2px;
  right: 7px;
}

.cmn_pager_move>a::before,
.cmn_pager_move>a::after {
  background-color: #0000ff;
}

.cmn_pager_move>a:hover::before,
.cmn_pager_move>a:hover::after {
  background-color: #fff;
}

.cmn_pager_move>span::before,
.cmn_pager_move>span::after {
  background-color: #6d6d6d;
}

.cmn_pager_move>a {
  background-color: #fff;
  border: 1px solid #1d558d;
  color: #4250dc;
}

.cmn_pager_move>a:hover {
  background-color: #4250dc;
  color: #fff;
}

.cmn_pager_move>span {
  background-color: #ccc;
  color: #8e8e8e;
  text-shadow: 1px 1px 0 rgba(255,255,255,1);
}

/* page number btn */
.cmn_pager_number>a,
.cmn_pager_number>span {
  border: 1px solid #1d558d;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  height: 34px;
  letter-spacing: .01em;
  line-height: 1;
  width: 34px;
}

.cmn_pager_number>span {
  background-color: #4250dc;
  color: #fff;
}

.cmn_pager_number>a {
  background-color: #fff;
  color: #4250dc;
}

.cmn_pager_number>a:hover {
  background-color: #4250dc;
  color: #fff;
}

/* page jump btn */
.cmn_pager_select_row {
  background-color: #fff;
  border: 1px solid #1d558d;
  border-radius: 2px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  height: 34px;
  letter-spacing: .01em;
  line-height: 1;
  position: relative;
  width: 155px;
}

.is_open .cmn_pager_select_row {
  border-bottom: 1px dotted #1d558d;
  border-radius: 2px 2px 0 0 / 2px 2px 0 0;
}

.cmn_pager_select_title {
  color: #1d558d;
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.cmn_pager_select_title_txt {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: .5rem;
  width: auto;
}

.cmn_pager_select_arrow {
  background-color: #4250dc;
  border-radius: 0 2px 2px 0;
  display: flex;
  font-size: 0;
  position: relative;
  height: 34px;
  width: 30px;
}

.is_open .cmn_pager_select_arrow {
  border-radius: 0 2px 0 0;
}

.cmn_pager_select_arrow>span {
  background-color: #fff;
  border-radius: 50%;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  height: 16px;
  width: 16px;
}

.is_open .cmn_pager_select_arrow>span {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.cmn_pager_select_arrow>span::before {
  border-color: #4250dc transparent transparent transparent;
  border-style: solid;
  border-width: 6px 4px 0 4px;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  top: 6px;
  left: 4px;
  width: 0;
}

.cmn_pager_select_menu {
  border-bottom: 1px solid #1d558d;
  border-left: 1px solid #1d558d;
  border-right: 1px solid #1d558d;
  color: #1d558d;
  display: none;
  left: -1px;
  position: absolute;
  top: calc(100% + 1px);
  width: calc(100% + 2px);
}

.cmn_pager_select_list {
  display: flex;
  height: 34px;
  width: 100%;
}

.cmn_pager_select_list:not(:first-of-type) {
  border-top: 1px dotted #1d558d;
}

.cmn_pager_select_list>a {
  background-color: #fff;
  border-right: solid 1.2rem #ccc;
  color: #4250dc;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  padding-left: .5rem;
  width: 100%;
}

.cmn_pager_select_list>a:hover {
  background: #ffe6eb;
  color: #ff0000;
}

@media (max-width: 767px) {
  .cmn_pager_wrap {
    margin-top: 4rem;
  }

  .cmn_pager_move>a,
  .cmn_pager_move>span {
    font-size: 1.1rem;
    height: 31px;
    width: 90px;
  }

  /* page number btn */
  .cmn_pager_number.sp_hide {
    display: none;
  }

  .cmn_pager_number>a,
  .cmn_pager_number>span {
    font-size: 1.1rem;
    height: 31px;
    width: 31px;
  }

  /* page jump btn */
  .cmn_pager_select_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    width: 100%;
  }

  .cmn_pager_select_row {
    font-size: 1.1rem;
    height: 31px;
    width: 126px;
  }

  .cmn_pager_select_list {
    height: 31px;
  }

  .cmn_pager_select_arrow {
    height: 31px;
    width: 31px;
  }

  .cmn_pager_last {
    font-size: 1.1rem;
  }
}

/* ------------------------------------ */
/* ▼ user comment chat layout */
/* ------------------------------------ */
.cmn_user_comment_wrap {
  margin-right: auto;
  margin-left: auto;
  max-width: 800px;
  padding-left: 2rem;
  width: calc(100% - 2rem);
}

.cmn_user_comment_row {
  border-radius: 15px;
  position: relative;
}

.cmn_user_comment_row::before {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  height: 17px;
  width: 20px;
}

.cmn_user_comment_row:not(.is_self) {
  background-color: #eeecc2;
}

.cmn_user_comment_row>.cmn_user_comment_row:not(.is_self) {
  background-color: #fffef0;
}

.cmn_user_comment_row.is_self {
  background-color: #e9d399;
}

.cmn_user_comment_row.is_self .is_self {
  background-color:#ffffd1;
}

.cmn_user_comment_row:not(.is_self)::before {
  background-image: url(../image-cmn/icon/ico-comment-arrow-member.png);
  right: calc(100% - 1px);
}

.cmn_user_comment_row>.cmn_user_comment_row:not(.is_self)::before {
  background-image: url(../image-cmn/icon/ico-comment-arrow-member-inner.png);
  right: calc(100% - 1px);
}

.cmn_user_comment_row.is_self::before {
  background-image: url(../image-cmn/icon/ico-comment-arrow-self.png);
  left: calc(100% - 1px);
}

.cmn_user_comment_row.is_self .is_self::before {
  background-image: url(../image-cmn/icon/ico-comment-arrow-self-self.png);
  left: calc(100% - 1px);
}

.cmn_user_comment_util {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.cmn_user_comment_reply {
  display: inline-block;
  padding-left: 2rem;
  position: relative;
}

.cmn_user_comment_reply::before {
  background-image: url(../image-cmn/icon/ico-comment-re.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
  display: block;
  height: 15px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 15px;
}

.cmn_user_comment_info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.cmn_user_comment_destination {
  padding-left: .9em;
  position: relative;
}

.cmn_user_comment_destination::before {
  content: ">";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

@media (min-width: 768px) {
  .cmn_user_comment_wrap {
    margin-top: 3rem;
  }

  .cmn_user_comment_row {
    padding: 1.5rem 3rem;
  }

  .cmn_user_comment_row + .cmn_user_comment_row {
    margin-top: 2.4rem;
  }

  .cmn_user_comment_row>.cmn_user_comment_row {
    margin-top: 2.5rem;
  }

  .cmn_user_comment_row>.cmn_user_comment_row:last-of-type {
    margin-bottom: 1.6rem;
  }

  .cmn_user_comment_row>.cmn_user_comment_row + .cmn_user_comment_row {
    margin-top: 1.6rem;
  }

  .cmn_user_comment_util {
    align-items: flex-end;
    margin-top: 3rem;
    justify-content: flex-end;
  }

  .cmn_user_comment_info {
    justify-content: flex-end;
    order: 2;
    width: calc(100% - 11em);
  }

  .cmn_user_comment_date {
    font-size: 1.5rem;
    letter-spacing: .04em;
    padding-top: .2em;
    width: 15.3em;
  }

  .cmn_user_comment_name {
    margin-right: 1.3rem;
    width: auto;
  }

  .cmn_user_comment_reply {
    order: 1;
    width: 11em;
  }

  .cmn_user_comment_destination {
    font-size: 1.6rem;
    letter-spacing: .05em;
    margin-top: .1em;
    margin-bottom: .3em;
  }
}

@media only screen and (max-width: 880px) {
  .cmn_user_comment_wrap {
    padding-right: 2rem;
  }
}

@media only screen and (max-width: 767px) {
  .cmn_user_comment_wrap {
    margin-top: 2rem;
    padding: 0 1rem;
  }

  .cmn_user_comment_row {
    padding: 1rem;
  }

  .cmn_user_comment_row::before {
    height: 16px;
    width: 16px;
  }

  .cmn_user_comment_row + .cmn_user_comment_row {
    margin-top: 1rem;
  }

  .cmn_user_comment_row>.cmn_user_comment_row {
    margin-top: 1rem;
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }

  .cmn_user_comment_row>.cmn_user_comment_row + .cmn_user_comment_row {
    margin-top: 1rem;
  }

  .cmn_user_comment_util {
    margin-top: .5rem;
  }

  .cmn_user_comment_info {
    justify-content: flex-end;
    width: 100%;
  }

  .cmn_user_comment_date {
    letter-spacing: 0;
    text-align: right;
    width: 9em;
  }

  .cmn_user_comment_time {
    display: none;
  }

  .cmn_user_comment_name {
    letter-spacing: 0;
    margin-left: 1em;
    width: auto;
  }

  .cmn_user_comment_reply {
    margin-top: .5rem;
    width: auto;
  }

  .cmn_user_comment_destination {
    margin-bottom: .3em;
  }
}

/* ------------------------------------ */
/* ▼ post page move button */
/* ------------------------------------ */
.post_page_move_btn_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

a.post_page_move_btn,
span.post_page_move_btn {
  border: solid 1px #b28e5f;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  line-height: 1.2;
  position: relative;
  text-align: center;
}

a.post_page_move_btn.is_gray,
span.post_page_move_btn.is_gray {
  background-color: #aaa;
  border-color: #7f7f7f;
  color: #fff;
  cursor: default;
  pointer-events: none;
}

.post_page_move_btn.is_gray:hover {
  opacity: 1;
}

.post_page_move_btn::before,
.post_page_move_btn::after {
  background-color: #b28e5f;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  width: 10px;
}

.post_page_move_btn.is_gray::before,
.post_page_move_btn.is_gray::after {
  background-color: #7f7f7f;
}

.post_page_move_btn.cmn_prev::before {
  top: calc(50% - 2px);
  left: 12px;
  transform: rotate(-38deg);
}

.post_page_move_btn.cmn_prev::after {
  top: calc(50% + 3px);
  left: 12px;
  transform: rotate(38deg);
}

.post_page_move_btn.cmn_next::before {
  top: calc(50% - 2px);
  right: 12px;
  transform: rotate(38deg);
}

.post_page_move_btn.cmn_next::after {
  top: calc(50% + 3px);
  right: 12px;
  transform: rotate(-38deg);
}

@media (min-width: 768px) {
  .post_page_move_btn_wrap {
    margin-top: 6rem;
  }

  a.post_page_move_btn,
  span.post_page_move_btn {
    font-size: 1.6rem;
    margin: 0 1rem;
    width: 180px;
  }

  .post_page_move_btn.cmn_prev {
    padding: 1.2rem 2.5rem 1rem 3rem;
  }

  .post_page_move_btn.cmn_next {
    padding: 1.2rem 3rem 1rem 1rem;
  }
}

@media only screen and (max-width: 767px) {
  .post_page_move_btn_wrap {
    margin-top: 3rem;
  }

  a.post_page_move_btn,
  span.post_page_move_btn {
    font-size: 1.4rem;
    letter-spacing: 0;
    margin: 0 .5rem;
    width: 130px;
  }

  .post_page_move_btn.cmn_prev {
    padding: 1.2rem 1.5rem 1rem 3rem;
  }

  .post_page_move_btn.cmn_next {
    padding: 1.2rem 3rem 1rem 1.5rem;
  }
}

/* ------------------------------------ */
/* ▼ FONT Size em指定 */
/* ------------------------------------ */
.fz0_6em {
  font-size: .6em;
}
.fz0_65em {
  font-size: .65em;
}
.fz0_7em {
  font-size: .7em;
}
.fz0_75em {
  font-size: .75em;
}
.fz0_8em {
  font-size: .8em;
}
.fz0_85em {
  font-size: .85em;
}
.fz0_9em {
  font-size: .9em;
}
.fz0_95em {
  font-size: .95em;
}
.fz1em {
  font-size: 1em;
}
.fz1_05em {
  font-size: 1.05em;
}
.fz1_1em {
  font-size: 1.1em;
}
.fz1_15em {
  font-size: 1.15em;
}
.fz1_2em {
  font-size: 1.2em;
}
.fz1_25em {
  font-size: 1.25em;
}
.fz1_3em {
  font-size: 1.3em;
}
.fz1_35em {
  font-size: 1.35em;
}
.fz1_4em {
  font-size: 1.4em;
}
.fz1_45em {
  font-size: 1.45em;
}
.fz1_5em {
  font-size: 1.5em;
}
/* SP Only */
@media screen and (max-width: 767px) {
  .sp_fz0_6em {
    font-size: .6em;
  }
  .sp_fz0_65em {
    font-size: .65em;
  }
  .sp_fz0_7em {
    font-size: .7em;
  }
  .sp_fz0_75em {
    font-size: .75em;
  }
  .sp_fz0_8em {
    font-size: .8em;
  }
  .sp_fz0_85em {
    font-size: .85em;
  }
  .sp_fz0_9em {
    font-size: .9em;
  }
  .sp_fz0_95em {
    font-size: .95em;
  }
  .sp_fz1em {
    font-size: 1em;
  }
  .sp_fz1_05em {
    font-size: 1.05em;
  }
  .sp_fz1_1em {
    font-size: 1.1em;
  }
  .sp_fz1_15em {
    font-size: 1.15em;
  }
  .sp_fz1_2em {
    font-size: 1.2em;
  }
  .sp_fz1_25em {
    font-size: 1.25em;
  }
  .sp_fz1_3em {
    font-size: 1.3em;
  }
  .sp_fz1_35em {
    font-size: 1.35em;
  }
  .sp_fz1_4em {
    font-size: 1.4em;
  }
  .sp_fz1_45em {
    font-size: 1.45em;
  }
  .sp_fz1_5em {
    font-size: 1.5em;
  }
}

/* ------------------------------------ */
/* ▼ margin top, bottom, right, left */
/* ------------------------------------ */
/* SP Only */
@media screen and (max-width: 767px) {
  .sp_mt0 {
    margin-top: 0 !important;
  }
  .sp_mr0 {
    margin-right: 0 !important;
  }
  .sp_ml0 {
    margin-left: 0 !important;
  }
  .sp_mt5 {
    margin-top: 5px !important;
  }
  .sp_mt10 {
    margin-top: 10px !important;
  }
  .sp_mt15 {
    margin-top: 15px !important;
  }
  .sp_mt20 {
    margin-top: 20px !important;
  }
  .sp_mt25 {
    margin-top: 25px !important;
  }
  .sp_mt30 {
    margin-top: 30px !important;
  }
  .sp_mt35 {
    margin-top: 35px !important;
  }
  .sp_mt40 {
    margin-top: 40px !important;
  }
  .sp_mt50 {
    margin-top: 50px !important;
  }
  .sp_mt60 {
    margin-top: 60px !important;
  }
  .sp_mt70 {
    margin-top: 70px !important;
  }
  .sp_mt80 {
    margin-top: 80px !important;
  }
  .sp_mt90 {
    margin-top: 90px !important;
  }
  .sp_mt100 {
    margin-top: 100px !important;
  }
  
  .sp_mb0 {
    margin-bottom: 0 !important;
  }
  .sp_mb5 {
    margin-bottom: 5px !important;
  }
  .sp_mb10 {
    margin-bottom: 10px !important;
  }
  .sp_mb15 {
    margin-bottom: 15px !important;
  }
  .sp_mb20 {
    margin-bottom: 20px !important;
  }
  .sp_mb25 {
    margin-bottom: 25px !important;
  }
  .sp_mb30 {
    margin-bottom: 30px !important;
  }
  .sp_mb35 {
    margin-bottom: 35px !important;
  }
  .sp_mb40 {
    margin-bottom: 40px !important;
  }
  .sp_mb50 {
    margin-bottom: 50px !important;
  }
  .sp_mb60 {
    margin-bottom: 60px !important;
  }
  .sp_mb70 {
    margin-bottom: 70px !important;
  }
  .sp_mb80 {
    margin-bottom: 80px !important;
  }
  .sp_mb90 {
    margin-bottom: 90px !important;
  }
  .sp_mb100 {
    margin-bottom: 100px !important;
  }
}