/*
Theme Name: Tate Clean WP Theme
Theme URI: https://tateclean.com
Description: 舘クリーンサービスの公式WordPressテーマ
Version: 1.0.0
Author: Tate Clean Service
Author URI: https://tateclean.com
Text Domain: tateclean
*/


body {
    font-family: "Zen Kaku Gothic Antique", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
    color: #222;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.03em;
    text-align: justify;
    font-style: normal;
    font-weight: 400;
}

a {
    color: #222;
    text-decoration: none;
    transition: 0.3s ease-out;
}

a:hover {
    color: #42a0be;
}

::selection {
    background-color: #42a0be;
    color: #FFF;
}

::-moz-selection {
    background-color: #42a0be;
    color: #FFF;
}

body,
header,
footer {
    min-width: 1200px;
    max-width: 1920px;
    margin: auto;
}

@media screen and (max-width:640px) {
    body {
        font-size: 15px;
    }

    body,
    header,
    footer {
        min-width: 400px;
    }
}




/*============================================================================

	#mainvisual　＊　下層のMV

============================================================================*/
#mainvisual {
    position: relative;
    width: 100%;
    height: 350px;
    margin: auto;
    background: url("images/mv_img02.png") bottom, url("images/mv_img01.jpg") center no-repeat;
    background-size: cover;
    z-index: 0;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

#mainvisual h2 {
    position: relative;
    width: 100%;
    margin-top: 60px;
    font-size: 38px;
    letter-spacing: 3px;
    color: #FFF;
    font-weight: 500;
    text-align: center;
    text-shadow: 0 0 10px #00547b, 0 0 20px #00547b, 0 0 30px #00547b;
}

@media screen and (max-width:640px) {
    #mainvisual {
        height: 250px;
    }

    #mainvisual h2 {
        font-size: 28px;
        letter-spacing: 2px;
    }
}





/*==================================================================

	main

==================================================================*/
main {}

main #wrapper {
    width: 90%;
    max-width: 1200px;
    margin: auto;
    padding: 60px 0 80px;
}

@media screen and (max-width:640px) {
    main #wrapper {
        width: 100%;
        padding: 50px 20px;
        box-sizing: border-box;
    }
}




/*==================================================================

	 タイトル

==================================================================*/
main h3 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 30px;
}

main h3 span {
    font-family: "Josefin Sans", sans-serif;
    font-optical-sizing: auto;
    color: #249fd8;
    letter-spacing: 3px;
}

main h3 span::before,
main h3 span::after {
    position: relative;
    top: -3px;
    content: "-";
    padding: 0 5px;
    color: #ffa517;
}

main h3 em {
    position: relative;
    font-size: 38px;
    font-family: "Shippori Mincho", serif;
    letter-spacing: 1px;
    line-height: 1.6;
}

@media screen and (max-width: 640px) {
    main h3 em {
        font-size: 24px;
        text-align: center;
    }
}



main h4 {
    position: relative;
    margin-top: 5px;
    margin-bottom: 30px;
    padding: 5px 0 8px 25px;
    font-size: 28px;
    line-height: 1.8;
    font-weight: 500;
    border-left: 4px solid #249fd8;
}

@media screen and (max-width: 640px) {
    main h4 {
        margin-bottom: 20px;
        padding: 2px 0 5px 15px;
        font-size: 22px;
        letter-spacing: 0;
    }
}



/*==================================================================

	text

==================================================================*/
.text {
    position: relative;
    margin-bottom: 50px;
}

.text p {
    margin-bottom: 1em;
    line-height: 2;
}

.text:last-child {
    margin-bottom: 0;
}





/*==================================================================

		FAQ　＊　よくあるご質問ページ

==================================================================*/
.page-id-9 main .text {
    padding: 20px 20px 10px;
    background: #f7f7f7;
}

.page-id-9 main h3 {
    margin-bottom: 10px;
}



/*------------------------------リスト------------------------------*/
.page-id-9 main dl {
    padding: 30px 30px;
    border-bottom: 1px solid #e0e0e0;
}

.page-id-9 main dt {
    position: relative;
    font-weight: 600;
    font-size: 19px;
    margin-bottom: 12px;
    padding-left: 35px;
}

