/*
Theme Name: saihan theme
Author: CANDO
Version: 1.0
Text Domain: saihan-theme
*/

/* ----------------------------------------
 *   style.css
 * ---------------------------------------- */

body {
    background-color: #fff;
    color: #333333;
    overflow-x: hidden;
}

p:empty {
    display: none;
}

/* ----------------------------------------
 *   Header/Footer Example
 * ---------------------------------------- */
header {
    height: 90px;
    margin: 0 auto;
    display: flex;
}

#menu-toggle {
    display: none;
}

.header-contents {
    margin: 0 auto;
    display: flex;
}

header div#logo {
    padding: 12px 0;
}

header div#logo img {
    height: 68px;
    width: auto;
}

header div#gnav {
    padding: 10px 0px 0px 10px;
}

header div#gnav ul {
    display: flex;
    justify-content: space-between
}

header div#gnav ul li {
    margin-left: 20px;
}

header div#gnav ul li img {
    height: 80px;
    width: auto;
    transition: transform 0.3s ease;
    transform-origin: bottom center;
    /* 下端を基準に拡大 */
}

header div#gnav ul li img:hover {
    transform: scale(1.1);
    /* 10%拡大 */
}

footer {
    height: 200px;
    background-color: #fff
}



/* ----------------------------------------
 *   Layout Utilities
 * ---------------------------------------- */
.pc {
	display: block;
}

.sp {
	display: none !important;
}

#container {
    margin-inline: auto;
}

.kv-flow-bt {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}



div#page-front-kv img.kv-flow-bt {
    width: 323px;
    position: fixed;
    bottom: 0px;
    left: 10px;
    z-index: 9999;
    transition: .2s;
}

div#page-front-kv img.kv-flow-bt:hover {
    transform: scale(1.1);
}

@media (max-width: 1440px) and (min-width: 1281px) {}

@media (max-width: 1280px) {

    .content-area h3 {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        text-align: center;
    }

    div#page-front-kv img.kv-flow-bt {
        width: 150px !important;
    }
}

section#contents {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    box-sizing: border-box;
}

.content-area {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

main #contents h3 {
    text-align: left;
}

.content-area h3 {
    margin: 0px 0px 50px -100px;
    padding: 50px 0 0 0;
}

.base-items {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 100px;

}

.base-items a div.base-item {
    width: 380px;
    height: 400px;
    opacity: 0;
    background-image: url(img/nyuka1.png);
    background-repeat: no-repeat;
    background-size: cover;
}

.base-item div.itemPh img {
    padding: 30px 0px 0 30px;
    width: 350px;
    height: 270px;
}

.btn-st {
    clear: both;
    width: 100%;
    margin: 80px auto 0px;
    padding: 0 0 100px 0;
}

.base-item div.base-price {
    margin-top: 30px;
}

.base-item div.base-price span {
    font-size: 50px;
    text-decoration: none;
    color: red;
    font-weight: bold;
    font-style: italic;
}

div.itemPh div.item-title {
    display: block;
    position: absolute;
    top: 30px;
    left: 30px;
    width: 320px;
    background-color: #00000066;
    height: 240px;
    transition: 0.5s;
    padding: 25% 20px 25%;
}

.base-items a div.base-item div.itemPh div.item-title {
    transition: 0.5s;
    color: #fff;
}

.base-items a:hover div.base-item div.itemPh div.item-title {
    display: none;
    transition: 0.5s;
}

a .base-item div.base-price span {
    text-decoration: none;
}
span.yen-mark {font-size: 38px !important;}

.btn-st a img {
    margin: 0px auto;
    transition: .2s;
}

.btn-st a img:hover {
    transform: scale(1.1);
    /* 10%拡大 */
}

