/*
Theme Name: 一般社団法人 リップメイク協会JAPAN 専用子テーマ
Theme URI: https://www.lipmake.jp/
Template: arkhe
Author: 一般社団法人 リップメイク協会JAPAN
Author URI: https://www.lipmake.jp/
Description:
Tags:
Version: 1.00.
Updated: 2025-12-22

*/

body,
div {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-display: optional !important;
    font-display: swap;
}

#main_content h2 {
    font-weight: 500 !important;
    font-family: "Zen Old Mincho", serif !important;
    font-style: normal;
}

#main_content h3 {
    font-weight: 500 !important;
    font-family: "Noto Serif JP", serif;
}

h2,
h3,
h4,
h5 {
    font-family: "Zen Old Mincho", serif !important;
    font-weight: 500;
}

h2 strong,
h3 strong,
h4 strong,
h5 strong {
    color: #FA2F40;
}

strong {
    color: #FA2F40;
}

.smb-section__contents-wrapper p:not(:first-of-type) {
    margin-top: 15px;
}

b,
strong {
    font-weight: 500 !important;
}

p,
ul,
li {
    color: #444 !important;
}

td,
th {
    border-bottom: 1px solid #d2d2d2;
    border-left: 1px solid #d2d2d2;
}

table {
    border-right: 1px solid #d2d2d2;
    border-top: 1px solid #d2d2d2;
}

#main_content .sec_item21 h2 {
    display: inline-block;
    position: relative;
    margin: calc(3.5em / 2) 0 calc(3.5em / 4) calc(3.5em / 2);
    color: #333333;
    line-height: 1;
    z-index: 10;
}

#main_content .sec_item21 h2::before {
    position: absolute;
    bottom: calc(-3.5em / 4);
    left: calc(-3.5em / 2);
    z-index: -1;
    width: 2.5em;
    height: 2.5em;
    border-radius: 50%;
    background: #ffd1d1;
    content: '';
}

.group_title11 {
    text-align: center;
}

/* 中央配置（見た目も中央） */
#main_content h2.wp-block-heading.sec_item21.has-text-align-center {
    display: inline-block;
    position: relative;
    margin: calc(3.5em / 2) 0 calc(3.5em / 4) calc(3.5em / 2);
    color: #333333;
    line-height: 1;
    z-index: 10;
}

/* 丸は「h2の内側」に置く（はみ出さない） */
#main_content h2.wp-block-heading.sec_item21::before {
    position: absolute;
    bottom: calc(-3.5em / 4);
    left: calc(-3.5em / 2);
    z-index: -1;
    width: 2.5em;
    height: 2.5em;
    border-radius: 50%;
    background: #ffd1d1;
    content: '';
}

/* 中央配置（h3見た目も中央） */
#main_content h3.wp-block-heading.sec_item21.has-text-align-center {
    display: inline-block;
    position: relative;
    margin: calc(3.5em / 2) 0 calc(3.5em / 4) calc(3.5em / 2);
    color: #333333;
    line-height: 1;
    z-index: 10;
}

/* 丸は「h3の内側」に置く（はみ出さない） */
#main_content h3.wp-block-heading.sec_item21::before {
    position: absolute;
    bottom: calc(-3.5em / 4);
    left: calc(-3.5em / 2);
    z-index: -1;
    width: 2.5em;
    height: 2.5em;
    border-radius: 50%;
    background: #ffd1d1;
    content: '';
}

.page-id-13 ul {
    text-align: left;
}

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

    #main_content h2 {
        font-size: 1.6rem !important;
    }

    #main_content h3 {
        font-size: 1.3rem !important;
    }
}

/* ---------- ブロック関連 ---------- */

ul:not(.wp-block-social-links).is-style-vk-numbered-square-mark li:before,
ol.is-style-vk-numbered-square-mark li:before {
    background: #B49650 !important;
    width: 29px !important;
    height: 29px !important;
}

.smb-section__background-text__text {
    font-family: "Zen Old Mincho", serif !important;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    text-align: center;
    font-weight: 500;
}

.btn {
    width: 280px;
}

.fa-paypal {
    font-size: 1.6rem;
    margin-bottom: -3px !important;
}

.fa-envelope {
    font-size: 1.6rem;
}

.wp-block-columns.has-background,
.wp-block-group.has-background,
p.has-background {
    border-radius: 8px;
}

.wp-block-list {
    text-align: left;
}

h4.vk_borderBox_title {
    font-family: "Zen Old Mincho", serif !important;
}

@media (min-width: 768px) {
    h4.vk_borderBox_title {
        font-size: 1.2rem !important;
    }
}

@media (max-width: 480px) {
    .smb-section__inner>.c-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .smb-section-break-the-grid__content--p-m {
        padding: 5px !important;
    }
}

@media (max-width: 480px) {
    .l-header {
        background-color: #ffffffc2 !important;
    }

}


/* ---------- ボタンデザイン ---------- */
.btn_11 a {
    background: #fff;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 240px;
    padding: 5px 25px;
    color: #ff6e79;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    border: 1px solid #ffb4ba;
    text-decoration: none;
}