.page-id-9 main dt::before {
    position: absolute;
    content: "Q";
    left: 0;
    top: 6px;
    color: #249fd8;
    font-family: "Josefin Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-size: 30px;
    line-height: 1;
}

.page-id-9 main dd {
    padding-left: 35px;
}

.page-id-9 main dd ul,
.page-id-9 main dd ol {
    margin: 10px 0;
    padding-left: 25px;
}

.page-id-9 main dd ul li {
    list-style-type: disc;
}

.page-id-9 main dd ol li {
    list-style-type: decimal;
}

.page-id-9 main dd li::marker {
    color: #249fd8;
    font-size: 18px;
    font-weight: 500;
}

@media (max-width: 640px) {
    .page-id-9 main dl {
        padding: 20px 0;
    }

    .page-id-9 main dt {
        font-size: 18px;
        padding-left: 30px;
    }

    .page-id-9 main dt::before {
        font-size: 24px;
        top: 6px;
    }

    .page-id-9 main dd {
        padding-left: 30px;
    }

    .page-id-9 main dd ul,
    .page-id-9 main dd ol {
        margin: 8px 0;
        padding-left: 25px;
    }

    .page-id-9 main dd li::marker {
        font-size: 16px;
    }
}





/*==================================================================

		Contact　＊　無料お見積もりフォームページ

==================================================================*/
.page-id-11 main .text {
    padding: 20px 20px 10px;
    background: #f7f7f7;
}

.page-id-11 main h3 {
    margin-bottom: 10px;
}



/*------------------------------問い合わせフォーム------------------------------*/
.page-id-11 #contact-form {
    border-radius: 10px;
    padding: 80px 0;
}

.page-id-11 #contact-form h2 {
    margin-bottom: 60px;
}





/*------------------------------問い合わせエリア------------------------------*/
.contact-tel {
    margin-top: 30px;
    padding: 35px 20px;
    background-color: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    text-align: center;
}



.contact-tel-text {
    position: relative;
    margin-bottom: 20px;
}

.contact-tel-text::before,
.contact-tel-text::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 25px;
    background-image: url(images/h2_img01.png);
    background-size: cover;
    margin: 0 10px;
    vertical-align: middle;
}

.contact-tel-text::after {
    transform: scaleX(-1);
    margin-left: 7px;
}

@media (max-width: 640px) {
    .contact-tel-text {
        margin-bottom: 10px;
    }

    .contact-tel-text::before,
    .contact-tel-text::after {
        width: 12px;
        height: 16px;
    }
}



.contact-tel-number {
    margin-bottom: 8px;
}

.contact-tel-number a {
    display: inline-flex;
    align-items: flex-end;
    gap: 15px;
    transition: opacity 0.3s;
}

.contact-tel-number a img:first-of-type {
    margin-bottom: 2px;
}

@media (max-width: 640px) {
    .contact-tel-number a {
        gap: 6px;
    }

    .contact-tel-number a img:first-child {
        width: 20px;
    }

    .contact-tel-number a img:last-child {
        width: 240px;
        max-width: 100%;
    }
}


.contact-tel-hours {
    color: #666;
}

.wpcf7-turnstile>div {
    display: flex;
    justify-content: center;
}


/*==================================================================

		Company　＊　会社概要ページ

==================================================================*/


/*------------------------------会社概要------------------------------*/
.company-info {
    max-width: 1000px;
    margin: 0 auto 10px;
}

.company-info dl {
    display: flex;
    border-bottom: 1px solid #e0e0e0;
    padding: 20px 30px;
}

.company-info dl:first-child {
    border-top: 1px solid #e0e0e0;
}

.company-info dl dt {
    width: 25%;
    font-weight: 600;
}

.company-info dl dd {
    flex: 1;
}

.company-info dl dd ul li {
    position: relative;
    margin-bottom: 5px;
    padding-left: 15px;
}

.company-info dl dd ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #249fd8;
    font-weight: bold;
}

@media (max-width: 640px) {
    .company-info {
        margin-bottom: 40px;
    }

    .company-info dl {
        flex-direction: column;
        padding: 10px 10px;
    }

    .company-info dl dt {
        width: 100%;
        margin-bottom: 8px;
    }
}


/*------------------------------代表挨拶------------------------------*/
.page-id-13 #top_message {
    padding-bottom: 0;
}