/* 共通 */
.base-items a div.base-item {
    width: 380px;
    height: 400px;
    opacity: 0;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

/* 1、4... */
.base-items a:nth-child(3n+1) div.base-item {
    background-image: url(img/nyuka1.png);
}

/* 2、5... */
.base-items a:nth-child(3n+2) div.base-item {
    background-image: url(img/nyuka2.png);
}

/* 3、6... */
.base-items a:nth-child(3n) div.base-item {
    background-image: url(img/nyuka3.png);
}

/* 6まで */
/*.base-items a:nth-child(n+7) {
    display: none;
}
*/
/* TOPページだけ6件制限 */
body.home .base-items a:nth-child(n+7) {
    display: none;
}

ul.infomation {
    width: 800px;
}

ul.infomation li {
    background-color: #000;
    text-align: left;
    padding: 15px 25px;
    color: #fff;
    margin: 15px 0 0 0;
}

ul.infomation li time {
    padding-right: 25px;
}

ul.infomation li:hover {
    background-color: white;
    color: #333;
}

.yes-img {
    width: 300px;
    float: right;
    margin: -260px 30px 0 -100px;
    right: 0;
}


.bg-black {
    position: relative;
    inset-inline: 50%;
    width: 100vw;
    margin-inline: -50vw;
    padding-inline: calc((100vw - 100%) / 2);
    background-size: contain;
    background-image: url(img/back_bl.png);
}

.bg-white {
    position: relative;
    inset-inline: 50%;
    width: 100vw;
    margin-inline: -50vw;
    padding-inline: calc((100vw - 100%) / 2);
    background-size: contain;
    background-image: url(img/back_wh.png);
}

.contents-point {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 50px;
}

.contents-point img {}

.flex-2area {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.flex-2area div {
    width: 49%
}

.purchase-items {
    display: flex;
    flex-wrap: wrap;
    gap: 21px;
}

.purchase-item {}

.shop-info {}

.shop-info-phleft {
    display: flex;
    flex-wrap: nowrap;
    margin-bottom: 35px;
}

.shop-info-phleft img {
    width: 770px;
}

.shop-info-phright {
    display: flex;
    flex-wrap: nowrap;
    margin-bottom: 35px;
}

.shop-info-phright img {
    width: 770px;
}

.shop-info-text {
    padding: 130px 0 0 30px;
    width: 420px;
    text-align: left;
    font-size: 18px;
}

.shop-info-text h4 {
    font-size: 24px;
    font-weight: bold;
    margin: 0 10px 10px 0;
}

.faq {}

.question {
    background-image: url(img/question_pc.png);
    width: 1000px;
    height: 166px;
    background-size: contain;
    background-repeat: no-repeat;
    color: #fff;
    padding: 80px 0 0 80px;
    text-align: left;
}

.answer {
    background-image: url(img/answer_pc.png);
    width: 1000px;
    height: 166px;
    background-size: contain;
    background-repeat: no-repeat;
    color: #333;
    padding: 70px 0 0 70px;
    text-align: left;
}

.front-recruit {
    margin: 0 auto;
    width: 1200px;
    position: relative;
    height: 500px;
}

.rec-bg {}

.rec-text {
    position: absolute;
    top: 140px;
    text-align: left;
    width: 470px;
    right: 90px;
    font-size: 18px;
}

.front-company-profile {}

.front-company-profile table {
    border-spacing: 10px;
    width: 100%;
    font-size: 24px;
}

.front-company-profile table tr {}

.front-company-profile table tr th {
    background-color: #BBF009;
    font-weight: bold;
    text-align: center;
    padding: 20px 30px;
    width: 360px;
}

.front-company-profile table tr td {
    background-color: #fff;
    padding: 20px 30px;
    text-align: left;
}

.cta-contact {
    font-size: 24px;
    color: #fff;
    font-weight: bold;
    line-height: 50px;
}

.cta-contact address {
    font-size: 64px;
    padding: 30px;
    font-style: normal;
}

.btn-st.cta-bn {
    height: 75px;
}

.btn-st.cta-bn img {
    height: 105px;
    margin: 45px auto 75px;
    transition: .2s;
}

.btn-st.cta-bn img:hover {
    transform: scale(1.1);
    /* 10%拡大 */
}

.banners {
    padding-bottom: 140px;
}

.bn-flex2 ul {
    gap: 30px;
    margin-bottom: 30px;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.bn-flex2 img {
    width: 100vw;
}

.bn-flex4 ul {
    gap: 30px;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.bn-flex4 img {
    width: 320px;
}

footer section {
    width: 1200px;
    margin: 0 auto;
}

.ft-logo {
    width: 285px;
    padding-top: 50px;
}

.ft-nav {
    float: right;
}

.ft-nav ul {
    display: flex;
    margin-top: -50px;
}

.ft-nav ul li {
    padding-right: 40px;
}

.ft-nav ul li a {
    color: #333;
    text-decoration: none;
}

#copyrights {
    clear: both;
    text-align: center;
    margin-top: 20px;
}



/* archive-news.css */


#st-page section#contents h3 {
    text-align: center;
    padding-top: 60px;
    padding-bottom: 30px;
}

#st-page section#contents h3 img {
    display: inline-block;
    max-width: 55%;
    height: auto;
}

.infomation {
    list-style: none;
    padding: 0;
    margin: 2rem auto;
    max-width: 1200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 60px;
}

#st-page #contents ul.infomation {
    width: 100%;
}

.infomation li {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 2rem auto;
    padding: 1rem;
    background-color: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    text-align: left;
}


.infomation li a {
    display: block;
    text-decoration: none;
    color: inherit;
}

.pagination {
    text-align: center;
    margin-top: 2rem;
    padding-bottom: 60px;
}

.pagination a,
.pagination span {
    display: inline-block;
    margin: 0 4px;
    padding: 0.4rem 0.8rem;
    border: 1px solid #ccc;
    text-decoration: none;
    color: #333;
}

.pagination .current {
    background: #006400;
    color: #fff;
    border-color: #006400;
}