.btn_11 a:before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: -1em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 2px;
    background-color: #F83F4D;
    transition: 0.3s;
}

.btn_11 a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -1em;
    transform: translateY(-50%);
    width: 30px;
    height: 2px;
    background-color: #F83F4D;
    transition: 0.3s;
}

.btn_11 a:hover:before,
.btn_11 a:hover:after {
    right: -1.5em;
}

.btn_11 a:hover {
    border: 1px solid #F83F4D;
    background: #ffdfde;
    color: #F83F4D;
}

/* ---------- スマホ メインメニュー ---------- */
[data-btns="r-l"] .l-header__body {
    grid-template-columns: var(--ark-searchW) calc(15% - var(--ark-searchW)) 70% calc(15% - var(--ark-drawerW)) var(--ark-drawerW);
}

/* ---------- メインメニュー ---------- */

/* トップページ以外 */
/*body:not(.home) li.current_page_item a.c-gnav__a {
    color: #FE5656;
    border-radius: 5px;
    border: 0px solid #FFC5C5;
    background-color: #fff;
}*/

/*body:not(.home) li.current_page_item a.c-gnav__a .__mainText{
    color: #fff;
    border-bottom: 1px solid #fff;
}*/

.c-gnav__li.-current {
    position: relative;
    color: #B49650;
}

.c-gnav__li.-current::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -6px;
    /* 三角形の位置調整 */
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #FFE9B5;
    /* 三角形の色 */
}

/* ---------- ヘッダーメニュー ---------- */
.l-container {
    margin-left: 0;
    margin-right: auto;
    max-width: 100%;
}

.__subText {
    font-family: "Zen Old Mincho", serif !important;
}

@media (max-width: 1000px) {
    .p-drawer {
        background: #FFEBEB;
    }

    .c-drawerNav__a {
        color: #555;
        padding: 0.7rem;
    }

    [data-drawer=opened] .u-flex--c {
        color: #333;
        border: 1px solid #333;
    }
}

/* ---------- ページヘッダー ---------- */
.p-topArea {
    min-height: 22vh;
}

/* ---------- スマホTEL ---------- */
@media (min-width: 751px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
        color: #000;
    }
}

.c-pageTitle__main {
    font-family: "Noto Serif JP", serif;
    font-weight: normal;
    letter-spacing: 0.12em;
}

@media (max-width: 680px) {
    .c-pageTitle__main {
        font-size: 1.6rem !important;
    }
}

/* ----------- 見出し ---------- */
.heading_h_11 {
    text-align: center;
}

.heading_h_11 h2 {
    display: inline-block;
    position: relative;
    margin-bottom: 30px;
}

.heading_h_11 h2:before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 160px;
    height: 1px;
    background-color: #997D4C;
}

.heading_h_11 p.lip_p1 {
    text-align: left;
}

/* ----------- トップ ---------- */

.top_h3_title1 {
    font-size: 1.6rem !important;
    padding: 10px;
    background-color: #f4f4f4;
}

.top_p11 {
    text-align: center;
    font-size: 1.3rem;
}

.k_t_group1 {
    height: 80px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border-top: 3px solid #FFE3AB;
    border-bottom: 3px solid #FFE3AB;
}

.k_t_group1 h3 {
    margin-top: 0px !important;
}

ul.ul_li2.wp-block-list {
    margin-top: 0px !important;
}

.member_item1 p{
    font-size: 0.8rem;
}

@media (min-width: 1000px) {
    .k_t_group1 {
        width: 360px;
        position: relative;
        top: 50px;
        border: 5px solid #F6F3EE;
        left: 20px;
        height: 100px;
        border-top: 3px solid #FFE3AB;
        border-bottom: 3px solid #FFE3AB;
    }

    body.home #content .member_group1 .wp-block-image img {
        width: 60%;
        object-fit: cover;
        margin-top: 5px;
    }

    /*.sec_top_11 .smb-section-break-the-grid__content--p-l {
        margin-top: -30px !important;
    }*/

    .top_item_115 h2 {
        font-size: 2.4rem;
        text-align: center;
    }

    ul.ul_li1,
    ul.ul_li2 {
        display: flex;
        flex-wrap: wrap;
    }

    ul.ul_li1 li {
        width: 50%;
    }

    ul.ul_li2 li {
        width: 33.333%;
    }
}

.smb-spider-slider .spider__figure {
    border-radius: 50%;
    width: 80%;
}

.smb-spider-slider__item__caption {
    background-color: #f0f0f0;
    border-radius: 10px;
    padding-right: 10px;
    padding-left: 10px;
    font-size: 0.8rem !important;
    text-align: center;
}

.smb-spider-slider .spider__slide>.smb-spider-slider__item {
    bottom: -15px;
}

.spider__canvas {
    padding-bottom: 20px;
}

@media (max-width: 1000px) {
    .n2-ss-slider .n2-ss-slide {
        height: 260px !important;
    }
}

