@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/

img {
max-width: 100%;
height: auto;
}

/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*960px以下*/
@media screen and (max-width: 960px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px) {
  .ics-calendar.layout-list,
  .ics-calendar.layout-list *,
  .r34ics.ics-calendar,
  .r34ics.ics-calendar *,
  .r34ics-ajax-container[data-view="list"],
  .r34ics-ajax-container[data-view="list"] * {
    display: none !important;
  }
	
  .pm-user-name {
	margin-top: 6rem !important;
  }

  .pm-profile-image {
	margin-top: 2rem;
  }
}


/* 日付とイベント全体をフレックスで横並びに */
.ics-calendar-date-wrapper {
  display: flex;
  align-items: baseline;   /* ← 中央ではなく baseline にするのがコツ */
  gap: 16px;
  flex-wrap: wrap;
  margin: 0;
  padding: 6px 0;
}

/* 日付部分（h4） */
.ics-calendar-date {
  margin: 0;
  padding: 0;
  line-height: 1;
  font-size: 1rem;         /* フォントサイズを揃える */
  font-weight: 600;
  display: inline-block;
  vertical-align: baseline; /* 行の基準線を合わせる */
}

/* イベント部分（dl） */
.ics-calendar-date-wrapper .events {
  display: flex;
  align-items: baseline;   /* ← dt/ddの文字の下線を揃える */
  gap: 8px;
  margin: 0;
  padding: 0;
}

/* dt（時間）とdd（内容） */
.ics-calendar-date-wrapper .events dt,
.ics-calendar-date-wrapper .events dd {
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: baseline;
  line-height: 1;
  font-size: 1rem;
  vertical-align: baseline;
}

/* 時間部分の調整 */
.ics-calendar-date-wrapper .events dt {
  font-weight: 600;
}

.ics-calendar-date-wrapper .events .end_time {
  margin-left: 4px;
  opacity: 0.85;
}

/* 内容部分 */
.ics-calendar-date-wrapper .events dd {
  color: #222;
}


/* ブログカード全体のスタイル */
.display-post-types .dpt-entry {
    border: 1px solid #e0e0e0;
	border-radius: 0px;
    background: #ffffff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    overflow: hidden;
}

/* ホバー時のエフェクト */
.display-post-types .dpt-entry:hover {
    border-color: #d0d0d0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

/* 最新号セクション（dpt-list1クラスを使用） */
.display-post-types .dpt-list1 .dpt-entry {
    border: 1px solid #ddd;
    padding: 0 1rem 0 1rem;
}

/* バックナンバーセクション（dpt-list2クラスを使用） */
.display-post-types .dpt-list2 .dpt-entry {
    border: 1px solid #e5e5e5;
	padding-right: 1rem;
	padding-left: 1rem;
}

/* より具体的に指定する場合（属性セレクタを使用） */
.display-post-types [id^="dpt-wrapper-"] .dpt-entry {
    /* 全てのdpt-wrapper-で始まるIDに適用 */
    border: 1px solid #e0e0e0;
    border-radius: 1px;
}

/* タイトル部分のスタイリング */
.dpt-main-header {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #0073aa;
}

.dpt-main-title-text {
    font-size: 1.2em;
    font-weight: bold;
    color: #333;
}

/* 画像部分の調整 */
.dpt-thumbnail {
    border-bottom: 1px solid #f0f0f0;
}

/* テキスト部分のパディング調整 */
.sub-entry {
    padding: 15px;
}

/* メタ情報（日付）のスタイル */
.dpt-meta1 {
    padding-top: 10px;
    border-top: 1px solid #f5f5f5;
    color: #999;
    font-size: 0.9em;
}

/* 特定のタイトルテキストで判別する方法 */
.dpt-main-title:has(.dpt-main-title-text:contains("最新号")) + .dpt-wrapper .dpt-entry,
.dpt-main-header:has(.dpt-main-title-text) + .dpt-wrapper.dpt-list1 .dpt-entry {
    /* 最新号用のスタイル */
    border-color: #0073aa;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .display-post-types .dpt-entry {
        margin-bottom: 15px;
    }
    
    .sub-entry {
        padding: 12px;
    }
}

