@charset "utf-8";html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box
}

.wp-block-kadence-advancedgallery {
    margin: 10px 0
}

.wp-element-caption {
    font-size: 8px;
    text-align: right
}

{
    font-size: 8px
}

.block p {
    line-height: 17px
}

.block p strong {
    background-image: linear-gradient(to right,#ff0db2,#eb0b0b85);
    background-repeat: no-repeat;
    background-size: 100% 10%;
    background-position: bottom
}

* {
    padding: 0;
    margin: 0
}

/* 基本のスタイル */
body {
    font-feature-settings: "palt";
    padding: 0;
    color: #222;
    max-width: 100%;
    font-size: 14px;
    font-weight: 700;
    font-family: "Noto Sans JP","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","Meiryo";
    word-break: break-all;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    /* background-color: #f2bbb6; */

}

#header {
    width: 100%;
    margin: auto;
    position: relative;
}
#header .sp{

}
#header_upper {
    display: flex;
    align-items: center;
    justify-content: space-between; /* 要素を左右に配置 */
    width: 100%;
    padding: 0 2.5%;
    margin: 10px auto 0;
    height:70px;
}

#header_logo {
    width: 50PX;
}

#header_text_container {
    padding-left: 20px;
    width: 100%;
    display: flex;
    justify-content: flex-start;
}

#header_text {
    font-size: 20px;
    letter-spacing: 3px;
}
@media (max-width: 600px) {
#header .sp
{display:block;
}
    #header_text{
        font-size:10px;
    }
    #header_upper {

}
  }

/* ハンバーガーメニューアイコン */
#hamburger_menu_icon {
    width: 30px;
    height: 30px;
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 1000;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: content-box;
    padding: 0;
    margin: 0;
    top: 0;
    bottom: 0;
    /* left: 0; */
    /* right: 0; */
    margin: auto;
}

#hamburger_menu_icon .hamburger_icon_bar,
#hamburger_menu_icon .hamburger_icon_bar::before,
#hamburger_menu_icon .hamburger_icon_bar::after {
    display: block;
    width: 18px;
    height: 2px;
    background-color: #222;
    position: absolute;
    transition: all 0.3s ease;
}

#hamburger_menu_icon .hamburger_icon_bar {
    position: relative;
}

#hamburger_menu_icon .hamburger_icon_bar::before,
#hamburger_menu_icon .hamburger_icon_bar::after {
    content: '';
    position: absolute;
}

#hamburger_menu_icon .hamburger_icon_bar::before {
    top: -8px;
}

#hamburger_menu_icon .hamburger_icon_bar::after {
    top: 8px;
}

#hamburger_menu_icon.active .hamburger_icon_bar {
    background-color: transparent;
}

#hamburger_menu_icon.active .hamburger_icon_bar::before {
    top: 0;
    transform: rotate(45deg);
}

#hamburger_menu_icon.active .hamburger_icon_bar::after {
    top: 0;
    transform: rotate(-45deg);
}

/* ハンバーガーメニューコンテンツ */
#hamburger_menu_content {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    background-color: #fff;
    overflow-y: auto;
    transition: right 0.5s ease, opacity 0.5s ease;
    z-index: 999;
    opacity: 0;
    pointer-events: none;
}

#hamburger_menu_content.active {
    right: 0;
    opacity: 1;
    pointer-events: auto;
}

/* 共通のスタイル */
#hamburger_menu_content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* メニューの上下を分けるためのスタイル */
#menu_upper,
#menu_lower {
    padding: 50px 20px;
}

#menu_upper {
    border-bottom: 1px solid #ccc; /* 区切り線を追加 */
    margin-bottom: 20px;
}

/* リスト項目のスタイル */
#hamburger_menu_content ul li {
    margin-bottom: 20px;
}

/* 上部メニューのリンクスタイル */
#menu_upper ul li a {
    text-decoration: none;
    color: #222;
    font-size: 24px;
    font-weight: bold;
}

/* 下部メニューのリンクスタイル */
#menu_lower ul li a {
    text-decoration: none;
    color: #222;
    font-size: 20px; /* 文字サイズを小さくする */
    font-weight: normal;
}

/* 十字線 */
.cross {
    position: relative;
    width: 100%;
    height: 13px;
    margin: 20px 0;
}

.cross .horizontal {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: black;
}

.cross .vertical {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    background: black;
}


.flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap
}

.column-reverse {
    flex-direction: column-reverse
}

.flex_start {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    width: 100%
}

.flex_end {
    justify-content: flex-end;
    -webkit-justify-content: flex-end
}

.flex-container {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    justify-content: flex-start
}

.flex-item {
    flex: 1 calc(100%/2)
}

.flex-item:nth-child(3n+2):last-child {
    flex-basis: calc((100%/3)*1)
}

.start {
    justify-content: start;
    -webkit-justify-content: start
}