@media (max-width: 1000px) {
    .top_renraku p {
        margin-bottom: -15px;
    }
}

@media (max-width: 480px) {
    .smb-spider-slider .spider__figure {
        width: 50%;
        margin: auto;
    }
}

/* ----------- コンテンツ ---------- */

h2.title_h2 {
    font-size: 2.8rem !important;
    color: #222 !important;
    text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF,
        -1px 1px 0 #FFF, 1px -1px 0 #FFF,
        0px 1px 0 #FFF, 0-1px 0 #FFF,
        -1px 0 0 #FFF, 1px 0 0 #FFF;
}

h2.title_h2 {
    position: relative !important;
    -webkit-box-reflect: below -10px -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, .5)) !important;
}

.secitem1 h3 {
    color: #AA842C;
}

.vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-inner,
.vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-onborder,
.vk_borderBox.is-style-vk_borderBox-style-solid-kado-iconFeature {
    border-width: 1px !important;
}

.p_po1 {
    font-size: 1.2rem;
}

@media (min-width: 1200px) {
    h2.title_h2 {
        text-align: right;
    }

    .secitem1 .smb-section__contents-wrapper {
        width: 1200px;
        margin: auto;
    }

    .other_kai1 .c-row>.c-row__col {
        margin-bottom: var(--_gap);
        padding-left: calc(var(--_gap)*2.5) !important;
        padding-right: calc(var(--_gap)*2.5) !important;
    }

}

@media (max-width: 680px) {
    h2.title_h2 {
        text-align: center;
    }

}

/* ----------- 資格保持者リスト ---------- */
.table_box_11 table th{
    background-color: #F5F2EC !important;
    font-weight: normal !important;
}
.table_box_11 table th,.table_box_11 table td{
    padding: 15px !important;
    border: 1px solid #d2d2d2 !important;
}

/* 通常表示 */
.table_box_11 table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.table_box_11 th,
.table_box_11 td {
	border: 1px solid #abb8c3;
	padding: 18px 16px;
}

.table_box_11 th {
	width: 33.3%;
	background: #f5f2ec;
	text-align: left;
	font-weight: 400;
}

.table_box_11 td {
	text-align: center;
	background: #fff;
}


/* スマホ時：縦積み表示 */
@media (max-width: 767px) {
	.table_box_11 table,
	.table_box_11 tbody,
	.table_box_11 tr,
	.table_box_11 th,
	.table_box_11 td {
		display: block;
		width: 100% !important;
	}

	.table_box_11 tr {
		margin-bottom: 0;
	}

	.table_box_11 th {
		background: #f5f2ec;
		text-align: left;
		padding: 14px 16px;
		border: 1px solid #abb8c3;
		border-bottom: none;
		box-sizing: border-box;
	}

	.table_box_11 td {
		background: #fff;
		text-align: center;
		padding: 18px 16px;
		border: 1px solid #abb8c3;
		box-sizing: border-box;
	}
}

/* ----------- 講座案内 ---------- */

.sec_course_31 h2 {
    background-color: #fff;
    padding: 15px;
    margin-top: -109px;
    border: 3px solid #F5F2EC;
    border-radius: 50%;
    padding-top: 25px;
    padding-bottom: 25px;
    border-top: 3px solid #FFE3AB;
    border-bottom: 3px solid #FFE3AB;
}

.vk_borderBox .vk_borderBox_body {
    border-width: 0px !important;
}

.course_img_11 img {
    background-color: #fff;
    border-radius: 50%;
    padding: 10px;
}

.course_p11 {
    display: block;
    background-color: #f9f9f9;
    padding: 60px 40px 30px 40px;
    margin-top: -50px;
    text-align: left;
}

p.sc_p1 {
    font-size: 1.2rem;
}

p.sc_p2 {
    background-color: #f5f5f5;
    padding: 5px;
    margin-bottom: 15px;
    text-align: center;
    border-radius: 30px;
}

p.sc_p3 {
    background-color: #ffe9e9;
    padding: 5px;
    margin-bottom: 15px;
    text-align: center;
    border-radius: 30px;
}

.course_price_box11.smb-box {
    padding: 30px 50px;
}

.course_price_box11 .smb-price-menu__item__price strong {
    font-size: 2.4rem;
    line-height: 100%;
}

.price_box_22.vk_borderBox .vk_borderBox_title_container {
    font-size: 1.3rem;
}


.price_box_22 strong {
    font-size: 2.4rem;
    font-family: "Zen Old Mincho", serif !important;
}

.title_item_1 h2 {
    font-size: 2rem !important;
}

.title_item_2 h3 strong {
    font-size: 140%;
    color: #F63643;
}

.title_item_2 h3 {
    font-size: 140%;
}

#main_content h3.course_h3_title1 {
    position: relative;
    padding: .3em 0 .2em 1em;
    color: #333333;
    text-align: left;
}

#main_content h3.course_h3_title1::before {
    position: absolute;
    top: 0;
    left: .3em;
    transform: rotate(55deg);
    height: 11px;
    width: 12px;
    background: #F63643;
    content: '';
}