.page-id-13 #top_message::before {
    display: none;
}

.page-id-13 #top_message .inner {
    width: 100%;
    column-gap: 60px;
}

.page-id-13 .message-right {
    width: 400px;
}

@media (max-width: 640px) {
    .page-id-13 #top_message .inner {
        padding: 0;
    }

    .page-id-13 .message-right {
        width: 100%;
    }
}





/*==================================================================

		Flow　＊　ご依頼までの流れページ

==================================================================*/
.flow-step {
    display: flex;
    gap: 40px;
    align-items: center;
    margin: 0 auto 80px;
}

.flow-step:last-child {
    margin-bottom: 0;
}

@media (max-width: 640px) {
    .flow-step {
        flex-direction: column;
        gap: 20px;
        margin-bottom: 40px;
    }
}


.flow-step dl {
    flex: 1;
}

.flow-step dt {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 15px;
}

.flow-step dt span {
    position: relative;
    display: block;
    font-family: "Josefin Sans", sans-serif;
    font-size: 18px;
    color: #249fd8;
}

.flow-step dt span::before {
    position: relative;
    content: "●";
    top: -4px;
    color: #ffa517;
    font-size: 10px;
    margin-right: 10px;
}

@media (max-width: 640px) {
    .flow-step dt {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .flow-step dt span {
        font-size: 16px;
    }
}


.flow-step:nth-child(2) figure {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.flow-step:not(:first-child) figure {
    width: 400px;
}

.flow-step figure img {
    width: 100%;
    height: auto;
}

@media (max-width: 640px) {
    .flow-step figure {
        width: 100% !important;
        order: -1;
    }

    .flow-step:nth-child(2) figure {
        order: 0;
    }
}









/*==================================================================

		Industry　＊　対応業種ページ

==================================================================*/


/*------------------------------導入部分------------------------------*/
.industry-intro {
    text-align: center;
    margin: 0 auto 50px;
    line-height: 2;
}

.industry-nav {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-bottom: 80px;
}

.industry-nav a {
    display: block;
    padding: 15px 50px;
    background: #152f69;
    color: #fff;
    border-radius: 5px;
    transition: all 0.3s;
}

.industry-nav a:hover {
    background-color: #1a7eb0;
    transform: translateY(-2px);
}

@media (max-width: 640px) {
    .industry-intro {
        margin: 0 auto 30px;
    }

    .industry-nav {
        flex-wrap: wrap;
        gap: 10px;
    }

    .industry-nav a {
        width: 48%;
        padding: 15px 0;
        text-align: center;
    }

}



/*------------------------------各業種セクション------------------------------*/
.industry-section {
    margin: 0 auto 100px;
}

.industry-section:last-child {
    margin-bottom: 0;
}

@media (max-width: 640px) {
    .industry-section {
        margin-bottom: 60px;
    }
}



/* キャッチコピーと説明文 */
.industry-content {
    margin-bottom: 50px;
    text-align: center;
}

.industry-content dt {
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: 500;
    color: #152f69;
}

.industry-content dd {
    line-height: 2;
}

@media (max-width: 640px) {
    .industry-content {
        margin-bottom: 30px;
    }

    .industry-content dt {
        font-size: 20px;
        margin-bottom: 10px;
    }
}



/* 写真とポイント */
.industry-detail {
    display: flex;
    gap: 50px;
    margin-bottom: 50px;
}

.industry-detail figure {
    width: 50%;
    flex-shrink: 0;
}

.industry-detail figure img {
    width: 100%;
    height: auto;
}

.industry-points {
    flex: 1;
}

.industry-points h5 {
    font-size: 22px;
    font-weight: 600;
    color: #249fd8;
    margin-bottom: 25px;
    border-left: 4px solid #ffa517;
    line-height: 1.3;
    padding-left: 10px;
}

.industry-points li {
    margin-bottom: 25px;
}

.industry-points li:last-child {
    margin-bottom: 0;
}

.industry-points strong {
    position: relative;
    display: block;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 8px;
}

.industry-points strong::before {
    position: relative;
    content: "●";
    top: -4px;
    color: #ffa517;
    font-size: 10px;
    margin-right: 10px;
}

@media (max-width: 640px) {
    .industry-detail {
        flex-direction: column;
        gap: 30px;
        margin-bottom: 30px;
    }

    .industry-detail figure {
        width: 100%;
    }

    .industry-points h5 {
        font-size: 18px;
        margin-bottom: 20px;
        margin-left: 3px;
    }

    .industry-points li {
        margin-bottom: 20px;
    }

    .industry-points strong {
        font-size: 17px;
    }
}



/* CTAボタン */
.industry-cta {
    text-align: center;
}

.industry-cta a {
    display: inline-block;
    padding: 18px 50px;
    background-color: #152f69;
    color: #fff;
    border-radius: 5px;
    font-size: 18px;
    font-weight: 500;
    transition: all 0.3s;
}

.industry-cta a:hover {
    background-color: #1a7eb0;
    transform: translateY(-2px);
}

@media (max-width: 640px) {
    .industry-cta a {
        display: block;
        padding: 15px 0;
        font-size: 15px;
    }
}









/*==================================================================

		Menu　＊　料金メニューページ

==================================================================*/
.page-id-19 strong {
    color: #cc3f50;
}

/*------------------------------ページ内リンクナビゲーション------------------------------*/
.price-nav {
    margin-bottom: 60px;
}

.price-nav ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin: 0 auto;
}

.price-nav a {
    display: block;
    background-color: #e4eff3;
    border-radius: 5px;
    overflow: hidden;
    transition: all 0.3s;
}

.price-nav figure img {
    width: 100%;
    height: auto;
}

.price-nav span {
    display: block;
    padding: 15px;
    text-align: center;
    font-weight: 500;
    font-size: 17px;
}

@media (max-width: 640px) {
    .price-nav {
        margin-bottom: 40px;
    }

    .price-nav ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .price-nav span {
        font-size: 14px;
        padding: 12px;
    }
}



/*hover*/
.price-nav a:hover {
    background-color: #bcdbe7;
    transform: translateY(-5px);
}




/*------------------------------注意事項------------------------------*/
.price-notice {
    margin: 0 auto 60px;
    padding: 30px;
    background-color: #eee;
    border-radius: 10px;
    text-align: center;
}

.price-notice dt {
    margin-bottom: 5px;
    color: #152f69;
    font-size: 20px;
    font-weight: 500;
}

@media (max-width: 640px) {
    .price-notice {
        margin-bottom: 40px;
        padding: 20px;
        text-align: left;
    }

    .price-notice dt {
        text-align: center;
    }
}



/*------------------------------各セクション------------------------------*/
.price-section {
    margin: 0 auto 0;
    padding-top: 80px;
}

.price-section:first-of-type {
    padding-top: 0;
}

@media (max-width: 640px) {
    .price-section {
        padding-top: 50px;
    }
}



.price {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}

.price figure {
    width: 400px;
    flex-shrink: 0;
}

.price figure img {
    width: 100%;
    height: auto;
}

@media (max-width: 640px) {
    .price {
        flex-direction: column;
        gap: 30px;
    }

    .price figure {
        width: 100%;
    }
}



.price-info {
    flex: 1;
}

.price-info h5 {
    margin-bottom: 5px;
    padding-bottom: 5px;
    font-size: 20px;
    font-weight: 500;
    border-bottom: 1px solid #888;
    color: #152f69;
}

.price-info h5:not(:first-child) {
    margin-top: 40px;
}

.price-info h5 span {
    font-size: 14px;
}

@media (max-width: 640px) {
    .price-info {
        width: 100%;
    }

    .price-info h5 {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .price-info h5:not(:first-child) {
        margin-top: 30px;
    }
}



.price-basic {
    display: flex;
    align-items: baseline;
    gap: 20px;
    margin-bottom: 5px;
    font-weight: 500;
}

.price-basic dd {
    margin-top: 5px;
    font-size: 24px;
    color: #249fd8;
}

.price-basic dd span {
    font-size: 14px;
}

.price-note {
    font-size: 13px;
}

@media (max-width: 640px) {
    .price-basic {
        gap: 10px;
    }
}



.price-option {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #e0e0e0;
}

.price-option dt {
    flex: 1;
}

.price-option dt span {
    display: block;
    font-size: 12px;
    color: #888;
}

.price-option dd {
    font-size: 22px;
    font-weight: 500;
    color: #249fd8;
    white-space: nowrap;
    margin-left: 20px;
}

.price-option dd span {
    font-size: 14px;
}

@media (max-width: 640px) {
    .price-option dt {
        font-size: 14px;
    }

    .price-option dd {
        font-size: 20px;
    }
}



/*------------------------------CTAボタン------------------------------*/
.price-cta {
    text-align: center;
    margin: 60px 0;
}

.price-cta a {
    display: block;
    width: 80%;
    margin: auto;
    padding: 18px 0;
    background-color: #152f69;
    color: #fff;
    border-radius: 5px;
    font-size: 17px;
    font-weight: 500;
    transition: all 0.3s;
}

.price-cta a:hover {
    background-color: #1a7eb0;
    transform: translateY(-2px);
}

@media (max-width: 640px) {
    .price-cta {
        margin: 40px 0;
    }

    .price-cta a {
        width: 100%;
        padding: 15px 0;
        font-size: 16px;
    }
}





/*==================================================================

		#contact-form　＊　お問い合わせフォーム

==================================================================*/
#contact-form {
    position: relative;
    padding-top: 100px;
    padding-bottom: 100px;
    background: #e4eff3;
}

@media screen and (max-width: 640px) {
    #contact-form {
        padding: 60px 0;
    }

    #contact-form .inner {
        width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
    }
}


