/*
Theme Name: 道塚メディカルソリューションズ 専用子テーマ
Theme URI: https://michizuka-medicalsolutions.com/
Template: arkhe
Author: 道塚メディカルソリューションズ
Author URI: https://michizuka-medicalsolutions.com/
Description:
Tags:
Version: 1.10.0
Updated: 2026-02-13

*/

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

h2,
h3,
h4,
h5 {
    font-family: "Noto Serif JP", serif !important;
    font-weight: 500 !important;
}

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

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

h4 {
    font-size: 1.2rem !important;
}

#main_content h2,
#main_content h3,
#main_content h4{
    color: #223057 !important;
    font-weight: 600 !important;
}

p+p {
    margin-bottom: 15px !important;
}

/* ------------ 基本 ------------ */
.c-postContent>* {
    line-height: 200%;
}

.l-header__body.l-container {
    max-width: 100% !important;
}

.n2-ss-slider .n2-ss-text {
    font-family: "Noto Serif JP", serif !important;
}

/* ------------ ヘッダー ------------ */
.c-gnav .sub-menu {
    background: #223057;
}

@media (min-width: 768px) {
    .c-gnav__depth1 {
        width: 300px;
    }
}

/* ------------ スライド ------------ */

@media (min-width: 768px) {
    .br_1 {
        display: none;
    }

    .n2-ss-slider .n2-ss-text {
        font-size: 2.8rem !important;
        letter-spacing: 0.15em;
        padding-left: 28px;
    }

    .sl_mm1 img {
        width: 260px !important;
        margin-top: 90px !important;
        margin-bottom: 40px !important;
    }
}

@media (max-width: 767px) {
    div#n2-ss-2 .n2-ss-slide {
        height: 360px;
    }

    .br_2 {
        display: none;
    }

    .n2-ss-slider .n2-ss-text {
        font-size: 1.43rem !important;
    }
    .sl_text1 , .sl_text2 {
        padding-left: 13px !important;
    }
    .n2-ss-slider .n2-ss-item-image-content img {
        margin-left: -10px;
    }

    .sl_mm1 img {
        width: 200px !important;
        margin-top: 50px !important;
        margin-bottom: 30px !important;
    }
}


/* =========================
   初期状態（全て非表示＋ぼかし）
========================= */

.sl_text1,
.sl_text2,
.sl_mm1 {
    opacity: 0;
    filter: blur(8px);
    transform: translateY(20px);
}

/* =========================
   アニメーション定義
========================= */

@keyframes fadeClearUp {
    0% {
        opacity: 0;
        filter: blur(8px);
        transform: translateY(20px);
    }

    60% {
        opacity: 1;
        filter: blur(3px);
    }

    100% {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0);
    }
}

@keyframes fadeClearImage {
    0% {
        opacity: 0;
        filter: blur(10px);
        transform: scale(0.96);
    }

    100% {
        opacity: 1;
        filter: blur(0);
        transform: scale(1);
    }
}

/* =========================
   テキスト①
========================= */

.sl_text1 {
    animation: fadeClearUp 1.4s ease-out 0.5s forwards;
}

/* =========================
   テキスト②
========================= */

.sl_text2 {
    animation: fadeClearUp 1.4s ease-out 1.8s forwards;
}

/* =========================
   画像（最後）
========================= */

.sl_mm1 {
    animation: fadeClearImage 1.8s ease-out 3.5s forwards;
}

@media screen and (min-width: 768px) {
    .sl_text2 {
        margin-bottom: 30px !important;
    }
}

@media screen and (max-width: 767px) {
    .sl_text2 {
        margin-bottom: 15px !important;
    }
}

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

.top_item11 h3{
    background-color: #f3f3f3;
    padding: 10px 2px;
    text-align: center;
    font-size: 1.1rem !important;
}
.top_item11 p{
    font-size: 0.9rem;
}

body.home .greeting_p1{
    font-size: 1.2rem;
}

.title_11 {
    font-size: 1.1rem !important;
    text-align: center;
}

.box_11 {
    background-color: #f5f5f5;
    padding: 10px;
    text-align: center;
}

ul.li_list_11 {
    list-style-type: upper-alpha;
}

ul.li_list_11 li {
    margin-bottom: 15px;
}

.sec_business_1 .smb-section__subtitle {
    position: relative;
    color: #fff;
    background-color: #0F3876;
    padding: 5px 10px;
    width: 50px;
    margin: auto;
    font-size: 1.2rem;
    font-family: "Noto Serif JP", serif !important;
    border: 5px solid #fff;
}

.sec_business_1 .smb-section__title {
    border-top: 1px solid #0F3876;
    padding: 25px 10px 20px 10px;
    margin-top: -20px;
    background-color: #fff;
    color: #0F3876;
    box-shadow: 2px 2px 4px #f3f3f3;
}

.sec_business_1 .smb-section__lede-wrapper {
    margin-top: 15px;
}

.sec_business_1 .smb-section__lede {
    font-size: 1rem;
}

.wp-block-media-text {
   /* background-color: #fff;*/
    padding: 50px;
    box-shadow: 2px 2px 4px #f3f3f3;
}

.item_box11 {
    background-color: #fff;
    padding: 50px;
}

.smb-btn__label {
    font-size: 0.85rem !important;
}

.busi_ul_li1 li:first-child{
    margin-bottom: 30px;
}


#main_content .mcd_sec1 h2 {
    color: #333 !important;
}

@media (min-width: 768px) {
    /*#main_content .mcd_sec1 h2 {
        margin-left: -18px !important;
    }*/
}
@media (max-width: 680px) {
    .sec_business_1 .smb-section__title {
        font-size: 1.4rem !important;
    }
}

