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

title : 御朱印・御朱印帳・御城印・御城印帳 写真コンテスト
scope : 御朱印・御朱印帳・御城印・御城印帳 写真コンテスト

memo：2024/06 WEB2TCI-44007　新規作成

last modify :

========================================================== */
/* ------------------------------------ */
/* ▼ common */
/* ------------------------------------ */
.cmn_link_btn.gr_content::before,
.cmn_link_btn.gr_content::after,
.cmn_link_btn.gr_content .cmn_link_btn_inner::before,
.cmn_link_btn.gr_content .cmn_link_btn_inner::after {
  border-right: none;
  border-bottom: none;
}
.cmn_link_btn::before,
.cmn_link_btn::after,
.cmn_link_btn_inner::before,
.cmn_link_btn_inner::after {
  border-bottom: none;
  border-right: none;
}
.cmn_link_btn_text::after {
  display: none;
}
.cmn_table_border.type02 th {
  border-right: none;
}
@media (min-width: 768px) {
  .breadcrumbs {
    margin: 15px auto 11px;
  }
}
@media (max-width: 767px) {
  p {
    font-size: 16px;
  }
}

/* ------------------------------------ */
/* ▼ ALL */
/* ------------------------------------ */
.wrap_all {
  margin: 0 auto;
  max-width: 1180px;
}
.wrap_all img {
  vertical-align: bottom;
}

/* ------------------------------------ */
/* ▼ TOP */
/* ------------------------------------ */
.banner_h1 h1 img {
  margin: 0 auto;
  max-width: 1024px;
}
hr.stamp{
  margin: -1px auto 5px;
  background: #C0BB9F;
  height: 5px;
}
.bg_lead {
  background: url(../image/bg-lead.png) no-repeat;
  background-size: cover;
  padding: 20px 0 30px;
  margin: 5px auto;
  max-width: 1180px;
}
.box_red {
  font-size: 21px;
  font-weight: 600;
  color: #c31f1f;
  letter-spacing: .06em;
  line-height: 1.5;
  border: 4px solid #c31f1f;
  border-radius: 18px;
  padding: 20px 15px;
  background-color: #fff;
  max-width: 780px;
  margin: 0 auto 15px;
  margin-top: 0px;
  text-align: center;
}
.desc {
  text-align: justify;
  background: rgba(255,255,255,0.7);
  position: relative;
  margin: 0 auto;
  padding: 15px 25px;
  max-width: 815px;
  z-index: 3;
}
.lead_caption{
  font-size: 16px;
  text-align: center;
}
@media (max-width: 767px) {
  .banner_h1 h1 img {
    max-width: 100%;
  }
  .bg_lead {
    background-position: center;
    padding: 10px 0 30px;
    max-width: 100%
  }
  .desc {
    font-size: 15px;
    margin: 20px auto;
    padding: 20px;
    max-width: 96%;
  }
  .box_red {
    font-size: 16px;
    padding: 10px 10px;
    margin-top: 10px;
    max-width: 97%;
    border: 3px solid #c31f1f;
  }
  .lead_caption{
    font-size: 15px;
    max-width: 80%;
    margin: 0 auto;
  }
}

/* ------------------------------------ */
/* ▼ btn */
/* ------------------------------------ */
.parts_mt_lv02.form_btn{
  max-width: 280px;
  margin: 20px auto 10px;
}
.form_btn .cmn_link_btn{
  border: none;
}
.form_btn .cmn_link_btn.contest_start{
  background-image: linear-gradient(90deg, rgba(222, 83, 66, 1), rgba(226, 104, 87, 1));
  border-bottom: 6px solid rgba(189, 185, 153, 0.8);
}
.form_btn .cmn_link_btn.gr_content{
  background-color: #666;
  border: none;
}
.form_btn .cmn_link_btn_text{
  border: none;
  font-size: 1.15em;
}
.form_btn .contest_start .cmn_link_btn_text{
  padding: 15px 11px 13px;
}
.form_btn .gr_content .cmn_link_btn_text{
  padding: 16px 11px 15px;
}

/* ------------------------------------ */
/* ▼ bnr_area */
/* ------------------------------------ */
.banner_wrap {
  padding-top: 25px;
}
.banner_lead {
  font-size: 17px;
  letter-spacing: .06em;
}
.cmn_bnr_area {
  padding: 0;
}
.cmn_bnr_area.col02 {
  margin-top: 20px;
}
.cmn_bnr_area.col02 figcaption{
  font-size: 15px;
  line-height: 1.2;
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .banner_wrap {
    padding-bottom: 0;
  }
  .banner_lead {
    font-size: 15px;
    letter-spacing: .07em;
  }
}