/*------------------------------h2------------------------------*/
#contact-form h2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 30px;
}

#contact-form h2 span {
    font-family: "Josefin Sans", sans-serif;
    font-optical-sizing: auto;
    color: #249fd8;
    letter-spacing: 3px;
}

#contact-form h2 span::before,
#contact-form h2 span::after {
    position: relative;
    top: -3px;
    content: "-";
    padding: 0 5px;
    color: #ffa517;
}

#contact-form h2 em {
    font-size: 40px;
    font-family: "Shippori Mincho", serif;
    letter-spacing: 1px;
    line-height: 1.6;
}

@media screen and (max-width: 640px) {
    #contact-form h2 em {
        font-size: 26px;
        text-align: center;
    }
}



/*------------------------------問い合わせフォーム本体------------------------------*/
.contact-section {
    width: 90%;
    max-width: 1000px;
    margin: auto;
}

.contact-section dl {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.contact-section dl dt {
    width: 300px;
    font-size: 18px;
}

.contact-section dl dd {
    flex: 1;
}

/* 上揃え */
.contact-section dl.is-top {
    align-items: flex-start;
}

.contact-section dl.is-top dt {
    margin-top: 10px;
}

@media screen and (max-width: 640px) {
    .contact-section {
        width: 100%;
    }

    .contact-section dl {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 25px;
    }

    .contact-section dl dt {
        width: 100%;
        font-size: 16px;
        margin-bottom: 10px;
    }

    .contact-section dl dd {
        width: 100%;
    }
}



/*-------------------- 必須・任意 --------------------*/
.contact-section dl dt span {
    font-size: 15px;
    padding: 2px 25px;
    margin-right: 15px;
    color: #fff;
}

span.haveto {
    background-color: #e68592;
}

span.any {
    background-color: #479bc2;
}

@media screen and (max-width: 640px) {
    .contact-section dl dt span {
        display: inline-block;
        font-size: 13px;
        padding: 2px 15px;
        margin-right: 10px;
    }
}



/*-------------------- 入力欄 --------------------*/
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
    width: 100%;
    padding: 12px 30px;
    border: 1px solid #FFF;
    font-size: 18px;
    box-sizing: border-box;
    font-family: "Zen Kaku Gothic Antique", sans-serif;
}