/* ----------------------------------------
 *   kataduke.css
 * ---------------------------------------- */

.kataduke-container {
    position: relative;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

.kataduke-main-img {
    width: 100%;
    height: auto;
    display: block;
}

.kataduke-staff-img {
    position: absolute;
    right: -350px;
    top: 80%;
    transform: translateY(-50%);
    width: 40%;
    max-width: 414px;
    height: auto;
    z-index: 10;
}

.kataduke-text {
    font-size: 42px;
    font-weight: bold;
    padding-bottom: 60px;
    color: black;
}

.okomari_01 {
    display: block;
    margin-left: -8%;
    margin-right: auto;
    width: 100%;
    max-width: 825px;
}

.okomari_area {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 0;
    margin: 0 auto;
}

.okomari_02 {
    position: relative;
    z-index: 2;
}

.okomari_no {
    position: absolute;
    left: calc(50% - 900px);
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    width: 33%;
}

.okomari_help {
    position: absolute;
    left: calc(50% + 490px);
    top: 23%;
    transform: translateY(-50%);
    z-index: 1;
    width: 33%;
}

.sekou_01 {
    display: block;
    margin-top: 40px;
    margin-bottom: 20px;
    margin-left: -8%;
    margin-right: auto;
    width: 100%;
    max-width: 603px;
}

.highlight-box {
    background: #2e7d32;
    color: #fff;
    font-weight: bold;
    font-size: 34px;
    padding: 3px 8%;
    border: 3px solid #000;
    border-radius: 30px;
    display: inline-block;
}

.kakaku_ihin_01 {
    width: 100%;
    margin: 0 auto;
}

.triangle-down {
    width: 0;
    height: 0;
    margin: 10px auto;
    border-left: 250px solid transparent;
    border-right: 250px solid transparent;
    border-top: 60px solid #F7931E;
}

.image-wrapper {
    position: relative;
    width: 80%;
    max-width: 1440px;
    margin: 0 auto;
    text-align: center;
    padding-bottom: 60px;
}

.main-image {
    width: 100%;
    display: block;
    margin: 0 auto;
}

.staff-image {
    position: absolute;
    width: 64%;
    left: -50%;
    bottom: -2px;
}

.meyasu_01 {
    display: block;
    margin-left: -8%;
    margin-right: auto;
    width: 100%;
    max-width: 603px;
    padding-top: 30px;
}

.centered-image-with-line {
    text-align: center;
    margin-bottom: 15px;
}

.centered-image-with-line img {
    width: 100%;
    max-width: 680px height: auto;
    display: inline-block;
}

.white-line {
    width: 75%;
    height: 6px;
    background-color: #fff;
    margin: 20px auto 0;
}

.meyasu-block {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
    margin-top: 40px;
}

.meyasu-img {
    width: 100%;
    max-width: 120px;
    height: auto;
}

.meyasu-text {
    color: white;
    font-size: 36px;
    line-height: 1.5;
    text-align: left;
    font-weight: bold;
}

.meyasu-note {
    text-align: center;
    font-size: 16px;
    color: #dddddd;
    margin-bottom: 20px;
}

.meyasu-note span {
    display: inline-block;
    text-align: left;
    max-width: 700px;
}

.image-text-container {
    position: relative;
    display: inline-block;
    margin-top: 30px;
}

.kaitori-satei {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.text-overlay_right {
    position: absolute;
    top: 50px;
    right: 27px;
    width: 572px;
    text-align: left;
    color: #fff;
}

.last {
    top: 32px !important;
}

.text-overlay_right_02 {
    position: absolute;
    top: 32px;
    right: 27px;
    width: 572px;
    text-align: left;
    color: #fff;
}

.text-overlay_right .headline {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 30px;
}

.text-overlay_right .detail-text {
    font-size: 24px;
    line-height: 1.4;
}

.text-overlay_right .detail-text_b {
    font-size: 24px;
    line-height: 1.4;
	width: 400px;
}


.text-overlay_right .highlight {
    color: yellow;
    font-size: 28px;
    font-weight: bold;
}

.text-overlay_left {
    position: absolute;
    top: 50px;
    left: 42px;
    width: 580px;
    text-align: left;
    color: #fff;
}

.meyasu-img_02 {
    width: 20%;
    height: auto;
}

.text-overlay_left .headline {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 10px;
}

.meyasu-block_02 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    margin-bottom: 10px;
}

.meyasu-note_02 {
    text-align: center;
    font-size: 16px;
    color: #fff;
}

.meyasu-note_02 span {
    display: inline-block;
    text-align: left;
    max-width: 500px;
}

.text-overlay_right .detail-text_02 {
    font-size: 18px;
    line-height: 1.6;
    margin-top: 5px;
	width: 400px;
}

.text-overlay_right .detail-note {
    font-size: 14px;
    line-height: 1.3;
}

.staff-wrapper {
    position: relative;
    height: 0;
}

.staff-image_02 {
    position: absolute;
    width: 20%;
    right: -200px;
    top: -540px;
    transform: translateX(-160px);
    z-index: 10;
}

/* ----------------------------------------
 *   ihin-seiri.css
 * ---------------------------------------- */

.ihin-wrapper {
    position: relative;
}

.ihin-top_01 {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
}

.ihin-top_02 {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 402px;
}

.ihin-staff_01 {
    position: absolute;
    top: 110px;
    right: -300px;
    width: 50%;
}

.ihin-huyou {
    width: 100%;
    margin: 0 auto;
    position: relative;
    margin-top: 20px;
    padding-bottom: 30px;
}

.ihin-huyou img {
    width: 100%;
    height: auto;
    display: block;
}

.ihin-textbox {
    position: absolute;
    top: 37%;
    left: 12%;
    color: white;
    width: 100%;
    text-align: left;
	max-width: 1100px;
}

.ihin-text {
    font-size: 34px;
    font-weight: bold;
    color: white;
    line-height: 1.2;
}

.ihin-highlight {
    display: flex;
    gap: 5px;
    margin: 12px 0;
}

.ihin-highlight span {
    background-color: white;
    color: black;
    font-size: 30px;
    font-weight: bold;
    padding: 0px 10px;
    white-space: nowrap;
}

.ihin-note {
    font-size: 14px;
    color: white;
}

.ihin-textbox_02 {
    position: absolute;
    top: 35%;
    left: 12%;
    color: white;
    width: 90%;
    text-align: left;
	max-width: 1100px;
}

.ihin-text_02 {
    font-size: 34px;
    font-weight: bold;
    color: white;
    line-height: 1.2;
}

.ihin-highlight_02 {
    display: block;
    margin: 7px 0;
}

.ihin-highlight_02 span {
    background-color: white;
    color: black;
    font-size: 32px;
    font-weight: bold;
    padding: 0px 10px;
    white-space: nowrap;
}

/* ----------------------------------------
 *   recruite.css
 * ---------------------------------------- */
#st-page .page-top-text {
    padding-top: 60px;
}