#main_content h3.course_h3_title1::after {
    position: absolute;
    transform: rotate(15deg);
    top: .6em;
    left: 0;
    height: 8px;
    width: 8px;
    background: #997D4C;
    content: '';
}

.course_box_10 h4 {
    display: flex;
    align-items: center;
    padding: .5em .7em;
    background-color: #f9f9f9;
    color: #333333;
    font-size: 1.4rem;
}

.course_box_10 h4::before {
    display: inline-block;
    width: 5px;
    height: 1.5em;
    margin-right: .5em;
    background-color: #997D4C;
    content: '';
}

.price_p1,
.price_p2 {
    text-align: center;
}

.price_p1 {
    background-color: #eee;
    padding: 5px;
    margin-bottom: 20px;
    border-radius: 30px;
}

.price_p2 {
    font-size: 1rem;
    line-height: 180%;
}

.price_p2 strong {
    font-size: 2.4rem;
    color: #FA2C3D;
    font-family: "Zen Old Mincho", serif !important;
}

.price_p3 {
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    margin-bottom: 10px;
    background-color: #997D4C;
}

.cou_ichiran_1 h3,
h3.cou_ichiran_1 {
    text-align: center;
    background-color: #F6F6F6;
    padding: 20px 10px;
}


.wp-block-image figcaption {
    margin-top: -76px;
    margin-left: 15px;
    text-align: left !important;
    color: #fff;
    background-color: #CF2E2E;
    width: 330px;
    padding: 8px;
    font-size: 15px !important;
    text-align: center !important;
}

.wp-block-media-text__content {
    margin-top: 0px !important;
    text-align: left;
}

.wp-block-spacer {
    margin-top: 0px !important;
}

.is-style-boundary-line.smb-items>.c-row--margin>.c-row__col {
    border-left: 1px solid #FFEFDD !important;
}

.top_box_mber1 .p_title01 {
    height: 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.course_item11 iframe{
    border-radius: 10px;
}

@media (min-width: 1200px) {
    .is-style-vk-triangle-mark {
        font-size: 1.2rem;
        margin-bottom: 20px;
    }

    .title_item_1_1 {
        width: 1200px;
        margin: auto;
        border-radius: 20px;
    }

    .smb-price-menu__item__title {
        text-align: end;
    }
}

@media (min-width: 768px) {
    .course_p11 {
        font-size: 1.12rem;
    }

    .price_box_22_1 h4 {
        font-size: 1.5rem !important;
    }

    .smb-section__background-text__text {
        font-size: 2.6rem !important;
        margin-top: 30px;
    }

    .p_fnt11 {
        font-size: 1.1rem;
        color: #222;
    }

}

@media (max-width: 767px) {
    .smb-section__background-text__text {
        font-size: 2rem !important;
        margin-top: 35px;
    }

    .bg_text_1 .smb-section__background-text__text {
        font-size: 5rem !important;
        margin-top: 5px;
    }

    .is-style-boundary-line.smb-items>.c-row>.c-row__col {
        border-left: 0px solid var(--smb-items--style--boundary-line--border-color) !important;
    }

    .title_item_1 h2 {
        font-size: 1.6rem !important;
    }

    .wp-block-image figcaption {
        margin: auto;
        margin-top: -70px;
        color: #fff;
        background-color: #CF2E2E;
        width: 230px;
        padding: 8px;
        font-size: 15px !important;
        text-align: center !important;
    }
}

@media (max-width: 680px) {

    /* 親の“はみ出し元”を止める（ここが重要） */
    .is-style-boundary-line.smb-items>.c-row--margin {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* 余白はcol側で確保（既存の意図を維持） */
    .is-style-boundary-line.smb-items>.c-row--margin>.c-row__col {
        padding-left: 5px !important;
        padding-right: 5px !important;
        box-sizing: border-box;
    }

    .price_box_22.vk_borderBox .vk_borderBox_title_container {
        text-align: center;
        font-size: 1.2rem !important;
        padding: 10px;
    }

    /* 念のため：横スクロールが出る場合の保険
  html, body{
    overflow-x: hidden;
  } */
}


/* ----------- 画像ブロック（高さ調整） ---------- */
.wp-block-gallery .wp-block-image {
    height: 360px;
    /* 揃えたい高さ */
    overflow: hidden;
}

.wp-block-gallery .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/*figure img{
    width: 85% !important;
    margin: auto;
}*/

@media (max-width: 768px) {
    .wp-block-gallery {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .wp-block-gallery .wp-block-image {
        height: 160px;
    }

    figure img {
        width: 70% !important;
        margin: auto;
    }
}

/* ----------- 動画ブロック（高さ調整） ---------- */
.wp-block-video {
    max-width: 100%;
}

.wp-block-video video {
    width: 100%;
    height: 360px;
    /* 調整したい高さ */
    object-fit: cover;
    display: block;
}


/* ----------- 各ヘッダー ---------- */

.c-pageTitle__main {
    color: #333;
}

.c-gnav .sub-menu .c-gnav__a {
    color: #fff;
}

/*@media (min-width: 1000px) {
    [data-btns="l-r"][data-logo="left"] .l-header__body.l-container {
        background-color: #ffffffe3;
        border-radius: 20px;
        margin-top: 10px;
    }
}*/


/* ------------ スライダー ------------ */
.n2-ss-slider .n2-ss-text {
    text-align: left !important;
    font-family: "Zen Old Mincho", serif !important;
    font-weight: bold;
}

#n2-ss-2item1,
#n2-ss-2item3,
#n2-ss-2item5 {
    margin-bottom: 30px;
}

#n2-ss-2item1,
#n2-ss-2item3,
#n2-ss-2item5 {
    font-weight: 600 !important;
}

#n2-ss-2item2,
#n2-ss-2item4,
#n2-ss-2item6 {
    font-weight: 600 !important;
}