/* ------------------------------------ */
/* ▼ h2 */
/* ------------------------------------ */
.h2_heading01 {
  color: #222;
  text-align: center;
  font-weight: 600;
  font-size: 27px;
  padding: 9px 0 8px;
  margin: 0 auto;
  max-width: 1080px;
  min-height: 95px;
  line-height: 1.3;
  background: url(../image/bg-title-h2.png) repeat-y;
  background-size: contain;
  background-position: center;
  position: relative;
}
.h2_heading01 span {
  position: absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width: 100%;
}
/* 概要 */
.is_category .h2_heading01::before {
  content: '';
  background: url(../image/sakura2-1g.png) no-repeat;
  background-size: contain;
  position: absolute;
  left:12%;
  width: 147px;
  height:79px;
}
.is_category .h2_heading01::after {
  content: '';
  background: url(../image/sakura1-1g.png) no-repeat;
  background-size: contain;
  position: absolute;
  right:16%;
  bottom:15%;
  width: 105px;
  height:62px;
}
/* 賞品について */
.is_prize .h2_heading01::before {
  content: '';
  background: url(../image/sakura1-2p.png) no-repeat;
  background-size: contain;
  position: absolute;
  left:16%;
  bottom:15%;
  width: 105px;
  height:62px;
}
.is_prize .h2_heading01::after {
  content: '';
  background: url(../image/sakura2-2p.png) no-repeat;
  background-size: contain;
  position: absolute;
  right:12%;
  width: 147px;
  height:79px;
}
/* 応募方法 */
.is_method .h2_heading01::before {
  content: '';
  background: url(../image/sakura2-3b.png) no-repeat;
  background-size: contain;
  position: absolute;
  left:12%;
  width: 147px;
  height:79px;
}
.is_method .h2_heading01::after {
  content: '';
  background: url(../image/sakura1-3b.png) no-repeat;
  background-size: contain;
  position: absolute;
  right:16%;
  bottom:15%;
  width: 105px;
  height:62px;
}
@media (max-width: 1000px) {
  .is_category .h2_heading01::before {
    left:6%;
  }
  .is_category .h2_heading01::after {
    right:6%;
  }
}
@media (max-width: 767px) {
  .h2_heading01 {
    font-size: 22px;
    padding: 10px 0;
    max-width: 100%;
    min-height: 60px;
  }
  .is_category .h2_heading01{
    min-height: 90px;
  }
  .is_category .h2_heading01::before {
    top:30%;
    width: 73.5px;
    height:39.5px;
    opacity: 0.7;
  }
  .is_category .h2_heading01::after {
    bottom:30%;
    width: 52.5px;
    height:31px;
    opacity: 0.7;
  }
  .is_prize .h2_heading01::before {
    left:6%;
    bottom:15%;
    width: 52.5px;
    height:31px;
  }
  .is_prize .h2_heading01::after {
    right:6%;
    width: 73.5px;
    height:39.5px;
  }
  .is_method .h2_heading01::before {
    left:6%;
    width: 73.5px;
    height:39.5px;
  }
  .is_method .h2_heading01::after {
    right:6%;
    bottom:15%;
    width: 52.5px;
    height:31px;
  }
}

/* ------------------------------------ */
/* ▼ midashi */
/* ------------------------------------ */
.conditions_title {
  background: url(../image/bg-title01.png) repeat-x;
  background-position: center;
  font-size: 22px;
  font-weight: 600;
  padding-bottom: 20px;
  text-align: center;
  max-width: 90%;
  margin: 0 auto;
}
/* 注意事項 */
.sample .cmn_h3_02_txt {
  font-size: 19px;
  padding: 0 43px;
}
.cmn_h3_02_txt::before,
.cmn_h3_02_txt::after {
  height: 18px;
  width: 18px;
  background-size: contain;
  background-image: url(../image/ico-cmn_h3_02_txt.png);
}
@media screen and (max-width: 767px) {
  .conditions_title {
    background: url(../image/bg-title01.png) no-repeat center bottom 5px;
    background-size: 300px auto;
    font-size: 18px;
    padding-bottom: 15px;
    text-align: center;
  }
  .sample .cmn_h3_02_txt {
    font-size: 16px;
  }
}