.recruit-box_01,
.recruit-box_02,
.recruit-box_03 {
    position: relative;
    display: inline-block;
}

.recruit-box_01 img,
.recruit-box_02 img,
.recruit-box_03 img {
    display: block;
    max-width: 100%;
    height: auto;
}

.recruit-box_01 .recruit-table {
    position: absolute;
    top: 44%;
    left: 10%;
    color: #000;
    background: transparent;
    border-collapse: collapse;
    font-size: 18px;
}

.recruit-box_01 .recruit-table th,
.recruit-box_01 .recruit-table td {
    padding: 4px 30px;
    border: none;
    text-align: left;
}

.recruit-box_02 .recruit-table {
    position: absolute;
    top: 43%;
    left: 9%;
    color: #000;
    background: transparent;
    border-collapse: collapse;
    font-size: 18px;
}

.recruit-box_02 .recruit-table th,
.recruit-box_02 .recruit-table td {
    padding: 4px 30px;
    border: none;
    text-align: left;
}

.recruit-box_03 .recruit-table {
    position: absolute;
    top: 34%;
    left: 11%;
    color: #000;
    background: transparent;
    border-collapse: collapse;
    font-size: 18px;
}

.recruit-box_03 .recruit-table th,
.recruit-box_03 .recruit-table td {
    padding: 4px 15px;
    border: none;
    text-align: left;
}


/* ----------------------------------------
 *   ranking
 * ---------------------------------------- */
.ranking-header {
    padding-top: 80px;
}

.ranking-header img {
    width: 100%;
    max-width: 1400px;
}

.ranking-header p {
    color: #fff;
    text-align: center;
    font-size: 48px;
    font-weight: bolder;
    padding: 16px 0;
}

.store-banner {
    padding: 80px 0 112px;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.ranking-item .top-row {
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: flex-start;
}

.ranking-item .top-row img {
    width: 33%;
    height: auto;
}

.ranking-item .rank-text {
    margin: 0;
    line-height: 1.4;
    text-align: left;
    color: #fff;
    font-weight: bolder;
    font-size: 48px;
}

#rank-under .rank-text {
    font-size: 36px;
}

.ranking-item .product-extra {
    display: block;
    padding: 16px 0 0;
    max-width: 1440px;
    height: auto;
    width: 100%;
}

#rank-under {
    display: flex;
    justify-content: space-between;
    padding: 64px 0 240px;
    gap: 40px;
    box-sizing: border-box;
}

.rank-2,
.rank-3 {
    width: 48%;
    margin: 0 auto;
    flex: 1 1 0;
    min-width: 0;
}

@media (max-width: 1280px) {
    .ranking-header p {
        font-size: 24px;
    }

    .ranking-item .rank-text {
        font-size: 24px !important;
    }

    #rank-under {
        flex-direction: column;
        padding: 40px 0 160px;
    }

    .rank-2,
    .rank-3 {
        width: 100%;
    }
}