@media (min-width: 1200px) {
    .n2-ss-slider .n2-ss-layer {
        width: 1200px !important;
        margin: auto;
    }

    .br_1 {
        display: none;
    }
}

@media (max-width: 680px) {

    #n2-ss-2item1,
    #n2-ss-2item3,
    #n2-ss-2item5 {
        font-size: 1.6rem !important;
    }

    #n2-ss-2item2,
    #n2-ss-2item4,
    #n2-ss-2item6 {
        font-size: 1.1rem !important;
    }

    .br_2 {
        display: none;
    }
}

/* ------------ 会社情報 ------------ */

.company_p1 {
    text-align: center;
    font-size: 2.8rem;
    line-height: 120%;
    font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
    background: linear-gradient(90deg, #C63B3B 0%, #FD5151 50%, #FF9A9A 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
}

.company_box1 .smb-information .smb-information__item__body {
    text-align: left;
}


/* ------------ 会員案内 ------------ */
@media (min-width: 768px) {
    .guide_p1 {
        height: 140px;
    }
}

/* ------------ 入会案内 ------------ */
.select_1,.select_2{
    width: 100%;
}

/* ------------ 会員様向け ------------ */
.sec_member1 h4 {
    background-image: linear-gradient(270deg, #ff8b8b, #fe5757);
    color: #fff;
    padding: 10px 10px 10px 20px;
    border-radius: 30px;
}

.sec_member1_1 h4 {
    background-color: #f5f5f5;
    color: #333;
    padding: 10px 10px 10px 20px;
    border-radius: 10px;
}

.sec_member1_1 .smb-accordion__item__body {
    font-size: 0.8rem;
}

@media (min-width: 768px) {
    .ul_li_box11 {
        margin-left: 15px;
    }
}

/* ------------ 理事紹介 ------------ */

/*.wp-block-snow-monkey-blocks-items-item-free {
    background-color: #fff;
}*/

.director_name {
    background-color: #FF5758;
    padding: 8px;
    color: #fff;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    border-radius: 8px;
}

.p_title011 {
    background-color: #FAFAFA;
    padding: 5px;
    text-align: center;
}

.director_name1 {
    margin-top: 0px !important;
    margin-bottom: 15px;
    font-size: 1.1rem;
    text-align: center;
    font-weight: 600;
    color: #AA842C;
}

.director_name1 a {
    color: #AA842C;
    text-decoration: none;
}

.site_icon1 {
    margin-top: 10px !important;
}

body.home .p_title01 {
    background-color: #f9f9f9;
    padding: 5px;
    text-align: center;
}

body.page-id-11 .p_title01 {
    display: inline-block;
    position: relative;
    padding: .5em 1em;
    border-right: 27px solid #ffd9d9;
    background-color: #f5f5f5;
    color: #333333;
    width: 100%;
}

body.page-id-11 .p_title01::before {
    position: absolute;
    bottom: 12px;
    right: -20px;
    z-index: -1;
    transform: rotate(354deg);
    width: 100%;
    height: 50%;
    background-color: #d0d0d0;
    content: "";
    filter: blur(4px);
}

.director_name a {
    color: #fff;
    text-decoration: none;
}

.navi_menu_link {
    text-align: center;
}

.navi_menu_link {
    text-align: center;
}

.navi_menu_link a {
    margin: 2em 0;
    position: relative;
    padding: 0.5em;
    border: solid 1px #FE5658;
    color: #FD3347;
    border-radius: 3px 0 3px 0;
    width: 100%;
    display: block;
    text-decoration: none;
}

.navi_menu_link a:hover {
    background-color: #CF2E2E;
    color: #fff;
}

.navi_menu_link a:before,
.navi_menu_link a:after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border: solid 1px #FE5658;
    border-radius: 50%;
}

.navi_menu_link a:after {
    top: -12px;
    left: -12px;
}

.navi_menu_link a:before {
    bottom: -12px;
    right: -12px;
}

body.page-id-11 .wp-block-image img {
    width: 70% !important;
    margin: auto;
}

.riji_box1 .smb-box__background {
    background-color: #fff;

}

.riji_box1 .wp-block-image img {
    position: relative;
    z-index: 10;
}

@media (min-width: 768px) {
    .sec_2_1 .smb-box__background {
        height: 380px;
    }
    .hei_box1 .smb-items__item {
        height: 650px;
        background-color: #fff;
    }
}

@media (max-width: 480px) {
    .director_menu1 {
        width: 90%;
        margin: auto;
    }

    .navi_menu_link a {
        margin: 0.3em 0;
    }

    body.page-id-11 .wp-block-image img {
        width: 50% !important;
        margin: auto;
    }
}

/* ------------ 会員様向け ------------ */
@media (min-width: 768px) {
    .member_group_1 {
        padding-right: 50px;
        padding-left: 50px;
    }

    /*.secitem1 .smb-section-break-the-grid__content{
    margin-top: -50px;
}*/
}

@media (max-width: 480px) {
    .smb-section-break-the-grid__content--p-l {
        padding: 15px !important;
        border-radius: 10px;
    }
}

/* ------------ フッター ------------ */
h2.widgettitle {
    font-family: "Noto Sans", sans-serif !important;
    font-size: 1rem !important;
    font-weight: normal;
}

.widget_nav_menu .menu-item {
    border-bottom: 0px;
}

.widget_nav_menu .menu {
    border-bottom: 0px;
    border-top: 0px;
}

#footer svg:not([fill]) {
    font-size: 0.6rem;
}