/* オプション: より洗練された影のスタイル */
.display-post-types .dpt-entry-wrapper {
    position: relative;
    background: white;
    border-radius: 1px;
}

/* カード間の余白調整 */
.dpt-wrapper {
    gap: 1rem;
}



/***********************************************************************************/
/*  ログイン画面  */
/***********************************************************************************/

/* ---------------------------------
   ログインボックス
--------------------------------- */
.pm-login-box {
    width: 400px !important;
    margin: 40px auto;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #e3e3e3;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
    position: relative;
}

/* ---------------------------------
   入力フィールド
--------------------------------- */
#pm_login_form input[type="text"],
#pm_login_form input[type="password"] {
    width: 100%;
    padding: 14px 16px;
    margin-bottom: 18px;
    font-size: 15px;
    border: 1px solid #d3d3d3;
    border-radius: 8px;
    background: #fafafa;
    transition: all 0.25s ease;
    box-sizing: border-box;
}

#pm_login_form input[type="text"]:focus,
#pm_login_form input[type="password"]:focus {
    border-color: #4a90e2;
    background: #fff;
    box-shadow: 0 0 8px rgba(74, 144, 226, 0.3);
    outline: none;
}

/* ---------------------------------
   パスワード表示アイコン（中央揃え）
--------------------------------- */
#pm_login_form {
    position: relative;
}

#pg-toggle-password {
    position: absolute;
    right: 12px;
    top: calc(100% + 2px);  /*← ここで上下微調整 */
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 18px;
    color: #777;
}


#pg-toggle-password:hover {
    color: #000;
}

/* ---------------------------------
   Remember Me
--------------------------------- */
.pg-login-remember label {
    font-size: 14px;
    color: #444;
}

.pg-login-remember input {
    margin-right: 6px;
}

/* ---------------------------------
   ▼ ボタン部分のレイアウト調整
--------------------------------- */
.pm-login-box-bottom-container {
    padding: 18px;
    border-top: 1px solid #eee;
    margin-top: 10px;
}

/* 2つのボタンだけ横並びにする行 */
.pm-login-buttons-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

/* 左：ログインボタン */
#pm_login_form input[type="submit"] {
    background: #4a90e2;
    color: #fff;
    padding: 12px 0;
    width: 48%;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    cursor: pointer;
    transition: 0.25s;
}

#pm_login_form input[type="submit"]:hover {
    background: #357ab8;
}

/* 右：登録ボタン（横書きに調整） */
.pg-registration-button {
    display: flex;              /* ← 横書き維持のため */
    justify-content: center;
    align-items: center;

    width: 48%;
    background: transparent !important;
    border: 1px solid #ddd;
    color: #333 !important;
    padding: 12px 0;
    border-radius: 8px;
    font-size: 15px;
    text-decoration: none;
    transition: 0.25s;
}

.pg-registration-button:hover {
	/*
    background: #f3f3f3 !important;
    border-color: #ccc;
	*/
	color: #ff0000 !important;
	text-decoration: underline;
}

/* ---------------------------------
   下段：パスワードを忘れたリンク
--------------------------------- */
.pm-login-links-box {
    text-align: center;
    margin-top: 5px;
}

.pm-login-links-box a {
    font-size: 13px;
    color: #4a90e2;
    text-decoration: none;
}

.pm-login-links-box a:hover {
    text-decoration: underline;
}

/* ---------------------------------
   黒背景の注意文
--------------------------------- */
.seiki_annai_pc {
    width: 600px;
    margin: 40px auto 0;
    padding: 25px;
    border-radius: 8px;
    font-size: 15px !important;
    background: #222 !important;
    color: #fff !important;
    line-height: 1.7 !important;
}


/***********************************************************************************/
/*  パスワードリセット画面  */
/***********************************************************************************/