/* ----------------------------------------
 *   featured.css
 * ---------------------------------------- */

.featured-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
    padding: 40px 20px;
}

.featured-item {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.featured-bg {
    background-image: url("/wp-content/uploads/2025/07/itiosi_bg.png");
    background-size: cover;
    background-position: center;
    position: relative;
    height: 376px;
}

.featured-thumb {
    position: absolute;
    top: 7%;
    left: 50%;
    transform: translateX(-50%);
    width: 84%;
    z-index: 2;
}

.featured-thumb img {
    width: 100%;
    display: block;
}

.featured-overlay {
    position: absolute;
    bottom: 32px;
    left: 28px;
    width: 84%;
    height: 25%;
    z-index: 3;
    padding-top: 5px;
}

.featured-title {
    font-size: 18px;
    margin: 0 0 8px;
    font-weight: bold;
}

.featured-desc {
    font-size: 14px;
    margin: 0;
}

.text-renew {
    font-size: 40px;
    font-weight: bolder;
    padding-bottom: 64px;
}


/* 250718sasaki  */
.saiyouSp {
    display: none;
}

/* --------------------------
【初期状態】 アニメーションを適用する要素
 -------------------------- */
.animate {
    opacity: 0;
    /* 初期状態では非表示 */
    transition: opacity 1s ease-out, transform .3s ease-out;
    /* 透明度と変形を3秒かけてスムーズに変化 */
}

/* フェードインアニメーション（下から上に移動しながら表示） */
.fade-in {
    transform: translateY(120px);
    /* 初期状態では下方向に120pxずらす */
}

/* ズームインアニメーション（拡大しながら表示） */
.zoom-in {
    transform: scale(0.1);
    /* 初期状態では10%のサイズ */
}

/* スライドインアニメーション（右/左へ移動しながら表示） */
.slide-in-rl {
    transform: translateX(200px);
    /* 右から左にずらす */
}

.slide-in-lr {
    transform: translateX(-200px);
    /* 左から右にずらす */
}

.slide-in-bt {
    transform: translatey(100px);
    /* 下から上にずらす */
}

/* 3D回転アニメーション（Y軸を中心に回転しながら表示） */
.rotate {
    transform: rotate(270deg) scale(0.1);
    ;
}

/* --------------------------
 【最終状態】要素が画面内に入ったとき（アニメーション完了時）
 -------------------------- */
.show {
    opacity: 1;
    /* 完全に表示 */
    transform: translateY(0) scale(1) translateX(0) rotateY(0);
    /* 元の位置・サイズ・回転に戻す */
}


/* ----------------------------------------
 *  固定ページtemp */
/* ---------------------------------------- */

div.key-visual img {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    max-width: none;
    height: auto;
}

#st-page .page-top-text {
    font-size: 46px;
    font-weight: bold;
}

#st-page h3.animate.show {
    opacity: 1;
    transform: translateY(0) scale(1) translateX(0%) rotateY(0);
}


div#st-page.bg-white {
    position: relative;
    inset-inline: 50%;
    width: 100vw;
    margin-inline: -50vw;
    padding-inline: calc((100vw - 100%) / 2);
    background-size: contain;
    background-image: url(img/back_wh.png);
}

#st-page .content-area h3 {
    padding: 80px 0 60px 0;
    margin: 0 auto;
}

#st-page .contact-btn-grp {
    display: flex;
    gap: 20px;
}

#st-page .contact-btn-grp div {}

#st-page .contact-btn-grp div a {}

#st-page .contact-btn-grp div a img {}




#st-page .contact-page h4,
h1.single-title {
    width: 98%;
    font-size: 28px;
    color: #333337;
    background: #FFF;
    padding: 15px;
    box-shadow: 5px 5px 6px 2px #979797;
    border: 3px double #151515;
    margin: 50px 0 80px;
}

#line-sodan {
    display: flex;
    justify-content: flex-end;
    margin: 200px -100px 0px 0;
}

#line-sodan div.qr p,
#shucho p.cta-title {
    font-size: 48px;
    font-weight: bold;
    margin-bottom: 70px;
}

#line-sodan div.qr {
    width: 300px;
    padding-top: 70px;
}

#line-sodan div img {
    width: 550px;
}

#shucho {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}

#shucho div.shucho-text {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

#shucho div.shucho-text div {
    font-size: 50px;
    color: #249E31;
    padding-top: 50px;
}

#shucho div img {
    width: 390px;
}

#shucho p.cta-title {
    padding-top: 100px
}

article.single-post {
    padding: 0px 20px 100px;
}



/* ----------------------------------------
 *   Responsive
 * ---------------------------------------- */