.insta_icon11 {
    width: 45px;
    margin: auto;
}

#footer h2 {
    font-size: 1rem !important;
    padding: 7px 5px;
    margin-bottom: 0;
}

.widget_nav_menu a {
    padding: 5px;
}

@media (min-width: 1200px) {
    #footer .l-container {
        width: 1200px;
        margin: auto;
    }

    .footer_col1 ul {
        display: flex;
        flex-wrap: wrap;
    }

    .footer_col1 li {
        width: 33.333%;
    }
}

@media (max-width: 680px) {

    .ft_col1_2 ul,
    .ft_col1_4 ul {
        display: flex;
        flex-wrap: wrap;
    }

    .ft_col1_2 ul li,
    .ft_col1_4 ul li {
        width: 50%;
    }

    .widget_nav_menu a {
        font-size: 0.9rem !important;
    }
}


/* ------------ パーツ ------------ */
.f_size1 {
    font-size: 0.9rem !important;
}

.sec_p_space1 {}

/* ------------ 問い合わせフォーム ------------ */
.seineg_n1 label {
    margin-bottom: 10px;
    border-bottom: 1px dotted #555;
    display: block;
}

.seineg_n1 input.wpcf7-form-control.wpcf7-text {
    width: 150px;
}

.toi_up1 {
    margin-top: 10px;
}

.date-time-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.date-time-row .date-label {
    min-width: 80px;
    font-weight: bold;
}

.date-time-row input {
    margin-right: 10px;
}

.date-time-row input,
.date-time-row select {
    width: 240px;
    padding: 0.8rem;
}

select {
    background-color: #f9f9f9;
    border: 0px solid #000;
}

#form1 {
    overflow: hidden;
}

#form1 th,
#form1 td {
    padding: 20px !important;
}

#form1 th {
    width: 40%;
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

div.wpcf7 .wpcf7-spinner {
    display: block;
}

#form1 .form_1 {
    background-color: #f39800;
    padding: 10px;
    color: #fff;
    text-align: center !important;
    margin-bottom: 20px;
}

#form1 .color-botton01 {
    width: 220px;
    margin: 20px auto;
    padding: 15px 5px;
    background-color: #f39800;
    text-align: center;
    border-radius: 30px;
}

#form1 .color-botton01 a {
    color: #fff;
}

@media (min-width: 768px) {
    .wpcf7 {
        width: 100% !important;
    }
}

.wpcf7 {
    margin: 0px auto !important;
    padding: 0px !important;
    padding-bottom: 0px !important;
}

span.wpcf7-list-item {
    display: block !important;
    margin: 0 0 0 1em;
    width: 100%;
}

.must {
    color: #fff;
    margin-right: 5px;
    padding: 2px 5px;
    background: #FE5453;
    border-radius: 3px;
    font-size: 10px;
}

.free {
    color: #fff;
    margin-right: 5px;
    padding: 3px 5px;
    background: #a9a9a9;
    border-radius: 20px;
    font-size: 11px;
}

input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    padding: 8px 15px;
    margin-right: 10px;
    margin-top: 10px;
    border: 1px solid #d0d5d8;
    border-radius: 3px;
}

textarea.wpcf7-form-control.wpcf7-textarea {
    height: 200px;
}

/*input.wpcf7-submit {
    padding: 10px 80px;
    background: #ff7b00;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}*/

.formb1 {
    text-align: center;
    font-size: 0.9rem;
    margin: 10px;
}

.formb2 {
    margin-top: 10px;
    text-align: center;
}