/* パスワードリセットボタン */
.lostpassword-button {
    color: black !important;
}

.lostpassword-button:hover {
    color: white !important;
}

#resetpass-button {
    color: black !important;
}

#resetpass-button:hover {
    color: white !important;
}


/* ---------------------------------
   レスポンシブ対応
--------------------------------- */
/* ================================
   スマホ用（480px以下）
================================ */
@media screen and (max-width: 480px) {

	.slicknav_menu {
		display: none !important;
	}
    .pm-login-box {
        width: 90% !important;
        padding: 20px;
        margin: 20px auto;
    }

    /* パスワード欄（スマホサイズに最適化） */
    #pm_login_form input[type="password"] {
        height: 44px;
        line-height: 44px;
        padding: 0 44px 0 14px;
        font-size: 14px;
    }

    /* アイコンは PC と同じ配置で OK */
    #pg-toggle-password {
        right: 12px;
        font-size: 18px;
		top: calc(100% + 2px);  /*← ここで上下微調整 */
    }

    .pm-login-buttons-row {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 10px;
        margin-bottom: 12px;
    }

    #pm_login_form input[type="submit"],
    .pg-registration-button {
        width: 48%;
        padding: 12px 0;
    }

    .pm-login-links-box {
        margin-top: 10px;
        text-align: center;
    }

    .seiki_annai_pc {
        width: 95%;
        margin: 20px auto;
        padding: 20px;
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
	
	/* カバー文字調整 */
	span .fz-22px,.bold {
      font-size: 16px !important;
    }

    .fz-22px,.fz-24px,.a {
      font-size: 16px !important;
    }
	
	/* 見出し大きさ調整 */
	h2.wp-block-heading {
		font-size: 16px;
		text-align: center;
	}
	
	.dpt-main-title,.dpt-title-link {
		font-size: 16px;
	}
	
	/* タブ文字大きさ調整 */
	 .arkb-tabList__button .fz-20px,.fz-18px {
    font-size: 12px !important;
    }

    .wp-block-cocoon-blocks-button-1 a.btn.btn-m {
      padding: 14px 6px !important; 
	  font-size: 12px !important;
    }

	/* 仕様、取扱説明書 */
	.is-style-bottom-margin-0em span.fz-22px,.fz-20px {
		font-size: 16px !important;
	}
	
	.eckb-kb-block-search #epkb-ml__module-search #epkb-ml-search-classic-layout .epkb-ml-search-title, .eckb-kb-block-search #epkb-ml__module-search #epkb-ml-search-modern-layout .epkb-ml-search-title {
		font-size: 16px !important;
	}
	
	.eckb-kb-block-categories-layout #epkb-ml__module-categories-articles #epkb-ml-categories-layout .section-head .epkb-category-level-1 .epkb-cat-name, .eckb-kb-block-categories-layout #epkb-ml-cat-article-sidebar .epkb-ml-article-section__head {
		font-size: 18px !important;
	}
	
	.ark-block-buttons[data-orientation=horizontal] .ark-block-button {
		margin-left: auto !important;
		margin-right: auto !important;
	}
	


/* ===========================
   モバイルメニュー用の区切り線
   =========================== */
/* ===========================
   PCメニュー用の区切り線
   =========================== */

/* ホーム → 製品情報 の間 */
.menu-pc #menu-item-5102 {
  border-right: 1px solid #ccc;
}

/* テクニカルナレッジ → アフターサービス の間 */
.menu-pc #menu-item-5505 {
  border-right: 1px solid #ccc;
}

/* トレーニングコース → トレーニングスケジュール（サブメニュー内） */
.menu-pc #menu-item-4881 {
  border-bottom: 1px solid #ccc;
}

/* お問い合わせ → マイページ（PCメニューにはマイページ無しなので不要） */


/* ===========================
   モバイルメニュー用の区切り線
   =========================== */
/* モバイルメニューの縦の仕切り線 */
.menu-mobile li {
  display: inline-block;
  width: 50%;
  box-sizing: border-box;
}