.stretch {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: stretch;
    justify-content: stretch;
    -webkit-align-items: stretch;
    align-items: stretch
}

.tate {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center
}

.tate_mannaka {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center
}

.tate_end {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-direction: reverse;
    -moz-box-direction: reverse;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -webkit-flex-direction: column-reverse;
    -moz-flex-direction: column-reverse;
    flex-direction: column-reverse
}

.tategaki {
    -ms-writing-mode: tb-lr;
    -webkit-writing-mode: vertical-lr;
    -o-writing-mode: vertical-lr;
    writing-mode: vertical-lr
}

* {
    box-sizing: border-box
}

a {
    text-decoration: none;
    transition-property: all;
    transition: .3s linear
}

a:hover {
    text-decoration: none
}

a:link {
    color: #000
}

a:visited {
    color: #000
}

a:hover {
    color: #000
}

a:active {
    color: #000
}

img {
    width: 100%;
    height: auto
}

svg {
    width: 100%;
    height: auto
}

.scrollbar_y {
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    height: auto;
    display: none;
}

.scrollbar_y::-webkit-scrollbar {
    display: none
}

* {
    margin: 0;
    padding: 0
}



.friend_post_wrap {
    border-bottom: solid 1px #333;
    width: 95%;
    margin: auto
}

.p_title {
    border-bottom: solid 1px #333
}

#textbook {
    margin: 0;
    padding: 0 0 30px
}

#shop_name {
    margin: 0 0 30px
}

table {
    overflow-x: auto
}

::-webkit-scrollbar {
    height: 8px;
    width: 8px;
    background-color: #f5f5f5
}

::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: #c1c1c1
}

::-webkit-scrollbar-thumb:hover {
    background-color: #a5a5a5
}

.table-wrapper {
    overflow-x: auto
}

table {
    width: 100%;
    border-collapse: collapse
}

th,td {
    padding: 10px;
    text-align: left
}

th {
    background-color: #fff
}

tbody tr:nth-child(even) {
    background-color: #fff
}

.close_window {
    display: none
}

/* 上段 */
.partner-top {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  padding-top: 8px;
}
.partner-id {font-size: 21px;padding: 10px 8px;width: 70px;}
.partner-name { border-left: 1px solid #222; padding-left: 10px; font-weight: 600; }

/* タグ（業種／エリア） */
.partner-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 10px;
  padding:0;
  list-style:none;
}
.partner-tags .tag{
  color:#222;
  font-size:12px;
  line-height:1;
  padding:6px 10px;
  border:1px solid #222;
  border-radius:999px;
  background:#fff;
  white-space:nowrap;
}
.partner-tags .tag-industry{ border-color:#555; }
.partner-tags .tag-area{ border-color:#888; }

/* 中段：3カラム（紹介元｜はしご｜紹介先） */
.partner-gallery{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
  border-bottom:3px solid #222;
  padding:14px 0 18px;
}
.partner-gallery .thumb{ text-align:center; }
.partner-gallery .thumb img{
  width:100%;
  max-width:180px;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#fff;
  border:1px solid #ddd;
  display:block;
  margin:0 auto;
}
.partner-gallery .thumb-placeholder{
  width:100%;
  max-width:180px;
  aspect-ratio:16/9;
  display:grid;
  place-items:center;
  border:1px dashed #bbb;
  background:#fff;
  color:#777;
  margin:0 auto;
  font-size:12px;
}
.partner-gallery .thumb-label{ font-size:12px; margin-top:6px; opacity:.85; }
.partner-gallery .ladder img{ width:56px; height:auto; display:block; }

/* コンテナなど（既存） */
.partner-container{
  padding:0 10px 10px;
  width:100%;
  margin:20px auto;
  border:1px solid #222;
  background:#efeeee;
}
.partner-bottom{ padding-top:10px; }
.partner-benefit{ text-align:left; margin-top:10px; }
.partner-link{
  display:block;
  width:90%;
  margin:10px auto 0;
  background:#000;
  text-align:center;
  font-size:10px;
}
.partner-link a{
  display:block;
  width:100%;
  height:100%;
  color:#fff;
  text-decoration:none;
  padding:8px 10px;
  background:#000;
}

/* モバイル */
@media (max-width:768px){
  .partner-gallery{ grid-template-columns:1fr 48px 1fr; gap:10px; }
  .partner-gallery .thumb img,
  .partner-gallery .thumb-placeholder{ max-width:140px; }
  .partner-gallery .ladder img{ width:44px; }
}

@media screen and (max-width: 1024px) {
   
}

@media screen and (max-width: 600px) {
    body {
        overflow:auto;
        font-size: 13px;
    }






    #left_content_inner {
        width: 100%
    }


    #shop_name {
        border-bottom: solid 1px #333;
        padding: 20px 0
    }


}