@media (max-width:1280px) {
	.pc {
		display: none;
	}

	.sp {
		display: unset !important;
	}
	
	
    header section {
        width: 100%;
    }

    header div#logo img {
        margin-top: 12px;
        height: 45px;
        width: auto;
    }

    footer section {
        width: 100%;
    }

    header div#gnav ul {
        display: none;
    }

    section#contents {
        width: 100%;
        margin: 0 auto;
    }

    .content-area {
        width: 100%;
        padding: 15px;
    }

    .content-area h3 {
        margin: 0;
        padding: 40px 0 0 0;
        width: 100%;
        height: auto;
    }

    .btn-st {
        clear: both;
        width: 70%;
        margin: 20px auto 0px;
        padding: 0px 0 50px 0;
    }

    .slide-in-lr,
    .slide-in-rl,
    .show {
        transform: none;
    }

    .bg-black {
        position: relative;
        width: 100%;
        padding-inline: 0;
        background-size: contain;
        background-image: url(img/back_bl.png);
    }

    .bg-white {
        position: relative;
        width: 100%;
        padding-inline: 0;
        background-size: contain;
        background-image: url(img/back_wh.png);
    }

    .items-wrapper {}

    .base-items {
        margin: 50px auto 0;
        display: grid;
        gap: 15px;
        grid-template-columns: repeat(2, 1fr);
        padding-bottom: 0px;
    }

    .base-item {
        width: 100%;
        height: auto;

    }

    .base-items a div.base-item {
        padding: 13px 0px 0 13px;
        width: 92%;
        height: 37%;
    }

    .base-item div.itemPh img {
        padding: 0px 0px 0 0px;
        width: 157px;
        height: 62%;
    }

    .base-item div.base-price {
        margin-top: 15px;
        width: 84%;
    }

    .base-item div.base-price span {
        font-size: 24px;
    }

    div.itemPh div.item-title {
        display: block;
        position: absolute;
        top: 13px;
        left: 13px;
        background-color: #00000066;
        width: 157px;
		height: 117px;
        transition: 0.5s;
        padding: 10px;
    }

    ul.infomation {
        width: 100%;
        padding-bottom: 0px;
    }

    base-item div.base-price {
        margin-top: 0px;
    }

    span.yen-mark {
        font-size: 18px !important;
    }


    .base-items a div.base-item {
        width: 100%;
        height: 200px;
        background-size: contain;
        font-size: 12px;
    }

    .yes-img {
        display: none;
    }

    .contents-point {
        display: flex;
        flex-wrap: wrap;
        gap: 15px;
        margin-bottom: 50px;
    }

    .flex-2area {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .flex-2area div {
        width: 100%;
    }

    .shop-info-phleft {
        flex-wrap: wrap;
    }

    .shop-info-phright {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }

    .shop-info-phleft img {
        width: 100%;
        margin: 20px auto;
    }

    .shop-info-phright img {
        width: 100%;
        margin-bottom: 20px;
    }

    .shop-info-text {
        padding: 0px 0 0 0;
        width: 100%;
    }

    .question {
        width: 100%;
    }

    .answer {
        width: 100%;
    }

    .front-recruit {
        width: 100%;
    }

    .rec-text {
        top: 90px;
        width: 320px;
        right: 35px;
        font-size: 12px;
    }

    .purchase-items {
        display: grid;
        gap: 15px;
        grid-template-columns: repeat(2, 1fr);
    }

    .purchase-item {
        width: 100%;
        position: relative;
        height: 240px;
    }

    .purchase-item img {
        width: 100%;
        position: absolute;
        top: -89px;
        left: -22px;

    }

    .purchase-price {
        font-weight: bold;
        font-size: 16px;
        position: absolute;
        bottom: 13px;
        left: 10%;
        right: 10%;
    }

    .front-company-profile table {
        font-size: 14px;
    }

    .front-company-profile table tr td {
        background-color: #fff;
        padding: 10px;
    }

    .front-company-profile table tr th {
        width: auto;
        padding: 10px;
    }


    .bn-flex2 ul {
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: 10px;
    }

    .bn-flex4 ul {
        gap: 9px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .bn-flex4 img {
        width: 100%;
    }

    .banners {
        padding-bottom: 50px;
    }

    .float-btn img {
        max-width: 200px;
    }

    .ft-nav ul {
        display: block;
        margin-top: 0;
        font-size: 14px;
        margin-bottom: 30px;
        text-align: right;
    }

    .ft-logo {
        width: 215px;
        padding: 30px 40px;
    }


    .ihin-text,
    .ihin-text_02 {
        font-size: 12px;
        width: 86%;
    }

    .ihin-textbox,
    .ihin-textbox_02 {
        position: absolute;
        top: 27%;
        width: 90%;
   
    }

    .ihin-huyou {
        margin: 100px 0 0;
    }

    .ihin-highlight,
    .ihin-highlight_02 {
        width: 100%;
        display: block;
        margin: 19px 0;
    }

    .ihin-highlight span,
    .ihin-highlight_02 span {
        font-size: 10px;
    }

    .ihin-note {
        color: #333;
        font-size: 10px;
        width: 82%;
    }
	.ihin-staff_01 {
		display: none;}

    .okomari_01 {
        margin-top: 60px;
    }

    .sekou_01 img,
    .meyasu_01 img,
    .okomari_01 img {
        width: 100%;
    }

    .meyasu-text {
        color: white;
        font-size: 16px !important;
        line-height: 1.6;
        text-align: left;
        font-weight: bold;
    }
	
	#line-sodan,#shucho div img {display:none;}
#shucho {display: block;}
	
	#shucho p.cta-title {
		font-size: 38px;}
	#shucho div.shucho-text div {
		font-size: 40px;}