/* 左列に縦線（右ボーダー）を表示 */
.menu-mobile li:nth-child(odd) {
  border-right: 1px solid #ffffff;
}

/* 上下の横線（必要なら） */
.menu-mobile li {
  border-bottom: 2px solid #666;
}



}


/***********************************************************************************/
/*  ユーザー登録画面  */
/***********************************************************************************/

/* リセットとベース設定 */
/*
* {
    box-sizing: border-box;
}

/* フィールドセット全体のスタイル */
#fieldset_8 {
    background: #ffffff;
    border: none;
    border-radius: 16px;
    padding: 50px 60px;
    max-width: 800px;
    width: 100%;
    margin: 30px auto;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    position: relative;
    overflow: hidden;
}

/* レジェンド（Personal Details）を非表示 */
#fieldset_8 legend {
    display: none;
}

/* 行のレイアウト */
.pmrow {
    margin-bottom: 28px;
}

/* ラベルのスタイル */
.pm-field-lable {
    margin-bottom: 10px;
}

.pm-field-lable label {
    font-size: 15px;
    font-weight: 600;
    color: #34495e;
    display: block;
    transition: color 0.3s ease;
    letter-spacing: 0.5px;
}

/* 必須マーク */
.pm_estric {
    color: #e74c3c;
    font-size: 14px;
    margin-left: 4px;
    font-weight: bold;
}

/* 入力フィールドのスタイル */
.pm-field-input input[type="text"],
.pm-field-input input[type="email"],
.pm-field-input input[type="password"] {
    width: 100%;
    padding: 15px 18px;
    font-size: 15px;
    border: 2px solid #ecf0f1;
    border-radius: 8px;
    background-color: #ffffff;
    transition: all 0.3s ease;
    font-family: inherit !important;
}

/* フォーカス時のスタイル */
.pm-field-input input:focus {
    outline: none;
    border-color: #4a90e2;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
}

/* ホバー時のスタイル */
.pm-field-input input:hover:not(:focus) {
    border-color: #95a5a6;
}

/* 入力済みフィールドのスタイル */
.pm-field-input input:not(:placeholder-shown) {
    border-color: #27ae60;
}

/* チェックボックスエリアのスタイル（背景色削除） */
.pmradio {
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    transition: all 0.3s ease;
}

.pm-radio-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 5px 0;
}

.pm-radio-option input[type="checkbox"] {
    width: 22px;
    height: 22px;
    cursor: pointer;
    accent-color: #4a90e2;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.pm-radio-option input[type="checkbox"]:checked {
    transform: scale(1.1);
}

.pm-radio-option a {
    color: #4a90e2;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    position: relative;
    line-height: 1.5;
}

.pm-radio-option a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: #4a90e2;
    transition: width 0.3s ease;
}

.pm-radio-option a:hover {
    color: #3498db;
}

.pm-radio-option a:hover::after {
    width: 100%;
}

/* エラーテキストのスタイル */
.errortext,
.useremailerror {
    color: #e74c3c;
    font-size: 13px;
    margin-top: 6px;
    padding: 8px 12px;
    background: rgba(231, 76, 60, 0.08);
    border-left: 3px solid #e74c3c;
    border-radius: 4px;
    animation: slideIn 0.3s ease;
}

/* ボタンエリア下部の.all_errorsを非表示 */
.buttonarea .all_errors {
    display: none !important;
}

/* フィールドセット内の.all_errorsも非表示 */
#fieldset_8 .all_errors {
    display: none !important;
}

/* ボタンエリアのスタイル */
.buttonarea {
    margin-top: 40px;
    text-align: center;
    padding-top: 25px;
    border-top: 1px solid #ecf0f1;
}

/* 送信ボタンのスタイル */
input[type="submit"] {
    background: #4a90e2;
    color: white;
    font-size: 16px;
    font-weight: 600;
    padding: 15px 60px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(74, 144, 226, 0.25);
    letter-spacing: 1px;
    position: relative;
    overflow: hidden;
}