/* ------------------------------------ */
/* ▼ ALL */
/* ------------------------------------ */
.category_wrap_inner {
  position: relative;
  max-width: 750px;
  width: 100%;
  margin: 0 auto 5px;
}
.conditions_wrap {
  background-color: #fff;
  margin: 20px auto 0;
  max-width: 760px;
  width: 100%;
  z-index: 1;
  position: relative;
}
.conditions_wrap_inner {
  padding: 3.5% 0 2%;
}
.conditions_inner {
  padding: 17px 45px 20px;
}
/* text */
.statement {
  text-indent: -1em;
  padding-left: 1em;
}
.w_read_text{
  width: 540px;
  max-width: 90%;
  margin: 0 auto;
  text-align: left;
}
.col_red{
  color: #ff0000;
}
.ml5{
  margin-left: 5px;
}
@media (max-width: 767px) {
  .category_wrap_inner {
    width: 100%;
  }
  .conditions_wrap {
    max-width: 96%;
    box-shadow:none;
  }
  .conditions_inner {
    padding: 10px 18px;
  }
  .w_read_text{
    max-width: 80%;
  }
}


/* ------------------------------------ */
/* ▼ 概要 */
/* ------------------------------------ */
.section.is_category {
  background: url(../image/bg-category.jpg) repeat;
  padding: 50px 0 50px;
}
/* sample */
.sample {
  padding-top: 25px;
  border: 1px solid #A4C2A9;
}
.sample .cmn_h3_02_inner::after {
  content: none;
}
.sample .cmn_h3_02_inner {
  padding-bottom: 0;
  border: none;
}
.conditions_note::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: #879A30;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 9px;
}
.sample_text {
  margin: 15px 20px 20px;
  font-size: 17px;
}
.sample h4 {
  color: #879A30;
  font-weight: 600;
  max-width: 80%;
  margin: 10px auto;
}
.sample_picture {
  max-width: 80%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  padding-bottom: 20px;
}
.sample_picture.type02{
  max-width: 53%;
  margin: 0 auto 0 10%;
}
.sample_note01 {
  font-size: 14px;
  text-indent: -0.5em;
  max-width: 96%;
  margin: 0 auto 10px;
}
.sample_note01::before {
  content: '※';
  display: inline-block;
}
.sample_note02 {
  font-size: 13.5px;
  max-width: 80%;
  margin: 0 auto 5px;
}
@media (min-width: 768px) {
  .conditions_note {
    margin-top: 22px;
    margin-left: 5px;
  }
}
@media (max-width: 767px) {
  .sample_picture {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .conditions_note {
    font-size: 15px;
    margin-top: 15px;
    width: 100%;
  }
  .sample_picture,
  .sample_picture.type01,
  .sample_picture.type02{
    max-width: 90%;
    margin: 0 auto;
    display: block;
  }
  .sample_picture.type01 figure,
  .sample_picture.type02 figure{
    max-width: 30%;
    display: inline-block;
  }
  .sample_picture figure{
    max-width: 48%;
    display: inline-block;
  }
  .sample_note01,
  .sample_note02 {
    max-width: 90%;
  }
  .width_max_img img{
    width: 100%;
  }
}
/* table */
.sample_table.cmn_table_border {
  border-style: solid;
  border-width: 2px;
}
.sample_table.cmn_table{
  width: 582px;
  margin: 0 auto;
}
.sample_table.cmn_table th {
  color: #000;
  font-size: 15px;
  width: 25%;
}
.sample_table.cmn_table th.bg_yel {
  background: #DED291;
}
.sample_table.cmn_table th.bg_ora {
  background: #E3BDA8;
}
.sample_table.cmn_table th:nth-child(2n) {
  width: 20%;
}
.sample_table.cmn_table td {
  font-size: 13.5px;
  vertical-align: top;
  padding: 0.6em;
}
.sample_table.cmn_table td li{
  text-indent: -0.5em;
  padding-left: 1em;
  margin: 5px 0;
}
.sample_table.cmn_table td li::before{
  content: '・';
}
@media (max-width: 767px) {
  .sample_table_wrap::before {
    margin-top: 15px;
    border: 1px solid #539de0;
    border-bottom: 0;
    padding: 0.8em;
    content: "フリックによる横スライド仕様となります";
    position: relative;
    display: block;
    background: url(/wp/wp-content/themes/wp-templ/tips/image/ico_flick.png) left 10px center no-repeat;
    -webkit-background-size: 25px;
    background-size: 25px;
    padding-left: 45px;
  }
  .tbl_scroll {
    position: relative;
    margin-bottom: 20px;
    overflow-x: scroll;
  }
  .tbl_scroll table {
    width: 582px;
  }
}


/* ------------------------------------ */
/* ▼ 賞品について */
/* ------------------------------------ */
.section.is_prize {
  background: url(../image/bg-prize.jpg) repeat;
  padding: 40px 0;
  margin: 5px auto;
}
.category_prize_wrap .conditions_wrap_inner {
  padding: 3% 0 5.5%;
}
.prize_list {
  margin: 20px auto 0;
  max-width: 658px;
  width: 100%;
}
.prize_list>li {
  text-align: center;
}
.prize_list>li:nth-of-type(2),
.prize_list>li:nth-of-type(3) {
  margin-top: 8px;
}
.prize_list>li:nth-of-type(4) {
  margin-top: 5px;
}
@media (max-width: 767px) {
  .prize_list > li {
    width: 92%;
    margin: 0 auto;
  }
}

/* ------------------------------------ */
/* ▼ 応募方法 */
/* ------------------------------------ */
.is_method {
  background: url(../image/bg-method.jpg) repeat;
  padding: 40px 0 52px;
}
/* method */
.method_disc_wrap {
  padding: .88% 0;
  margin: 0 auto;
  max-width: 860px;
  width: calc(100% - 40px);
}
.method_disc_wrap:nth-of-type(n+2) {
  margin-top: 65px;
}
.method_disc_heading {
  background-color: #927F5E;
  border-radius: 0px;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  padding: 13px 20px;
  text-align: center;
}
.method_disc_col_wrap {
  background-color: rgba(255, 255, 255, .9);
  border-radius: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.method_disc_col_wrap.is_internet {
  padding: 33px 30px 34px;
}
.method_disc_col_wrap.is_mail {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 25px;
  width: 100%;
}
.method_disc_col01.step01 {
  position: relative;
  width: 45.7%;
}
.method_disc_col01.step02 {
  width: 48.2%;
}
.method_disc_col01.step01::after {
  background: url(../image/img-method-arrow.png) no-repeat center / contain;
  content: '';
  width: 60px;
  height: 44px;
  display: block;
  position: absolute;
  left: 96%;
  top: calc(50% - 28px);
}
.method_disc_title01 {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.step01 .method_disc_title01 {
  padding-left: 10px;
}
.method_disc_title01 .disc_num {
  background:#927F5E;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 38px;
  font-weight: 600;
  letter-spacing: 0;
  margin-right: 20px;
  height: 45px;
  width: 45px;
  border-radius: 50%;
}
.method_disc_title01 .disc_text {
  display: inline-block;
  font-size: 18px;
  line-height: 1.6667;
  width: calc(100% - 90px);
}
.method_disc_img01 {
  margin-top: 18px;
}
.method_disc_img01.adjust_margin {
  margin: 54px 20px 20px 27px;
}
.step01 .method_disc_img01 {
  padding: 0 20px 0 34px;
}
.step01 .method_disc_img01 img {
  max-width: 240px;
  width: 100%;
}
.step02 .method_disc_img01 {
  padding: 6px 0 0 68px;
}
.step02 .method_disc_img01 img {
  max-width: 302px;
  width: 100%;
}

@media (max-width: 767px) {
  .is_method::after {
    display: none;
  }
  .method_disc_wrap {
    margin: 20px auto 0;
    width: 96%;
  }
  .method_disc_wrap:nth-of-type(n+2) {
    margin-top: 40px;
  }
  .method_disc_heading {
    font-size: 18px;
    padding: 12px 18px;
  }
  .method_disc_heading,
  .method_disc_col_wrap  {
    box-shadow: none;
  }
  .method_disc_col01.step01,
  .method_disc_col01.step02 {
    width: 100%;
  }
  .method_disc_col01.step01::after {
    content: none;
  }
  .method_disc_col_wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .method_disc_col_wrap.is_internet {
    border: 1px solid #175B66;
    border-top: none;
  }
  .step01 .method_disc_title01 {
    padding: 0;
  }
  .method_disc_title01 .disc_num {
    font-size: 20px;
    margin-right: 10px;
    height: 48px;
    width: 46px;
  }
  .method_disc_title01 .disc_text {
    font-size: 15px;
    width: calc(100% - 56px);
  }
  .method_disc_img01 {
    margin-top: 30px;
    text-align: center;
  }
  .step01 .method_disc_img01 {
    padding: 0;
  }
  .step02 .method_disc_img01 {
    padding: initial;
  }
  .step01 .method_disc_img01 img {
    max-width: 220px;
    max-width: 220px;
  }
  .method_disc_col_wrap.is_mail {
    margin-top: 15px;
  }
  .method_disc_img01.adjust_margin {
    margin: 30px 20px 20px 27px;
  }
}

/* ------------------------------------ */
/* ▼ 応募要項 */
/* ------------------------------------ */
.app_table_wrap {
  margin: 12px auto 40px;
  max-width: 748px;
  width: 100%;
}
.application_disc_wrap {
  background:url(../image/bg-application.jpg) repeat;
  padding: 40px 0;
}
.app_table {
  border: 2px solid #B9986D;
  width: 100%;
  margin: 0 auto;
}
.app_table_row th {
  border-bottom-color: #CBAC84;
  color: #fff;
  font-weight: 600;
  letter-spacing: .06em;
  padding: 22px 5px;
  text-align: center;
  vertical-align: middle;
  width: 131px;
}
.app_table_row th {
  background: #927F5E;
}
.app_table_row td {
  background-color: #fff;
  border-bottom-color: #B9986D;
  border-right: none;
  letter-spacing: .06em;
  padding: 22px 15px 23px 18px;
  text-align: left;
  vertical-align: middle;
  width: 615px;
}
.app_table tr:last-of-type td,
.app_table tr:last-of-type th {
  border-bottom: none;
}
.app_table_title {
  font-weight: 600;
  padding-left: 1em;
  position: relative;
}
.app_table_title::before {
  background-color: #AD833D;
  content: "";
  display: block;
  position: absolute;
  top: .55em;
  left: 2px;
  height: 10px;
  width: 10px;
}
.app_table_title:not(.not_margin_top) {
  margin-top: 14px;
}
.app_table_text:not(.not_margin_top) {
  margin-top: 10px;
}
.indent_lv01 {
  padding-left: 1em;
}
.indent_lv02 {
  padding-left: 2em;
}
.app_table_link_text {
  text-align: right;
  font-size: 16px;
  padding-right: 5px;
}
.app_agreement_wrap {
  margin: 15px auto 40px;
  max-width: 840px;
  padding: 0 20px;
}
.app_agreement_box {
  background: #fff;
  padding: 31px 30px 31px 52px;
  text-align: justify;
}
.app_agreement_list {
  position: relative;
  font-size: 16px;
  line-height: 1.675;
}
.app_agreement_list::before {
  background: #b9986d;
  content: "";
  display: block;
  height: 6px;
  position: absolute;
  left: -.9em;
  top: .6em;
  width: 6px;
}
.app_agreement_list:not(:first-of-type) {
  margin-top: 8px;
}
.application_disc_box:not(:first-of-type) {
  padding: 40px 0 0;
  border-top: 5px solid #fff;
}
.app_disc_heading {
  font-size: 28px;
  font-weight: 600;
  padding: 0 30px;
  text-align: center;
}
.app_disc_heading>span {
  display: inline-block;
  padding: 0 44px;
  position: relative;
}
.app_disc_heading>span::before,
.app_disc_heading>span::after {
  background: url(../image/ico-title02.png) no-repeat center center;
  background-size: 100% auto;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 21px;
  width: 27px;
}
.app_disc_heading>span::before {
  left: 0;
}
.app_disc_heading>span::after {
  right: 0;
}
/* 賞 */
.app_prize_list{
  margin-top: 20px;
}
.app_prize_list dl{
  display: flex;
  width: 80%;
  margin-left: 5%;
}
.app_prize_list dt{
  font-weight: 400;
  width: 25%;
}
.app_prize_list dd{
  width: 25%;
}
.app_prize_list dd.quo{
  width: 50%;
}
@media (max-width: 767px) {
  .app_table {
    border: 1px solid #175B66;
    width: 96%;
  }
  .app_table_row th {
    font-size: 15px;
    letter-spacing: 0;
    padding: 10px 3px;
    min-width: 80px;
    width: 20%;
  }
  .app_table_row td {
    font-size: 15px;
    padding: 10px 5px 10px 10px;
    width: 80%;
  }
  .app_table_link_text {
    font-size: 14px;
  }
  .app_disc_heading {
    font-size: 24px;
  }
  .application_disc_box:not(:first-of-type) {
    padding: 30px 0;
  }
  .app_agreement_wrap {
    margin-top: 10px;
    padding: 0;
  }
  .app_agreement_box {
    padding: 15px 15px 15px 25px;
    max-width: 96%;
    margin: 0 auto;
  }
  .app_agreement_list {
    font-size: 14px;
    line-height: 1.5;
  }
  .app_agreement_list:not(:first-of-type) {
    margin-top: 6px;
  }
  .app_prize_list dl{
    display: flex;
    width: 100%;
    margin-left: 5%;
  }
}

.banner_wrap {
  background: #ffffff;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  max-width: 580px;
  padding: 15px;
}

@media (min-width: 768px) {
  .banner_wrap .cmn_bnr_area.col01 {
    max-width: 500px;
  }
}

@media (max-width: 767px) {
  .banner_wrap {
    margin-bottom: 20px;
    margin-top: 20px;
    max-width: 96%;
  }
}