textarea {
    height: 150px;
    resize: vertical;
}

input::placeholder,
textarea::placeholder {
    color: #a9a9a9;
    opacity: 1;
}

input:focus,
textarea:focus {
    outline: 2px solid #3498db;
    outline-offset: -2px;
}

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

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    select,
    textarea {
        padding: 12px 15px;
        font-size: 16px;
        border-radius: 5px;
    }
}


/*-------------------- 送信ボタン --------------------*/
.form-submit {
    text-align: center;
    margin-top: 50px;
}

.form-submit input {
    width: 50%;
    padding: 20px 0;
    background-color: #152f69;
    font-size: 18px;
    color: #fff;
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    transition: background-color 0.3s;
    cursor: pointer;
}

.form-submit input:hover {
    background-color: #3a5694;
}

@media screen and (max-width: 640px) {
    .form-submit {
        margin-top: 30px;
    }

    .form-submit input {
        width: 100%;
        font-size: 18px;
        padding: 18px 0;
    }
}









/*==================================================================

		Column　＊　コラムページ（一覧）

==================================================================*/


/*------------------------------カテゴリーフィルター------------------------------*/
.column-category {
    margin-bottom: 40px;
}

.column-category ul {
    display: flex;
    gap: 15px;
    justify-content: center;
}