#st-page .contact-btn-grp {
    display: block;
    width: 70%;
    margin: 0 auto;
}
#st-page .contact-btn-grp div {
    padding-bottom: 10px;
}

#shucho div.shucho-text div {
    font-size: 40px;
    color: #249E31;
    padding-top: 50px;
    padding-bottom: 50px;
}
	.line-bn-spnone	{display:none;}
}

/* ▼ ハンバーガーメニュー用のCSSここから */
/* ハンバーガーメニュー用だけ */
#menu-toggle {
    display: none;
}

@media screen and (max-width: 1280px) {
    #menu-toggle {
        display: block;
        position: absolute;
        top: 20px;
        right: 20px;
        font-size: 2rem;
        color: #006400;
        background: none;
        border: none;
        z-index: 10000;
        cursor: pointer;
    }

    #gnav {
        display: none;
        position: fixed;
        top: 60;
        right: 0;
        width: 200px;
        height: 100vh;
        background-color: rgba(255, 255, 255, 0.95);
        box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
        padding: 1rem;
        transition: transform 0.3s ease;
        z-index: 9999;
        transform: translateX(100%);
        /* 画面の外に隠す */
    }

    #gnav.open {
        display: flex;
        flex-direction: column;
        transform: translateX(0);
        /* スライドインで表示 */
    }

    #gnav.open ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    #gnav.open ul li {
        margin-bottom: 10px;
        margin-left: 0px;
    }

    #gnav.open ul li a {
        color: black;
        text-decoration: none;
        font-size: 16px;
        display: block;
    }

    #gnav.open ul li a img {
        width: 100%;
        height: auto;
        display: block;
    }

    header div#gnav ul {
        display: block !important;
    }
}


/* ▲ ハンバーガーメニュー用CSSここまで */



@media (max-width: 1280px) {
    #contents h3 img {
        width: 75%;
    }

    .btn-st a img {
        width: 300px;
        height: auto;
        display: block;
        margin: 0 auto;
    }

    .btn-st a {
        display: inline-block;
        padding: 1em 3vw;
        font-size: 18px;
        max-width: 300px;
        text-align: center;
    }


    .faq {
        display: block;
        padding: 0;
        margin: 30px 0;
        list-style: none;
    }

    .faq li {
        margin: 0;
        height: 150px;
        font-size: 13px;
        background-size: 100% 100%;
        background-repeat: no-repeat;
        background-position: center center;
        display: flex;
        align-items: center;
        box-sizing: border-box;
        line-height: 1.4;
        width: 100vw;
        max-width: 100%;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
        justify-content: start;
        padding: 0 37px;
    }

    .question {
        background-image: url(/wp-content/uploads/2025/07/question_sp.png) !important;
    }

    .answer {
        background-image: url(/wp-content/uploads/2025/07/answer_sp.png) !important;
    }


    .saiyouPc {
        display: none;
    }

    .saiyouSp {
        display: unset;
    }

    .siyou-sp img {
        width: 100%;
    }

    .front-recruit {
        height: unset !important;
    }

    .rec-text-sp-wrap {
        background-image: url(img/saiyou_txt_sp.png);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        width: 100%;
        padding: 30px 0px;
        box-sizing: border-box;
        overflow-x: hidden;
    }

    .rec-text-sp {
        text-align: left;
    }

    .rec-text-sp p {
        padding: 0 32px;

    }

    .cta-contact p {
        font-size: 18px;
        line-height: 25px;
        margin: 10px auto;
    }

    .cta-contact address {
        font-size: 38px;
        padding: 16px;
        font-style: normal;
    }

    .btn-st.cta-bn img {
        height: auto;
        margin: 45px auto 75px;
    }

	.line-bn-spnone img {
		padding-bottom: 10px;
	}

}







/* ----------------------------------------
 *   ctf7.css
 * ---------------------------------------- */



.cf7__list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

.cf7__list dt:nth-of-type(n + 2),
.cf7__list dd:nth-of-type(n + 2) {
    margin-top: 30px;
}

.cf7__list dt {
    width: 35%;
    padding-top: 15px;
}

.cf7__list dd {
    width: 65%;
}