span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
    color: red;
    font-weight: 600;
}

.wpcf7-form-control.wpcf7c-btn-confirm {
    width: 350px;
    padding: 15px !important;
    color: #fff;
    font-size: 30px !important;
    font-weight: 600;
    border-radius: 50px !important;
    margin-top: 30px !important;
    background: #ffc86a !important;
    background: -moz-linear-gradient(top, #ffc86a 0%, #f39800 100%) !important;
    background: -webkit-linear-gradient(top, #ffc86a 0%, #f39800 100%) !important;
    background: linear-gradient(to bottom, #ffc86a 0%, #f39800 100%) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc86a', endColorstr='#f39800', GradientType=0) !important;
}


input.wpcf7-submit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin: 0 auto;
    padding: .4em 2em;
    border: 1px solid #FE5453;
    border-radius: 5px;
    background-color: #fff;
    color: #FE5453;
    font-size: 1em;
}

input.wpcf7-submit:hover {
    border: none;
    background-color: #FE5453;
    color: #fff;
    font-weight: 600;
}


@media only screen and (max-width:480px) {
    #form1 {
        margin: 0 -10px;
    }

    #form1 th,
    #form1 td {
        width: 100% !important;
        display: block;
        border-top: none;
    }

    #form1 tr:first-child th {
        border-top: 1px solid #ddd;
    }
}

/* ------------ プライバシーポリシー ------------ */

#main_content .pp_sec1 h2,
#main_content .pp_sec1 h3 {
    font-size: 1rem !important;
    margin: 50px 0 10px;
    font-family: 'Noto Sans JP', sans-serif !important;
}

/* ---------- サイド ---------- */
#sidebar {
    background-color: #f9f9f9;
    padding: 30px 20px;
    border-radius: 20px;
}

#sidebar h2 {
    background-color: #fff;
    padding: 10px;
    border-left: 5px solid #FD6766;
    font-size: 1rem !important;
    font-weight: normal;
    box-shadow: 2px 2px 4px #eee;
    border-radius: 10px;
    font-family: 'Noto Sans JP', sans-serif !important;
}

.wp-block-search__label {
    background-color: #fff;
    padding: 10px;
    border-left: 5px solid #FD6766;
    font-size: 1rem !important;
    width: 100%;
    display: block;
    margin-bottom: 10px;
    box-shadow: 2px 2px 4px #eee;
    border-radius: 10px;
}

.menu-item {
    border: 0px !important;
}

.menu {
    border-bottom: 0px !important;
    border-top: 0px !important;
}

.c-drawerNav,
.widget_categories>ul,
.widget_nav_menu .menu,
.widget_recent_entries__list,
.wp-block-archives-list,
.wp-block-categories-list,
.wp-block-latest-comments,
.wp-block-latest-posts:not(.is-grid),
.wp-block-page-list {
    border-bottom: 0;
    border-top: 0;
}

.c-widget+.c-widget {
    margin-top: 1.5rem;
}

@media (min-width: 768px) {}

@media (max-width: 680px) {
    #sidebar {
        padding: 15px;
    }
}

/* ---------- 固定情報 ---------- */
@media (min-width: 1200px) {

    body.single #content,
    body.archive #content,
    body.category #content {
        width: 1200px;
        margin: auto;
    }
}


/* ---------- 固定情報 ---------- */

/* 共通スタイル */
.fixed-buttons {
    position: fixed;
    z-index: 9999;
    display: flex;
    gap: 5px;
    font-family: sans-serif;
    margin-right: 3px;
}

.fixed-buttons a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    transition: opacity 0.3s;
    padding: 25px 15px;
    letter-spacing: 0.1em;
    border: 1px solid #fff;
}

.fixed-buttons a i {
    font-size: 18px;
    margin-right: 6px;
}

.fa-line {
    font-size: 1.6rem;
    margin-bottom: -3px !important;
}

/* PC表示：縦配置 */
@media (min-width: 768px) {
    .fixed-buttons {
        flex-direction: column;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
    }

    .btn-line {
        background-color: #fff;
        /*background: linear-gradient(to bottom, #a1e68b, #4caf50);*/
        padding: 14px 10px;
        writing-mode: vertical-rl;
        text-align: center;
        color: #4caf50 !important;
        border: 1px solid #4caf50 !important;
    }

    .btn-form {
        background-color: #fff;
        /*background: linear-gradient(to bottom, #ffcc80, #ff9800);*/
        padding: 14px 10px;
        writing-mode: vertical-rl;
        text-align: center;
        color: #ff9800 !important;
        border: 1px solid #ff9800 !important;
    }

    .fixed-buttons a i {
        margin: 0 0 6px 0;
        font-size: 20px;
    }

    .fixed-buttons a .text {
        display: block;
    }

    .fa-line {
        margin-bottom: 5px !important;
    }
}