.column-category a {
    display: block;
    padding: 10px 30px;
    background-color: #152f69;
    color: #fff;
    border-radius: 5px;
    font-weight: 500;
    transition: all 0.3s;
}

.column-category a:hover,
.column-category a.active {
    background-color: #42a0be;
}

@media (max-width: 640px) {
    .column-category {
        margin-bottom: 30px;
    }

    .column-category ul {
        flex-direction: column;
        gap: 10px;
    }

    .column-category a {
        padding: 10px 20px;
        text-align: center;
    }
}



/*------------------------------説明文------------------------------*/
.column-intro {
    text-align: center;
    margin-bottom: 60px;
}

@media (max-width: 640px) {
    .column-intro {
        margin-bottom: 40px;
    }
}



/*------------------------------記事一覧------------------------------*/
.column-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 30px;
    margin-bottom: 60px;
}

.column-list article {
    background-color: #f7f7f7;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s;
}

.column-list article:hover {
    transform: translateY(-5px);
    background-color: #e4eff3;
}

@media (max-width: 640px) {
    .column-list {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-bottom: 40px;
    }
}



.column-list article figure {
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.column-list article figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

@media (max-width: 640px) {}



.column-content {
    padding: 20px;
}

.column-content dt {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.column-content dd {
    font-size: 14px;
    line-height: 1.7;
    color: #666;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.column-card__date {
    font-size: 13px;
    color: #999;
}

@media (max-width: 640px) {
    .column-content {
        padding: 15px;
    }

    .column-content dt {
        font-size: 16px;
        margin-bottom: 10px;
    }

    .column-content dd {
        font-size: 13px;
        margin-bottom: 12px;
    }

    .column-card__date {
        font-size: 12px;
    }
}



/*------------------------------ページネーション------------------------------*/
.pagination {
    margin-top: 60px;
}

.pagination ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.pagination a,
.pagination span {
    display: block;
    padding: 10px 15px;
    min-width: 45px;
    text-align: center;
    background-color: #fff;
    color: #333;
    text-decoration: none;
    border: 2px solid #e0e0e0;
    border-radius: 5px;
    font-weight: 600;
    transition: all 0.3s;
}

.pagination a:hover {
    background-color: #249fd8;
    color: #fff;
    border-color: #249fd8;
}

.pagination__number.active a {
    background-color: #249fd8;
    color: #fff;
    border-color: #249fd8;
}

.pagination__prev.disabled span,
.pagination__next.disabled span {
    opacity: 0.3;
    cursor: not-allowed;
}

@media (max-width: 640px) {

    .pagination {
        margin-top: 40px;
        padding: 0 20px;
    }

    .pagination ul {
        gap: 5px;
    }

    .pagination a,
    .pagination span {
        padding: 8px 12px;
        min-width: 40px;
        font-size: 14px;
    }
}





/*------------------------------CTA------------------------------*/
.page-id-25 #top_banners {
    background: #F7F7F7;
}






/*==================================================================

		single.php　＊　コラムページ（記事）

==================================================================*/
.single #wrapper {
    padding-top: 0;
}

/*------------------------------ぱんくず------------------------------*/
.breadcrumb {
    padding: 15px 0;
    margin-bottom: 50px;
    border-bottom: 1px solid #eee;
}

.breadcrumb ul {
    display: flex;
    flex-wrap: wrap;
    /* justify-content: flex-end; */
    gap: 10px;
    font-size: 14px;
    /* padding-right: 30px; */
    padding: 0 30px;
}