/* ---------- ボタン ---------- */

a.smb-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 320px;
	height: 50px;
	color: #003768 !important;
	font-size: 16px !important;
	text-decoration: none;
	transition: 0.3s;
	background-color: #fff !important;
	border: 1px solid #003768;
}

a.smb-btn:hover {
	background-color: #095394 !important;
	border-color: #fff !important;
	color: #fff !important;
}

/* ▶矢印 */
a.smb-btn::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%) rotate(45deg);
	width: 6px;
	height: 6px;
	border-top: 2px solid #003768;
	border-right: 2px solid #003768;
}

/* hover時の矢印 */
a.smb-btn:hover::after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

@media (min-width: 768px) {
    .btn_busi_1 a.smb-btn{
        width: 400px !important;
    }
}

/* ---------- 代表者挨拶 ---------- */

@media (min-width: 768px) {
.greeting_box1 .wp-block-media-text__content p{
    margin-left: 20px;
}
}

/* --- 身体醜形症(BDD)について --- */
ul.list_ul_11 {
    background-color: #f9f9f9;
}

:is(.wp-block-details, .wp-block-quote, .wp-block-column, .wp-block-media-text__content, .wp-block-cover__inner-container, .wp-block-group__inner-container:where(:not(.is-layout-grid)))> :not(:first-child) {
    margin-bottom: 0;
    margin-top: 15px;
}

.p_11 {
    text-align: center;
    font-size: 1.2rem;
}

.consulting_group1 ul{
    list-style: none;
    padding: 0;
}
.consulting_group1 ul li{
    border-bottom: 1px dotted #999;
    padding-top: 15px;
    padding-bottom: 20px;
}


/* --- 精神科医療への医療DXの推進・拡充 --- */

.greeting_item2.wp-block-media-text {
    padding: 0px !important;
    box-shadow: 0px 0px 0px #f3f3f3 !important;
}

.sme-highlighter{
    background-image: linear-gradient(transparent 80%, var(--color_deep04) 80%) !important;
}

.greeting_p1{
    font-family: "Noto Serif JP", serif !important;
}
.greeting_p2{
    color: #555;
    font-family: "Noto Serif JP", serif !important;
}

.g_p1 {
    font-size: 1.3rem;
    color: #003768;
}
.greeting_p1,.greeting_p2{
    font-weight: 700;
}

@media screen and (min-width: 680px) {
    .smb-btn {
        width: 360px;
    }

    .list_ul_11 {
        padding: 30px;
        padding-left: 50px;
    }

    .sec_busi_11 .smb-box {
        padding: 100px;
    }
    .daihyou_img_1 {
        width: 70%;
        margin: auto;
    }
}

@media screen and (max-width: 679px) {
    .smb-btn {
        width: 100%;
    }

    .wp-block-media-text {
        padding: 10px;
    }

    .list_ul_11 {
        padding: 10px;
    }

    .item_box11 {
        padding: 5px 5px 5px 1px !important;
    }

    .sec_busi_11 .wp-block-media-text__content {
        padding-right: 0px !important;
        padding-left: 0px !important;
    }

    .wp-block-columns {
        --wp-column-gap: 1rem !important;
    }

    .top_sec21.alignfull {
        margin-top: 0px;
        padding-top: 0px;
    }

    .greeting_item2 .wp-block-media-text__content {
        text-align: center;
    }

    .greeting_item2 .wp-block-media-text__media {
        margin: 0 calc(50% - 50vw);
        width: 100vw;
    }
/*    .greeting_p1{
        font-size: 0.9rem !important;
    }
    .greeting_p2{
        font-size: 0.7rem !important;
        line-height: 150%;
    }
    .greeting_item2.wp-block-media-text {
    grid-template-columns: 45% auto !important;
}*/
}

/* ------------ ブロック ------------ */
@media (max-width: 680px) {
:is(.wp-block-details, .wp-block-quote, .wp-block-column, .wp-block-media-text__content, .wp-block-cover__inner-container, .wp-block-group__inner-container:where(:not(.is-layout-grid)))> :not(:first-child) {
    text-align: left;
}
}

/* ------------ プライバシーポリシー ------------ */
.pp_sec1 h2 {
    font-size: 1.2rem !important;
    margin: 30px 0 10px;
}

/* ------------ フッター ------------ */
@media (min-width: 768px) {
    .footer_col2 ul {
        display: flex;
        flex-wrap: wrap;
    }

    .footer_col2 ul li {
        width: 50%;
    }
}

@media (max-width: 767px) {
    .footer_logo1 {
        text-align: center;
    }

    .footer_logo1 img {
        width: 60%;
        margin: auto;
    }

}

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

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

.footer_col2 svg:not([fill]) {
    font-size: 0.8rem;
}

/* ------------ 問い合わせフォーム ------------ */

.seineg_n1 label {
    margin-bottom: 10px;
    border-bottom: 1px dotted #555;
    display: block;
}

#footer h2 {
    background-color: #fff;
    font-size: 1rem !important;
    padding: 7px 5px;
    text-align: center;
    border: 1px solid #f1d8d8;
}

.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;
}

#form1 {
    overflow: hidden;
}

#form1 table {
    background-color: #fff;
}

#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;
}

.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: 3px 5px;
    background: #F92931;
    border-radius: 20px;
    font-size: 11px;
}

.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;
}

.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;
}

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

    p.contact_box1 {
        text-align: center;
    }

}

@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;
    }
}