/* 必須・任意 */
.cf7__required,
.cf7__optional {
    margin-right: 15px;
    padding: 6px 14px;
    color: #fff;
    font-size: 12px;
    vertical-align: 1px;
}

.cf7__required {
    background: #BE1D1D;
}

.cf7__optional {
    background: #878D8E;
}

/* input・textarea */
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
    width: 100%;
    padding: 15px 20px;
    background: #F4F4F4;
	border: solid 1px;
}

/* ドロップダウンメニュー */
.cf7__select {
    position: relative;
}

.cf7__select:before {
    position: absolute;
    top: 50%;
    right: 20px;
    z-index: 10;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 8px solid #000;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    pointer-events: none;
    content: '';
}

.cf7__select select {
    width: 100%;
    padding: 19px 20px;
    background: #F4F4F4;
    color: #a5a5a5;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* チェックボックス・ラジオボタン */
.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio {
    display: flex;
    gap: 50px;
    padding: 15px 0 10px;
}

/* 縦並び（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item {
    display: block;
    margin: 0;
}


/* マウスカーソル（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item label {
    cursor: pointer;
}

/* チェックボックス・ラジオボタン */
input[type="checkbox"],
input[type="radio"] {
    position: relative;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    border: 1px solid #bcbcbc;
    vertical-align: -3px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* チェックボックス */
input[type="checkbox"]:checked {
    border: 1px solid #000;
    background: #000;
}

input[type="checkbox"]:checked:before {
    position: absolute;
    top: 2px;
    left: 5px;
    transform: rotate(50deg);
    width: 6px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    content: '';
}

/* ラジオボタン */
input[type="radio"] {
    border-radius: 50%;
}

input[type="radio"]:checked:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #000;
    content: '';
}

/* プレースホルダー */
/* Google Chrome / Safari / Mozilla Firefox / Opera */
.cf7__list dd input[type="text"]::placeholder,
.cf7__list dd input[type="tel"]::placeholder,
.cf7__list dd input[type="email"]::placeholder,
.cf7__list dd textarea::placeholder {
    color: #a5a5a5;
}

/* Microsoft Edge */
.cf7__list dd input[type="text"]::-ms-input-placeholder,
.cf7__list dd input[type="tel"]::-ms-input-placeholder,
.cf7__list dd input[type="email"]::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder {
    color: #a5a5a5;
}

/* Internet Explorer */
.cf7__list dd input[type="text"]:-ms-input-placeholder,
.cf7__list dd input[type="tel"]:-ms-input-placeholder,
.cf7__list dd input[type="email"]:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder {
    color: #a5a5a5;
}

/* 送信ボタン */
.cf7__button {
    padding-left: 72px;
    text-align: center;
}

input[type="submit"] {
    width: 260px;
    height: 60px;
    background: #000;
    color: #fff;
    transition: opacity .6s;
}

input[type="submit"]:hover {
    opacity: .6;
}

/* ajax-loader */
.wpcf7-spinner {
    vertical-align: middle;
}

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

    .cf7__list dt {
        width: 100%;
        margin-bottom: 15px;
        padding-top: 0;
		        text-align: left;
    }

    .cf7__list dd {
        width: 100%;
    }

    .cf7__list dd:nth-of-type(n + 2) {
        margin-top: 0;
    }

    .cf7__list dd .wpcf7-checkbox,
    .cf7__list dd .wpcf7-radio {
        padding: 15px 0 0;
    }

    /* 送信ボタン */
    input[type="submit"] {
        width: 180px;
        height: 56px;
    }

}



/*
.items-wrapper {
  width: 1140px;
  margin: 0 auto;
  overflow: visible;
  position: relative;
  transition: transform 0.3s ease;
}

.base-items {
  display: grid;
  grid-template-columns: repeat(3, 380px);
  gap: 16px;
  justify-content: center;
}

@media (max-width: 1440px) and (min-width: 1281px) {
  .items-wrapper {
    transform-origin: top left;
    transform: scale(calc(100vw / 1140));
    width: 1140px;
  }
}

@media (max-width: 1280px) {
  .items-wrapper {
    width: 100%;
    transform: none;
    padding: 0 10px;
    box-sizing: border-box;
  }
  .base-items {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    width: 100%;
  }
  .base-item {
    width: 100%;
    aspect-ratio: 38 / 40;
  }
}

@media (max-width: 800px) {
  .base-items {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .base-item {
    width: 100%;
  }
}

.base-item {
  background-repeat: no-repeat;
  background-size: cover;
  border: 1px solid #ccc;
  box-sizing: border-box;
  overflow: hidden;
  opacity: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.itemPh img {
  width: 100%;
  height: auto;
  object-fit: contain;
  padding: 10% 0 0 10%;
  box-sizing: border-box;
  display: block;
}

.base-price {
  margin-top: 30px;
  font-size: 50px;
  color: red;
  font-weight: bold;
  font-style: italic;
}

.base-items a div.base-item {

}

.items-wrapper {
    
}*/