.breadcrumb li {
    display: flex;
    align-items: center;
}

.breadcrumb li::after {
    content: ">";
    margin-left: 10px;
    color: #999;
}

.breadcrumb li:last-child::after {
    content: "";
}

.breadcrumb a {
    color: #249fd8;
    text-decoration: none;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

.breadcrumb li:last-child {
    color: #666;
}

@media (max-width: 640px) {
    .breadcrumb {
        margin-bottom: 30px;
    }

    .breadcrumb ul {
        padding: 0 20px;
        font-size: 12px;
        gap: 8px;
    }

    .breadcrumb li::after {
        margin-left: 8px;
    }
}



/*------------------------------本文エリア------------------------------*/
.single article {
    max-width: 800px;
    margin: 0 auto;
}

@media (max-width: 640px) {}



/*------------------------------アイキャッチ------------------------------*/
.single article figure {
    margin: 0 0 40px;
}

.single article figure img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

@media (max-width: 640px) {
    .single article figure {
        margin-bottom: 30px;
    }
}



/*------------------------------タイトル・日付・カテゴリー------------------------------*/
.article-header {
    margin-bottom: 40px;
}

.article-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    color: #333;
    margin-bottom: 20px;
}

.article-meta {
    display: flex;
    gap: 20px;
    align-items: center;
}

.article-category {
    display: inline-block;
    padding: 3px 15px;
    background-color: #249fd8;
    color: #fff;
    font-size: 13px;
    border-radius: 5px;
}

@media (max-width: 640px) {
    .article-header {
        margin-bottom: 30px;
    }

    .article-title {
        font-size: 24px;
        margin-bottom: 15px;
    }
}



/*------------------------------本文コンテンツ------------------------------*/
.article-content h2 {
    font-size: 26px;
    font-weight: 700;
    margin: 50px 0 25px;
    padding-bottom: 15px;
    border-bottom: 3px solid #152f69;
}

.article-content h3 {
    font-size: 22px;
    font-weight: 600;
    margin: 40px 0 20px;
    padding-left: 20px;
    border-left: 4px solid #249fd8;
    display: block;
}

.article-content ul,
.article-content ol {
    margin: 25px 0;
    padding-left: 25px;
}

.article-content li {
    margin-bottom: 10px;
}

.article-content ul li {
    list-style-type: disc;
    /* 黒丸を表示 */
    margin-bottom: 10px;
}

.article-content ol li {
    list-style-type: decimal;
    /* 数字を表示 */
    margin-bottom: 10px;
}

.article-content ul li:last-child,
.article-content ol li:last-child {
    margin-bottom: 0;
}

.article-content li::marker {
    color: #249fd8;
}

.article-content strong {
    color: #222222;
    font-weight: 600;
}

.article-content>.wp-block-group {
    margin-bottom: 1em;
}

.article-content table {
    min-width: 480px;
}

.article-content thead {
    background-color: #152f69;
    color: white;
    font-weight: 700;
}

.is-style-sme-alert-success .wp-block-list {
    margin: 0;
}

.is-style-sme-alert-success .wp-block-list li::marker {
    color: #98dd3a;
}

@media (max-width: 640px) {
    .article-content h2 {
        font-size: 22px;
        margin: 40px 0 20px;
        padding-bottom: 12px;
    }

    .article-content h3 {
        font-size: 19px;
        margin: 30px 0 15px;
        padding-left: 12px;
    }

    .article-content ul,
    .article-content ol {
        padding-left: 20px;
    }
}



/*------------------------------記事一覧へ戻るボタン------------------------------*/
.column-single__back {
    text-align: center;
    margin-top: 80px;
}

.column-single__back a {
    display: block;
    width: 60%;
    margin: auto;
    padding: 12px 0;
    background-color: #152f69;
    color: #fff;
    border: 2px solid #152f69;
    border-radius: 5px;
    font-weight: 500;
    transition: all 0.3s;
}

.column-single__back a:hover {
    background-color: #fff;
    color: #152f69;
}

@media (max-width: 640px) {
    .column-single__back {
        margin-top: 60px;
    }

    .column-single__back a {
        width: 100%;
    }
}



/*------------------------------CTA------------------------------*/
.single #top_banners {
    background: #F7F7F7;
}