/* スマホ表示：下部固定 横並び */
@media (max-width: 767px) {
    .fixed-buttons a {
        font-size: 14px;
        letter-spacing: 0em;
        padding: 10px 5px;
    }

    .fixed-buttons {
        bottom: 0;
        left: 0;
        width: 100%;
        flex-direction: row;
    }

    .btn-line,
    .btn-form {
        flex: 1;
        padding: 12px 0;
        text-align: center;
    }

    .btn-line {
        background-color: #fff;
        color: #4caf50 !important;
        border: 1px solid #4caf50 !important;
        /*background: linear-gradient(to bottom, #a1e68b, #4caf50);*/
    }

    .btn-form {
        background-color: #fff;
        color: #ff9800 !important;
        border: 1px solid #ff9800 !important;
        /*background: linear-gradient(to bottom, #ffcc80, #ff9800);*/
    }

    .fixed-buttons a i {
        margin-right: 6px;
        font-size: 18px;
    }

    .fixed-buttons a .text {
        display: inline;
    }
}

/* ---------- メディアスクロール ギミック ---------- */
.itembox_1 .smb-section-break-the-grid__content {
    z-index: 100;
}

.smb-section-break-the-grid__content--p-l {
    z-index: 100;
}

.reveal-mask .smb-section-break-the-grid__figure {
    position: relative;
    overflow: hidden;
}

.reveal-mask .smb-section-break-the-grid__figure img {
    display: block;
    width: 100%;
    height: auto;
    opacity: 0;
    transform: scale(1.05);
    transition: opacity 1.2s ease 0.1s, transform 1.2s ease 0.1s;
    z-index: 0;
    position: relative;
}

.reveal-mask .smb-section-break-the-grid__figure::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #fff;
    z-index: 2;
    transform: translateX(0%);
    transition: transform 1.4s cubic-bezier(0.65, 0, 0.35, 1);
    pointer-events: none;
    background: rgba(255, 255, 255, 0.9);
    /* 少し透け感を加える */
}

.reveal-mask.is-visible .smb-section-break-the-grid__figure::before {
    transform: translateX(100%);
}

.reveal-mask.is-visible .smb-section-break-the-grid__figure img {
    opacity: 1;
    transform: scale(1);
}


.reveal-mask .wp-block-media-text__media {
    position: relative;
    overflow: hidden;
}

.reveal-mask .wp-block-media-text__media img {
    display: block;
    width: 100%;
    height: auto;
    opacity: 0;
    transform: scale(1.05);
    transition: opacity 1.2s ease 0.1s, transform 1.2s ease 0.1s;
    z-index: 1;
    position: relative;
}

.reveal-mask .wp-block-media-text__media::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #fff;
    z-index: 2;
    transform: translateX(0%);
    transition: transform 1.4s cubic-bezier(0.65, 0, 0.35, 1);
    pointer-events: none;
    background: rgba(255, 255, 255, 0.9);
    /* 少し透け感を加える */
}

.reveal-mask.is-visible .wp-block-media-text__media::before {
    transform: translateX(100%);
}

.reveal-mask.is-visible .wp-block-media-text__media img {
    opacity: 1;
    transform: scale(1);
}

/* ---------- NEWSマークがつく記事一覧 ---------- */
/* ---------- 記事一覧全体 ---------- */
.custom-post-list {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

/* ---------- 各行 ---------- */
.custom-post-list .post-item {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ddd;
    padding: 10px 0;
}

/* ---------- 日付 ---------- */
.custom-post-list .post-date {
    font-size: 0.9em;
    min-width: 120px;
    margin-right: 15px;
    color: #666;
}

/* ---------- タイトルエリア ---------- */
.custom-post-list .post-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

/* ---------- タイトルリンク ---------- */
.custom-post-list .post-title a {
    font-size: 1em;
    text-decoration: none;
    color: #333;
    transition: 0.2s;
}

.custom-post-list .post-title a:hover {
    color: #0073aa;
}

/* ---------- NEWマーク ---------- */
.custom-post-list .new-label {
    background: #e60012;
    color: #fff;
    font-size: 0.6em;
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 5px;
    letter-spacing: 0.05em;
    line-height: 100%;
}

/* ---------- カテゴリ共通 ---------- */
.custom-post-list .post-category {
    font-size: 0.7em;
    padding: 2px 6px;
    border-radius: 3px;
    color: #fff;
    white-space: nowrap;
    line-height: 100%;
}

/* ---------- カテゴリ別色 ---------- */
/* お知らせ */
.custom-post-list .cat-news {
    background: #0073aa;
}

/* 成婚者のご紹介 */
.custom-post-list .cat-introduction {
    background: #28a745;
}

/* その他（予備） */
.custom-post-list .cat-default {
    background: #666;
}


/* スマホ時 */
@media (max-width: 768px) {

    .custom-post-list .post-item {
        flex-direction: column;
        /* 縦並び */
        align-items: flex-start;
        /* 左揃え */
    }

    .custom-post-list .post-date {
        margin-right: 0;
        margin-bottom: 6px;
        /* 日付とタイトルの間隔 */
        min-width: auto;
    }

    .custom-post-list .post-title {
        width: 100%;
    }

}