input[type="submit"]::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

input[type="submit"]:hover {
    background: #3a7bc8;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(74, 144, 226, 0.35);
}

input[type="submit"]:hover::before {
    width: 350px;
    height: 350px;
}

input[type="submit"]:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(74, 144, 226, 0.25);
}

/* アニメーション定義 */
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* フィールドアイコン（オプション） */
.pm-form-field-icon::before {
    content: '▸';
    color: #4a90e2;
    margin-right: 8px;
    font-size: 12px;
}

/* プレースホルダーのスタイル */
input::placeholder {
    color: #95a5a6;
    font-size: 14px;
}

/* レスポンシブデザイン */
@media (max-width: 850px) {
    #fieldset_8 {
        padding: 20px 20px 30px 20px;
        margin: 20px;
        max-width: calc(100% - 40px);
    }
    
    .pm-field-input input[type="text"],
    .pm-field-input input[type="email"],
    .pm-field-input input[type="password"] {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    #fieldset_8 {
        padding: 20px 20px 30px 20px;
        border-radius: 12px;
    }
    
    input[type="submit"] {
        width: 100%;
        padding: 14px 30px;
    }
    
    .pmrow {
        margin-bottom: 20px;
    }
	
	#pm_field_199 {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px;
        min-height: 18px;
        margin-right: 2px;
    }
}

/* フォーカス可視性向上（アクセシビリティ） */
*:focus-visible {
    outline: 2px dashed #4a90e2;
    outline-offset: 3px;
}

input[type="submit"]:focus-visible {
    outline: 2px dashed #fff;
    outline-offset: -4px;
}

/* カスタムスクロールバー（Webkit系ブラウザ） */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb {
    background: #4a90e2;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #3a7bc8;
}

/* 入力フィールドのオートフィル時のスタイル */
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px #ffffff inset;
    -webkit-text-fill-color: #2c3e50;
}

input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 30px #fff inset;
}

/* 必須フィールドの視覚的な強調（オプション） */
.pm_required input {
    border-left: 3px solid #e74c3c;
    padding-left: 15px;
}

.pm_required input:focus,
.pm_required input:not(:placeholder-shown):valid {
    border-left: 3px solid #27ae60;
}



/***********************************************************************************/
/* 入力フォーム上部説明文  */
/***********************************************************************************/

/* 説明文をフォーム上部に追加（青ライン削除版） */
#fieldset_8::after {
    content: 'AMXテクニカルフォーラムページはディーラー様限定ページです。\A最新の製品情報はもちろん、詳細な製品技術情報まで幅広くご提供致します。\Aまた、製品トレーニングに関する情報や修理・生産完了に関する情報などもご確認頂けます。\A\A下記の必要事項をご入力の上、AMXテクニカルフォーラムへのご登録をお申込みください。\A登録が完了しましたら、フォーラムへのアクセス方法を記載したご案内メールをお送りいたします。\A\Aメールアドレスおよびパスワードはお客様ご自身で厳重に管理くださいますようお願いいたします。\A\A※パスワードは7文字以上の英数字で設定をお願いします。';
    white-space: pre-line;
    display: block;
    font-size: 15px;
    line-height: 1.8;
    color: #2c3e50;
    margin-bottom: 35px;
    padding: 25px;
    background: #ffffff;
    border-radius: 6px;
    position: relative;
    order: -1;
}

/* フレックスボックスで順序制御 */
#fieldset_8 {
    display: flex;
    flex-direction: column;
}

/* モバイル対応 */
@media (max-width: 768px) {
    #fieldset_8::after {
        font-size: 15px;
        padding: 5px;
        margin-bottom: 25px;
        line-height: 1.7;
    }
}

@media (max-width: 480px) {
    #fieldset_8::after {
        font-size: 15px;
        padding: 5px;
        margin-bottom: 20px;
    }
	
	#main {
		padding: 16px 8px 16px 8px;
	}
}