@charset "utf-8";
/*
Theme Name: TENJIKU child
Theme URI:https://tcd-theme.com/tcd091/
Description:WordPressテーマ「TENJIKU」の子テーマ
Template:tenjiku_tcd091
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
*/

/*リセットcss*/
ol, ul {
  list-style: none !important;
}
table {
  border-collapse:collapse;
  border-spacing:0;
}
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}
/*全ページ*/
body.home #drawer_menu_button span {
    background: #000;
}
#header_slider_wrap .bg_image {
  background-size: contain !important;
  background-color: #fffaf7 !important;
}
#menu_single .post_content h2, #lp_page_content .post_content h2, #menu_single .post_content h3, #lp_page_content .post_content h3 {
  font-family: Arial, "Hiragino Sans", "Yu Gothic Medium", "Meiryo", sans-serif !important;
}
#drawer_menu_bg_area,
#page_header,
#page_404_header {
   background: linear-gradient(135deg, #ff9632 0%, #ff7020 50%, #ff9632 100%) !important;
}
.cb_header .catch_icon {
  margin: 0 auto 10px;
}
.cb_design_content .content,
.cb_free_space.type1,
.cb_header {
  width: 800px;
}
#menu_single .post_content h2:before,
#lp_page_content .post_content h2:before {
  margin: 0 auto 10px !important;
}
.lp_free_space.num1 .lp_free_space_inner,
.lp_free_space_inner {
  width: 100% !important;
  max-width: 800px;
  box-sizing: border-box;
  margin: 0 auto;
}
.post_content p {
  line-height: 1.8 !important;
}
.post_content p.img_system {
  text-align: center;
}
.post_content td,
.post_content th {
    line-height: 1.4 !important;
    padding: 15px !important;
}
.post_content th {
  font-weight: 600 !important;
}
.cb_carousel .content {
  border: 1px solid #ddd;
  box-sizing: border-box;
}
.cb_carousel .date_area {
    color: #000;
}
.txt_box01,
.txt_box02 {
    font-size: 14px;
}
.txt_box01 p,
.txt_box02 p {
    font-size: 14px;
}
.txt_box01 {
  padding: 40px 20px;
  background: #f1f1f1;
  outline: 2px solid #fff;
  outline-offset: -10px;
  border: 1px solid #ededed;
  text-align: center;
}
.txt_box01 strong {
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
}
.txt_box01 .appeal {
  font-size: 18px;
  font-weight: 600;
}
.txt_box02 {
  padding: 40px;
  background: #fff;
  outline: 1px solid #404040;
  outline-offset: -10px;
  border: 1px solid #fff;
}
.txt_box02 strong {
  padding-left: 5px;
  font-size: 20px;
  vertical-align: middle;
  font-weight: 600;
}
/* table01 */
.table01 tr {
  border-bottom: 1px solid #d8d8d8;
}
.post_content .table01 th {
  background: 0;
}
.post_content .table01 th,
.post_content .table01 td {
  text-align: left;
  color: #000;
  border: none;
  background: #fff;
  box-sizing: border-box;
}
.cb_free_space .post_content {
  margin-top: 0;
}
#footer_info {
    background: rgb(255 255 255 / 90%);
}
#footer_info p {
    color: #000;
}
#footer_sns.color_type1 a:before {
    color: #000;
}
/*強調*/
.em_red {
  color: #e32929;
  font-weight: 600;
}
.wh {
  color: #fff;
}
/*ヘッダー*/
#header_circle {
  display: none;
}
/*ヘッダー 下層ページ*/
#page_header {
  height: 240px !important;
}
#page_header .desc_area {
  top: 35%;
}
#page_header.small {
  height: 150px !important;
}
#page_header .desc {
  line-height: 2;
  font-size: 20px;
}
#page_header .headline_area.animate .headline {
  font-size: 32px !important;
  font-weight: normal;
}
/*フッター*/
#footer_top {
  height: 440px;
}
#footer_top_inner {
  top: 25%;
}
#footer_sns {
  margin-top: 15px;
}
/*フッター バナー*/
.bnr_box {
  padding: 40px 0;
  text-align: center;
  background: linear-gradient(135deg, #ff9632 0%, #ff7020 50%, #ff9632 100%);
  /* background: linear-gradient(135deg,  #ffe7d0 0%,#ff7020 50%,#ffe7d0 100%); */
  /* background: url(https://ori-shan.com/wp-content/uploads/2025/09/Image_fx.jpg) no-repeat center bottom;
  background-size: cover; */
}
.bnr_box ul {
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.bnr_box a {
  width: 400px;
  margin: 0 auto;
  display: block;
}
.bnr_box a:hover {
  opacity: 0.6;
  transition: 0.3s;
}
/*ボタン*/
.post_content .link_button {
  margin-top: 60px;
  text-align: center;
}
/*トップページ タイトル*/
.cb_header {
  padding-top: 100px;
}
.cb_gallery {
  padding: 0 0 100px 0;
}
/*トップページ コンテンツ*/
.cb_design_content {
  padding: 100px 0;
}
.cb_box_content .title_area {
  align-items: center;
}
.cb_design_content .catch_icon {
  margin: 0 auto 10px;
}
.cb_box_content .desc {
  line-height: 2;
}
/*トップページ テンプレート*/
.cb_gallery .cb_header {
  padding-top: 0;
  padding-bottom: 0;
}
/*お酒・料金プランページ*/
.post_content div:last-child .table_sytem {
  margin-bottom: 0;
}
.img_system {
  margin-bottom: 20px;
  line-height: 0;
}
.table_sytem {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  background: #fff;
}
.table_sytem th:first-child,
.table_sytem td:first-child {
  width: 20%;
}
.table_sytem th,
.table_sytem td {
  width: 40%;;
  padding: 15px;
  text-align: center;
  border: 1px solid #9a9a9a;
  vertical-align: middle;
}
.table_sytem th {
  width: 10%;
  background: #000 !important;
  color: #fff;
}
.table_sytem td:nth-child(1) {
  color: #ff7020;
  font-weight: 600;
}
.table_sytem span {
  font-size: 12px;
}
.table_sytem small {
  display: block;
  font-size: 12px;
  font-weight: 700;
}
.product {
  margin-bottom: 60px;
}
.post_content .product .img_box {
  margin-bottom: 20px;
  text-align: center;
}
.post_content .product .img_box img {
  width: 100%;
  max-width: 500px;
}
.post_content .product_box h3 {
  margin-bottom: 5px;
  font-size: 24px;
  text-align: center;
}
.product_box .tag {
  margin: 0 0 20px 0;
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(3, 1fr);
}
.product_box .tag li {
  margin: 0;
  padding: 2px 8px;
  /* background: #000; */
  border: 1px solid #ff7020;
  box-sizing: border-box;
  border-radius: 18px;
  color: #ff7020;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
}
/*テンプレートページ*/
#gallery_archive_header img {
  margin: 0 auto 10px;
}
#gallery_archive_header {
  margin-bottom: 40px;
}
/*ご注文の流れページ*/
.post_content ul.flow_list {
    margin: 0;
}
.post_content ul.flow_list p{
    line-height: 1.6;
}
.flow_list li {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #000;
    display: flex;
    align-items: flex-start;
    gap: 5%;
    position: relative;
}
.flow_list li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}
.flow_list li:not(:last-child):before {
    content: '';
    background: #000;
    width: 20px;
    height: 10px;
    clip-path: polygon(50% 10px, 0% 0%, 20px 0%);
    position: absolute;
    left: 50%;
    bottom: -10px;
    margin: auto;
}
.flow_list li .txt_box {
    flex: 0 0 60%;
}
.flow_list li .txt_box p {
    line-height: 1.4 !important; 
}
.flow_list li .txt_box p.flow {
    margin-bottom: 10px;
    font-size: 26px;
    line-height: 1 !important;
    color: #ff7020;
}
.flow_list li .txt_box p.flow span {
    font-size: 60px;
}
.flow_list li .txt_box h3 {
    margin: 0 0 20px 0 !important;
    font-size: 24px;
}
.flow_list li .txt_box .apply {
    background: #000;
    padding: 10px 20px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 2%;
    font-weight: 600;
    font-size: 14px;
}
.flow_list li .txt_box .apply p,
.flow_list li .txt_box .apply a {
    flex: 0 0 49%;
}
.flow_list li .txt_box .apply p {
    margin: 0;
    border-right: 1px solid #a9a9a9;
    color: #fff;
}
.flow_list li .txt_box .apply a {
    padding: 3px 0;
    background: #00aa00;
    border-radius: 18px;
    color: #fff;
    text-align: center;
    display: block;
}
.flow_list li .txt_box .apply a:hover {
    opacity: 0.8;
    transition: 0.3s;
}
.flow_list li .img_box {
    flex: 0 0 35%;
    text-align: center;
}
.flow_list li .img_box img {
    width: 100%;
    max-width: 220px;
}
/*よくある質問ページ*/
.faq_container {
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  padding: 30px;
  background: linear-gradient(135deg,  #ff9632 0%,#ff7020 50%,#ff9632 100%);
  box-sizing: border-box;
}
.faq_item {
  margin-bottom: 15px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow 0.3s ease;
}
.faq_item:last-child {
  margin-bottom: 0;
}
.faq_item strong {
    margin-right: 3px;
    color: #ff7020;
    font-size: 20px;
}
.faq_toggle {
  display: none;
}
.question_text {
  display: block;
  line-height: 1.6;
}
.faq_question {
  position: relative;
  padding: 20px 40px 20px 20px;
  display: block;
  font-weight: 600;
  font-size: 18px;
  cursor: pointer;
}
.toggle_icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
}
.toggle_icon::after {
  content: "+";
  transition: 0.3s;
}
.faq_toggle:checked + .faq_question .toggle_icon::after {
  content: "−";
}
.faq_answer {
  height: 0;
  opacity: 0;
  padding: 0 20px;
  transition: height 0.4s ease, opacity 0.4s ease, padding 0.4s ease;
  overflow: hidden;
}
.faq_toggle:checked~.faq_answer {
  height: auto;
  opacity: 1;
  padding: 5px 20px 15px 20px;
  line-height: 1.6;
}
/*会社概要ページ*/
@media screen and (max-width: 1201px) {
  /*全ページ*/
  .lp_free_space.num1 .lp_free_space_inner,
  .lp_free_space_inner {
    padding: 0 20px;
  }
  .lp_free_space_inner {
    margin: 0 auto !important;
  }
  /*ヘッダー 下層ページ*/
}
@media screen and (max-width: 850px) {
  /*トップページ コンテンツ*/
  .cb_box_content .item {
      height: 300px !important;
  }
    .cb_box_content .headline_ico,
    .headline_icon {
        width: 80px !important;
        height: 80px !important;
    }
}
@media screen and (max-width: 750px) {
  /*全ページ*/
  #menu_single .post_content h2:before,
  #lp_page_content .post_content h2:before {
    width: 80px !important;
    height: 80px !important;
  }
  #page_header {
    height: 150px !important;
  }
  #footer_top_inner {
    padding: 40px 0 80px 0 !important;
  }
  .post_content .link_button {
    margin-top: 40px;
  }
  .txt_box01,
  .txt_box02 {
    padding: 30px 15px;
  }
  .txt_box01 strong {
    font-size: 18px;
  }
  .table_sytem td.option {
    font-size: 14px;
  }
  .cb_header .catch_icon {
    margin: 0 auto 10px !important;
  }
  /*フッター バナー*/
  .bnr_box {
    background-size: cover;
  }
  .bnr_box ul {
    justify-content: center;
    flex-wrap: wrap;
  }
  .bnr_box ul li:first-child {
    margin-bottom: 20px;
  }
  .bnr_box ul li {
    background: none;
  }
  .bnr_box img {
    width: 100%;
    max-width: 300px;
  }
  .bnr_box a:hover {
    opacity: 1;
  }
  /*ご注文の流れページ*/
  .flow_list li .txt_box,
  .flow_list li .img_box,
  .flow_list li .txt_box .apply p,
  .flow_list li .txt_box .apply a {
        width: 100%;
        flex: none;
  }
  .flow_list li {
      padding: 20px;
      flex-direction: column-reverse;
      gap: 10px 0px;
  }
  .flow_list li .txt_box h3 {
    margin: 0 0 10px 0 !important;
    font-size: 20px;
  }
  .flow_list li .txt_box p.flow {
    font-size: 20px;
    font-weight: 600;
  }
  .flow_list li .txt_box p.flow span {
    font-size: 40px;
  }
  .flow_list li .txt_box .apply {
      flex-direction: column;
      gap: 5px 0px;
      padding: 20px;
  }
  .flow_list li .txt_box .apply p {
      border-right: none;
      text-align: center;
      font-size: 16px;
  }
  .flow_list li .txt_box .apply a {
      padding: 10px;
        border-radius: 18px;
        font-size: 16px;
        line-height: 1;
        box-sizing: border-box;
  }
  .flow_list li .txt_box .apply a:hover {
      opacity: 1;
  }
  /*ヘッダー 下層ページ*/
  #page_header .desc {
    line-height: 1.6 !important;
    font-size: 14px;
  }
  #page_header .headline_area.animate .headline {
    font-size: 24px !important;
  }
  .cb_design_content .catch_icon,
  #gallery_archive_header img {
      margin: 0 auto 10px !important;
  }
  /*トップページ タイトル*/
  .cb_header {
    padding-top: 40px;
  }
  /*よくある質問ページ*/
  .faq_container {
    padding: 20px;
  }
  .faq_question {
    padding: 10px 35px 10px 10px;
    font-size: 16px;
  }
  .faq_item {
    margin-bottom: 10px;
  }
  .faq_item strong {
    font-size: 18px;
  }
  .faq_toggle:checked~.faq_answer {
    padding: 0 10px 5px 10px;
  }
  .txt_box01 .appeal {
    font-size: 16px;
  }
}
/* sp */
@media only screen and (max-width: 480px) {
  /*お酒・料金プランページ*/
  .product {
    margin-bottom: 40px;
  }
  .product_box .tag {
    margin: 0 0 10px 0;
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
  }
  .product_box .tag li:last-child {
    width: 100%;
  }
  .post_content .product_box h3 {
    font-size: 16px;
  }
  .post_content .table01 th,
  .post_content .table01 td {
    display: block;
    padding: 0 !important;
  }
  .post_content .table01 th {
     padding: 15px 0 5px 0 !important;
     font-size: 16px;
  }
  .post_content .table01 td {
     padding-bottom: 15px !important;
  }
}