/* 
 Theme Name:     Atlas
 Author:         Mark Hendriksen
 Author URI:     https://markhendriksen.com
 Template:       Divi
 Version:        1.0
 Description:    A Divi Child Theme 
*/ 

/* ----------- PUT YOUR CUSTOM CSS BELOW THIS LINE -- DO NOT EDIT ABOVE THIS LINE --------------------------- */ 
.pc-none{
    display:none;
}
.sp-none{
    display:block;
}
@media screen and (max-width:767px){
.pc-none{
    display:block;
}
.sp-none{
    display:none;
}
}

/* ########################### */
/* ###### CHANGE COLORS ###### */
/* ########################### */

/* ### Dropdown menu ### */
.nav li li a { 
  	border-bottom: 1px solid rgb(255 255 255 / 19%); /* Dropdown border bottom */ 
  	font-weight: 500 !important; /* Dropdown font weight */ 
  	font-size: 16px !important; /* Dropdown font size */ 
}
  
.et-menu > .menu-item-has-children > .sub-menu:before {
  	border-bottom: 12px #00eab7 solid; /* Dropdown arrow color */
} 

/* #### Collaping mobile menu #### */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
	color: #0a070a; /* Icon color */
	background: #00eab7; /* Icon background color */
}

/* #### Full-screen overlay menu #### */
.hamburger-icon-v1::after {
  background: #00eab7; /* Hamburger background color */
}
  
.hamburger-icon-v1:hover::before {
	color: #000; /* Hamburger icon hover color */
}
  
.custom-menu-v1 ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after, .et-db #et-boc .et-l .custom-menu-v1 ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
    background-color: #00eab7; /* background icon color */
    color: #000; /* Icon color */
}

/* ### Projects - home page ### */
.section-with-white-bg .text-white-projects h2,
.section-with-white-bg .text-white-projects .et_pb_promo_description p {
	color: #ffffff !important; /* text color when scrolled down */
}

.et_pb_section.section-with-white-bg.section-with-color-bg {
	background-color: #0a070a!important; /* background color when scrolled down */
}

/* ### Blog grid ### */
.atlas-blog .et_pb_post .post-meta {
	background-color: #f6f4ef; /* meta background color */
}


/* ########################### */
/* ####### END COLORS ######## */
/* ########################### */

/* ### General ### */
#page-container {
	overflow-x: hidden;
}

/* ### Header V1 ### */
@media screen and (min-width: 981px) {
.header-v1-column {
	display: flex;
	align-items: center;
}

.header-v1-menu {
	flex: 2 1 auto;
}

.header-v1-menu.et_pb_menu .et-menu>li {
    padding-left: 17px;
    padding-right: 17px;
}}

@media screen and (max-width: 980px) {
.header-button-1,
.header-button-2 {
	width: 100%;
    text-align: center;	
}}

/* ### Overlay menu ### */

/* Icons */  
.custom-menu-v1 ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after, .et-db #et-boc .et-l .custom-menu-v1 ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
		content: '\4c';
}
   
.hamburger-icon-v1::before {
	content: '\61';
}
  
.mh-cm-v2 .et_mobile_menu .menu-item-has-children > a:after {
  content: '\4c';
}

.mh-cm-v2 .et_mobile_menu .menu-item-has-children > .mh-cm-v2-menu-switched-icon:after {
	content: '\4d';
}
  
@media screen and (min-width: 981px) {
.mh-cm-v2 .et-menu > .menu-item-has-children > .sub-menu:before {
  content: '\42';
}
  
.mh-cm-v2 .et-menu .sub-menu .menu-item-has-children>a:first-child:after {
  content: "\35";
}}
  
.custom-menu-v1 ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after, .et-db #et-boc .et-l .custom-menu-v1 ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
		content: '\4c';
}  
 
.custom-menu-v1 ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon.mh-cm-v2-menu-switched-icon::after, .et-db #et-boc .et-l .custom-menu-v1 ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon.mh-cm-v2-menu-switched-icon::after  
 {
 		content: '\4d' !important;   
}

/* ### top bar menu ### */
.top-bar-menu-row {
	display: flex;
    align-items: center;	
}

.social-media-top-bar.et_pb_social_media_follow li {
    margin-bottom: 0px;
}

/* ### Team members social ### */
.custom-social.et_pb_social_media_follow li a {
    margin-right: 0px;
}

/* ### Appointment CTA ### */
@media screen and (min-width: 981px) {
.appointment-cta-row {
	display: flex;
    align-items: center;
}}

/* ### Project box ### */
.service-box {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 600px;
}

@media screen and (min-width: 981px) {
.service-box .service-animated-text {
	max-height: 0em;
	opacity: 0;
	transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .25s;
}

.service-box:hover .service-animated-text {
	max-height: 6em;
	opacity:1;
}}

/* ### Projects section ### */
.section-with-white-bg {
	transition: background-color .6s ease-in-out,color .6s ease-in-out;	
}

.text-black-projects h2,
.text-black-projects .et_pb_promo_description p {
	-webkit-transition: color .6s; 
	transition: color .6s; 
}

/* ### Blurb services ### */
.blurb-service li::marker {
	font-size: 16px;
	font-family: FontAwesome!important; 
	font-weight: 900;
	content: "\f105";
}

.blurb-single-link.et_pb_blurb_position_left .et_pb_blurb_container {
	padding-left: 0px !important;
}

.blurb-single-link .et_pb_image_wrap {
	display: flex;
    justify-content: flex-end;
	margin-right: 5px;
}

/* ### Home images sections ### */
.home-images-column-1.et_pb_column_1_3 {
	width: 35.6667%;
}

.home-images-column-2.et_pb_column_2_3 {
	width: 58.833%;
}

/* ### Home logo row ### */
.logo-row {
	display: flex;
    align-items: center;	
}

/* ### Blog ### */
.atlas-blog .et_pb_post {
	padding: 0px !important;
}

.atlas-blog .et_pb_post .et_pb_image_container {
    margin: 0px 0px 29px !important;
}

.atlas-blog .et_pb_post .post-meta {
    padding: 2px 10px;
    border-radius: 4px;
}

.atlas-blog .et_pb_post .more-link {
	margin-top: 15px;
    display: block;
}

/* ### Career ### */
.career-toggle h4 {
	font-weight: 700;
    font-size: 16px;
    padding-top: 20px;
}

/* ### Responsive styles ### */

/* ### From column to row tablet ### */
@media screen and (min-width: 768px) and (max-width: 980px){
.from-column-to-row-tablet {
	display: flex;
    flex-direction: row;
}}

/* ### Swap column tablet and mobile ### */
@media screen and (max-width: 980px) {
.project-section-home .et_pb_row,
.swap-column-mobile-tablet {
	display: flex;
    flex-direction: column-reverse;
}

.service-box {
	height: 100%;		
}}

/* ### 981 to 1400 ### */
@media screen and (min-width: 981px) and (max-width: 1400px){
.custom-row-95.et_pb_row {
    width: 95% !important; 	
}
	
.hero-title-h1 h1 {
	font-size: 80px !important;	
}

.h2-big h2	{
	font-size: 36px !important;	
}

.project-big-text p	{
	font-size: 44px !important;	
	line-height: 1.2em;
}

.et_pb_text.about-points-text  {
	font-size: 64px !important;	
}

.et_pb_text.about-points-text-2  {
	font-size: 28px !important;	
}}


/* ### 981 to 1500 ### */
@media screen and (min-width: 981px) and (max-width: 1500px){
.cta-middle {
	display: flex;
}
	
.cta-middle .cta-middle-column-image {
	align-self: flex-end;	
}

.review-middle {
	display: flex;	
}

.review-middle .review-middle-column-image {
	align-self: flex-end;			
}}

/* ### Above footer CTA ### */
@media screen and (min-width: 981px) {
.above-footer-cta-row {
	display: flex;	
}

.above-footer-cta-button-column {
	display: flex;
    align-items: center;
	justify-content: flex-end;
}}

/* #### Dropdown Menu #### */
  
.nav li ul.sub-menu {
	padding: 0px !important;
  	border-radius: 5px;
  	box-shadow: 0 5px 17px 0px rgb(0 0 0 / 25%);
  	-moz-box-shadow: 0 5px 17px 0px rgba(0,0,0,.25);
  	-webkit-box-shadow: 0 5px 17px 0px rgb(0 0 0 / 25%);
}
  
.nav li li {
  	padding: 0 0px !important;
  	width: 100%;
}
  
.et-menu li li a {
  	padding: 10px 20px;
  	width: 100% !important;
}
  
.et-menu > .menu-item-has-children > .sub-menu:before {
	content: '';
  	display: block;
  	position: absolute;
  	left: 20px;
  	top: -20px;
  	width: 0;
  	height: 0;
  	border-top: 8px solid transparent;
  	border-right: 12px solid transparent;
  	border-left: 12px solid transparent;
  	z-index: 1;
}
  
.nav li ul {
    right: 0!important;
}
  
.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li>a {
    padding-bottom: 20px;
}

.nav li li ul {
    top: -3px !important;
}

/* #### Collaping Mobile Menu #### */

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\33';
	border-radius: 50%;
	padding: 3px;
}

ul.et_mobile_menu li.menu-item-has-children.mobile-toggle-open>.mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.mobile-toggle-open>.mobile-toggle-icon::after {
	content: '\32';
}

.et_mobile_menu .menu-item-has-children>a {
    font-weight: 600 !important; 
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon {
	text-align: center;
	opacity: 1;
}

/*ページ内遷移高さ調整 DIVI専用*/

/* --- 固定ヘッダー分（150px）ずらしてスクロール位置を調整 --- */
[id] {
  scroll-margin-top: 150px;  /* ← ヘッダーの高さに合わせて調整 */
}

/* モバイル時にヘッダーが小さい場合（例：100px） */
@media screen and (max-width: 980px) {
  [id] {
    scroll-margin-top: 100px;
  }
}

/* ====================================
   カスタムボタン共通スタイル (2クラスに統合)
   ==================================== */
.custom-button-white,
.custom-button-color {
    /* 1. 幅を100%に、Flexboxを適用 */
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important; /* 両端揃え */
    align-items: center !important; /* 垂直方向中央揃え */
    padding: 0.8em 1em !important;
}
/* ボタンの親要素のテキスト配置を左揃えに (幅100%のため) */
.et_pb_module_inner > .custom-button-white,
.et_pb_module_inner > .custom-button-color {
    text-align: left !important;
}
.custom-button-white span.et_pb_button_content,
.custom-button-color span.et_pb_button_content {
    margin-right: 10px !important;
}
/* ====================================
   矢印画像の設定とアニメーション (共通)
   ==================================== */
/* Diviのアイコン要素 (:after) を画像に置き換えるための共通設定 */
.custom-button-white:after,
.custom-button-color:after { /* このセレクタはそのまま */
    /* アイコンフォントを無効にし、背景画像を表示させる */
    content: '' !important;
    /* 必須: 矢印画像を適用し、サイズを調整 (画像自体は色別CSSで指定) */
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    /* サイズを設定 */
    width: 24px !important;
    height: 24px !important;
    
    /* ************* 追加/確認 ************* */
    /* 念のため、他のDivi設定で非表示にされないよう display: block を追加 */
    display: block !important; 
    /* ********************************* */

    /* 配置とアニメーションの準備 */
    position: static !important;
    margin-left: 10px !important;
    opacity: 1 !important;
    transition: transform 300ms ease 0ms !important;
    transform: translateX(0) !important;
}
/* ====================================
   カラーバリエーション設定
   ==================================== */
/* 矢印画像: 白抜きを強制 (色付きボタンは全て白抜き矢印) */
.custom-button-color:after {
    background-image: url('/wp-content/uploads/2025/10/rightarrowW.png') !important;
}
.custom-button-color:hover:after {
    /* ホバー時も画像を確実に表示させるための設定を再適用 */
    content: '' !important;
    display: block !important; 
    opacity: 1 !important;
}
/* 矢印画像: 白抜きを強制 (色付きボタンは全て白抜き矢印) */
.custom-button-white:after {
    background-image: url('/wp-content/uploads/2025/10/rightarrow.png') !important;
}
.custom-button-white:hover:after {
    /* ホバー時も画像を確実に表示させるための設定を再適用 */
    content: '' !important;
    display: block !important; 
    opacity: 1 !important;
}
/* ====================================
   カスタム投稿リスト (.custom-post-list) スタイル V7 (最終強制版)
   ==================================== */
/*
.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    
    flex-wrap: nowrap !important; 
    
    padding: 15px 0 15px 0 !important;
    border-bottom: 1px solid #ddd !important;
}


.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post .post-meta {
    order: 2 !important;
    display: flex !important; 
    align-items: center !important;
    flex-shrink: 0 !important; 
    margin-right: 25px !important; 
    width: auto !important;
}


.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post h2.entry-title {
    order: 3 !important; 
    flex-grow: 1 !important; 
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    padding-right: 15px !important;
    overflow: hidden !important; 
    

    min-width: 0 !important; 
}


.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post h2.entry-title a {

    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important; 
    text-overflow: ellipsis !important;
    width: 100% !important; 
    
    font-size: 16px !important;
    color: #0F3649 !important;
    text-decoration: none !important;
}


.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post .post-meta {
  
    order: 1 !important; 
}
.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post .post-meta .published {
    order: 1 !important;
    font-size: 14px !important;
    color: #333 !important;
    margin-right: 15px !important;
}
.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post .post-meta a[rel="tag"] {
    order: 2 !important;
    background-color: #4E93A6 !important;
    color: #FFFFFF !important;
    font-size: 12px !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    text-transform: none !important;
    line-height: 1 !important;
    display: inline-block !important;
}
.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post .post-meta::after,
.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post .post-meta span:not(:last-child)::after {
    content: none !important;
}
*/

/* 4. 矢印のカスタムデザイン (Order: 4) - 強制表示版 */

/* 矢印を記事全体 (.et_pb_post) の疑似要素として追加 */
.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post::after {
    content: '' !important;
    display: block !important; 
    
    order: 4 !important; /* 一番右に強制配置 */
    
    /* 矢印のサイズに !important を追加し、表示を強制 */
    width: 20px !important;
    height: 20px !important; 
    flex-shrink: 0 !important; 
    
    /* 指定された矢印画像パス */
    background-image: url('/wp-content/uploads/2025/10/rightarrow.png') !important; 
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    
    /* アニメーション */
    transition: transform 300ms ease 0ms;
    transform: translateX(0);
    margin-left: 15px !important;
}

/* ホバー時の矢印のアニメーション */
.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post:hover::after {
    transform: translateX(5px);
}

/* 5. その他不要な要素の非表示 */
.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post .post-content,
.et_pb_module.et_pb_blog_0.custom-post-list .et_pb_post .more-link {
    display: none !important;
}
/*TOPページ３つの事業を表す輪のデザイン指定*/
/* === ベン図全体 === */
.venn-diagram {
  position: relative;
  width: 900px;
  height: 700px;
  margin: 0 auto;
}

/* === 各円の共通スタイル === */
.venn-diagram .circle {
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  box-sizing: border-box;
  mix-blend-mode: multiply;
  line-height: 1.7;
}

/* === ① 外国人材受入支援 === */
.venn-diagram .circle1 {
  background-color: #4E93A6;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}

/* === ② 共同購入 === */
.venn-diagram .circle2 {
  background-color: #2D7A88;
  bottom: 0px;   /* ← 上下の距離を30px近づけた */
  left: 8%;        /* ← 右の円に15px寄せて重ね気味に */
  z-index: 2;
}

/* === ③ 経営イノベーション === */
.venn-diagram .circle3 {
  background-color: #1B5D73;
  bottom: 0px;   /* ← 同様に30px近づけた */
  right: 8%;       /* ← 左の円に15px寄せて重ね気味に */
  z-index: 2;
}

/* === タイトルと本文 === */
.venn-diagram h3 {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 10px;
  color: #fff;
}

.venn-diagram p {
  font-size: 0.9rem;
  line-height: 1.8;
  color: #fff;
  max-width: 90%;
  margin: 0 auto;
}

/* === タブレット・スマホ対応（980px以下）=== */
@media (max-width: 980px) {
.venn-diagram {
  position: relative;
  width: 630px;
  height: 490px;
  margin: 0 auto;
}
.venn-diagram .circle {
  position: absolute;
  width: 280px;
  height: 280px;
  }
  .venn-diagram h3 {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 10px;
  color: #fff;
}

.venn-diagram p {
  font-size: 0.7rem;
  line-height: 1.8;
  color: #fff;
  max-width: 90%;
  margin: 0 auto;
}
 /*  .venn-diagram {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
    text-align: center;
  } */

  /* === 各円（共通）=== 
  .venn-diagram .circle {
    position: relative;
    width: min(80vw, 380px);  
    min-width: 260px;        
    aspect-ratio: 1 / 1;     
    border-radius: 50%;
    padding: 6vw;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    mix-blend-mode: normal;
    left: 0;
    transform: none;
  }*/

  /* === 色指定 === */
  .venn-diagram .circle1 {
    background-color: #4E93A6;
  }
  .venn-diagram .circle2 {
    background-color: #2D7A88;
  }
  .venn-diagram .circle3 {
    background-color: #1B5D73;
  }

  /* === タイトル === */
  .venn-diagram h3 {
    font-size: clamp(16px, 3.8vw, 24px);  /* ← 最小16px、最大24px、画面幅で可変 */
    color: #fff;
    margin-bottom: 1em;
    line-height: 1.4;
  }

  /* === テキスト === 
  .venn-diagram p {
    font-size: clamp(13px, 3.2vw, 18px);  
    line-height: 1.8;
    color: #fff;
    width: 85%;
    margin: 0 auto;
  }*/
}

@media (max-width: 715px) {
.venn-diagram {
  position: relative;
  width: 440px;
  height: 343px;
  margin: 0 auto;
}
.venn-diagram .circle {
  position: absolute;
  width: 196px;
  height: 196px;
  }
    .venn-diagram h3 {
    font-size: clamp(13px, 3.8vw, 17px);  /* ← 最小16px、最大24px、画面幅で可変 */
    color: #fff;
    margin-bottom: 1em;
    line-height: 1.5;
  }
 }

 @media (max-width: 498px) {
.venn-diagram {
  position: relative;
  width: 308px;
  height: 240px;
  margin: 0 auto;
}
.venn-diagram .circle {
  position: absolute;
  width: 137px;
  height: 137px;
  }
    .venn-diagram h3 {
    font-size: clamp(10px, 3.8vw, 10px);  /* ← 最小16px、最大24px、画面幅で可変 */
    color: #fff;
    margin-bottom: 0;
    line-height: 1.5;
  }
 }

  @media (max-width: 380px) {
.venn-diagram {
  position: relative;
  width: 308px;
  height: 240px;
  margin: 0 auto;
}
    .venn-diagram h3 {
    font-size: 0.65em;
    color: #fff;
    margin-bottom: 0;
    line-height: 1.5;
  }
}
/*
@media (max-width: 420px) {
    .venn-diagram .circle {
        max-height: 400px;
        height:auto;
    }   
}
*/
/*ビックリマーク付きタイトル*/
.information-title-i {
  position: relative;
  padding-left: 55px; /* 画像の幅＋余白 */
  line-height: 1.4;
}

.information-title-i::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 45px;
  height: 45px;
  background-image: url('/wp-content/uploads/2025/10/mark.webp');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 767px) {
  .information-title-i::before {
  width: 30px;
  height: 30px;
  }
}
.pointno {
  /* position: relative; は削除 */
}

.pointno h3 {
  font-weight: bold;
  /* 1. 2文字字下げと番号の分のスペースを padding-left で確保 */
  padding-left: 40px; 
  /* 2. 1行目だけを padding-left の幅分、左にずらす */
  text-indent: -40px; 
  margin: 0;
}

.pointno span {
  font-size: 0.9em;
  padding: 2px 10px;
  color: #fff !important;
  background-color: #0F3649;
  /* 3. margin-right を使って、番号とテキストの間に必要なスペースを空ける */
  margin-right: 8px; 
  /* text-indentとpadding-leftで位置が調整されるため、position: absoluteは不要 */
}

/*タイトル、文章日左側にチェックマーク*/
.checkmbefore .et_pb_text_inner {
  position: relative;
  padding-left: clamp(80px, 12vw, 140px); /* 左に余白を確保（レスポンシブ対応） */
}

.checkmbefore .et_pb_text_inner::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(60px, 10vw, 120px); /* 画面幅に応じて自動縮小 */
  height: clamp(60px, 10vw, 120px);
  background-image: url("/wp-content/uploads/2025/10/checkmark.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%; /* 真円を維持 */
}


.tf-cols .et_pb_column{
  display: flex; 
  justify-content:space-between;
}
.tf-cols .tf-cols-child{
  justify-content: center; /* 横方向の中央揃え */
  align-items: center!important;    /* 縦方向の中央揃え */
}

@media screen and(max-width:480px){
  .tf-cols .tf-cols-child{
  width:100%;
  }
}

/*――――「表」デザイン――――*/

 .cform th {
	font-size: 90%;
	width: 25%;
	border: solid 1px #a9a9a9;
	vertical-align: middle;
	padding: 15px 0px 15px 15px;
	font-weight: 800;
	font-size: 100%;
	text-align: left;
}

.cform td {
	font-size: 100%;
	line-height: 200%;
	border: solid 1px #a9a9a9;
	padding: 10px 10px;
}
.cform td:first-child {
	border-top: solid 1px #5c5c5c;
}

.ftitle {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

/* CF7 テキストエリアの文字サイズを標準化 */
.wpcf7-textarea {
  font-size: 1rem;        /* 通常サイズ (16px基準) */
  line-height: 1.5;       /* 読みやすさ確保 */
  font-family: inherit;   /* サイト全体のフォントに合わせる */
}

/*―Contactform7カスタムCSS―――――*/

.cform {
	width: 94%;
	margin: auto;
}

/* 入力欄とテキストエリア共通 */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  width: 100%;
  max-width: 90%;     /* レイアウト幅に収める */
  font-size: 1.2em;
  line-height: 1.4;   /* 行間を確保して拡大時に文字が切れない */
  min-height: 2.5em;  /* 高さは文字サイズに応じて伸びる */
  box-sizing: border-box; /* padding・border込みで収まる */
}


@media only screen and (max-width:820px) {
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  max-width: 95%;     /* レイアウト幅に収める */
}
	.newsh h3 {
		font-size: 110%;
		text-align: left!important;
	}
	.cform th,
	.cform td {
		width: 97%;
		border: 1px solid #999;
		padding: .5em 1em;
		display: block;
		border-top: none;
	}
	.cform th {
		background: #dcdcdc;
	}
	.cform th p {
		text-align: center;
	}
	.stepBar .step {
		position: relative;
		float: left;
		display: inline-block;
		line-height: 60px;
		padding: 0 30px 0 15px;
		background-color: #eee;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin-bottom: 5px;
		font-size: 100%;
	}
	.stepBar .step:before,
	.stepBar .step:after {
		position: absolute;
		left: -15px;
		display: block;
		content: '';
		background-color: #eee;
		border-left: 4px solid #FFF;
		width: 40px;
		height: 30px;
	}
	/*stepbar2*/
	.stepBar2 .step {
		position: relative;
		float: left;
		display: inline-block;
		line-height: 60px;
		padding: 0 30px 0 15px;
		background-color: #eee;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin-bottom: 5px;
		font-size: 100%;
	}
	.stepBar2 .step:before,
	.stepBar2 .step:after {
		position: absolute;
		left: -15px;
		display: block;
		content: '';
		background-color: #eee;
		border-left: 4px solid #FFF;
		width: 40px;
		height: 30px;
	}
	.ftitle {
		display: flex;
		justify-content: center;
		align-items: center;
	}
}


/*――「送信ボタン」デザイン――*/

.submit-btn input {
	background-color: #2f3e96;
	border: 0;
	color: #ffffff;
	font-size: 1.3em;
	font-weight: bolder;
	margin: 0 auto;
	padding: 10px 35px;
	width: 450px;
	border-radius: 3px;
	cursor: pointer;
	text-align: center;
}

.submit-btn {
	text-align: center;
	margin-top: 20px;
	cursor: pointer;
}

.submit-btn input:hover {
	background: #dcdcdc;
	color: #000;
	cursor: pointer;
  border:1px solid #000;
  box-sizing: border-box;
}

input[ type=checkbox] {
	transform: scale(2.3);
	margin: 0 12px 0 5px;
}

.underline {
	text-decoration: underline;
}

.underline:hover {
	text-decoration: none;
}

@media only screen and (max-width:820px) {
	.mod_form2 h3 {
		font-size: 110%;
	}
	.submit-btn input {
		max-width: 450px;
	}
	.format-tel-field input {
		width: 30%;
	}
	.submit-btn input {
		width: auto;
	}
}

.wpcf7 p {
	font-weight: 700;
}


/*―――「必須」デザイン―――*/

.required-srt {
	font-size: 0.9em;
	padding: 3px 6px;
	font-weight: 700;
	margin: 0 10px;
	background: #2f3e96;
	color: #ffffff;
}

.required-srttop {
	font-size: 0.9em;
	font-weight: 700;
	padding: 3px 6px;
	margin-right: 5px;
	background: #2f3e96;
	color: #ffffff;
}

.js-mw-checkbox {
	font-weight: 600;
}

.js-mw-checkbox a {
	font-weight: 400;
	text-decoration: underline;
	text-decoration-color: #000080;
}

.dicblock {
	display: block;
}

/*Contactform7ここまでーーーーーーーーーーーーーーーー*/
/*ページ内遷移ヘッダーの高さ補正、移動先に設置する*/
.anchor {
  padding-top: 100px;
  margin-top: -100px;
}

#et_pb_text_11 {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: center; /* 水平方向の中央揃え (親要素で高さを指定している場合や、子要素pの高さを無視して直接中央寄せしたい場合に有効) */
    height: 100%; /* 親要素 (et_pb_text_11) の高さを確保 */
}
#et_pb_text_12 {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: center; /* 水平方向の中央揃え (親要素で高さを指定している場合や、子要素pの高さを無視して直接中央寄せしたい場合に有効) */
    height: 100%; /* 親要素 (et_pb_text_11) の高さを確保 */
}

/* 内部の<p>要素に対する調整 */
#et_pb_text_11 .et_pb_text_inner {
    width: 100%; /* et_pb_text_innerが全幅を占めるように */
    display: flex; /* これ自体もflexコンテナにして、内部のテキストを中央に寄せる */
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: center; /* 水平方向の中央揃え */
    /* **注意:** et_pb_text_innerの高さが、テキスト要素全体の高さになるように設計されている必要があります。 */
}

/* 既存のインラインスタイルを上書きし、水平方向の中央揃えを維持 */
#et_pb_text_11 .et_pb_text_inner p {
    text-align: center !important; /* 水平方向の中央揃えを確実に適用 */
    margin: 0; /* 上下のマージンをリセットして、天地中央を邪魔しないように */
    padding: 0; /* パディングもリセット */
    /* これら3行は、<p>要素がflexコンテナの子要素として配置される場合の保険です。*/
}

/* ------------------------------------------- */
/* Divi風タブスタイル */
/* ------------------------------------------- */

/* タブのコンテナ全体 */
.custom-tab-container {
    box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.12); /* Diviモジュール風のシャドウ */
    background: #fff;
    border-radius: 3px; /* 角丸 */
    overflow: hidden;
}

/* タブボタンエリア */
.tab-buttons {
    display: flex;
    border-bottom: 1px solid #ddd;
    background-color: #f7f7f7; /* Diviのタブヘッダーの背景色を模倣 */
}

/* タブボタンのスタイリング */
.tab-buttons button {
    flex-grow: 1; /* タブを均等な幅にする */
    background-color: transparent;
    border: none;
    padding: 15px 20px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    color: #444;
    transition: all 0.2s ease-in-out;
}

/* ホバー時のスタイル */
.tab-buttons button:hover:not(.active) {
    background-color: #ededed;
}

/* アクティブ（選択中）のタブのスタイリング */
.tab-buttons button.active {
    color: #2ea3f2; /* Diviのデフォルトの強調色 */
    box-shadow: inset 0 -3px 0 0 #2ea3f2; /* 下線でアクティブを強調 */
    background-color: #fff;
}

/* タブコンテンツエリア */
.tab-contents {
    padding: 20px;
    min-height: 200px; /* 見栄えのための最低限の高さ */
}

/* 非アクティブなタブコンテンツを非表示にする */
.tab-content {
    display: none;
}

/* アクティブなタブコンテンツを表示する */
.tab-content.active {
    display: block;
}

/*ブログ一覧モジュールカスタムcss*//* ========================================= */
/* ========================================= */
/* カスタム投稿タイプ 'blognews' の手動ブログ一覧用CSS */
/* ========================================= */

/* 1. 記事ごとの Flex コンテナ (左にサムネイル、右にコンテンツ) */
.custom-blognews-list .list-item {
    /* Flexboxでサムネイルとコンテンツを横並びに */
    display: flex;
    align-items: flex-start; /* 上端揃え */
    padding: 20px 0;
    border-bottom: 1px solid #eee; /* 区切り線 */
    margin-bottom: 0;
}

/* 最後の記事の下線を消す */
.custom-blognews-list .list-item:last-child {
    border-bottom: none;
}

/* 2. 左側: サムネイル (幅20%) */
.custom-blognews-list .item-thumbnail {
    flex: 0 0 20%; /* 幅20%固定 */
    margin-right: 20px;
}
.custom-blognews-list .item-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

/* 3. 右側: コンテンツラッパー (幅80%) */
.custom-blognews-list .item-content-wrapper {
    flex: 1 1 80%; /* 残り80%を占有 */
    position: relative;
}

/* 4. テキストコンテンツのスタイル (縦に並ぶ) */
.custom-blognews-list .item-meta { /* 日付 */
    font-size: 14px; 
    color: #999;
    margin-top: 0;
    margin-bottom: 5px;
}

.custom-blognews-list .item-title { /* タイトル */
    font-size: 18px; 
    margin-top: 0;
    margin-bottom: 10px;
}

.custom-blognews-list .item-excerpt { /* 抜粋 */
    margin-bottom: 5px;
}

/* 5. 「続きを読む」を右下に配置 */
.custom-blognews-list .item-more-link {
    float: right;
    clear: both; /* 上の要素の回り込みを解除 */
    display: block; 
    margin-top: 10px;
}

/* 6. モバイル対応 (767px以下で縦並びに戻す) */
@media all and (max-width: 767px) {
  .custom-blognews-list .item-title {
    /* タイトル */
    font-size: 16px; 
    margin-top: 0;
    margin-bottom: 10px;
    white-space: nowrap; /* テキストを折り返さないようにする */
    overflow: hidden;    /* はみ出たコンテンツを非表示にする */
    text-overflow: ellipsis; /* 非表示にしたテキストの代わりに省略記号を表示する */
}
    .custom-blognews-list .list-item {
        flex-direction: column; /* 縦並びに戻す */
        align-items: center; 
        padding-left: 10px; 
        padding-right: 10px;
        margin-bottom:30px;
    }
    .custom-blognews-list .item-thumbnail {
        flex: 0 0 100%; /* 幅を100%に */
        margin-right: 0;
        margin-bottom: 15px;
        text-align: center; 
    }
    .custom-blognews-list .item-content-wrapper {
        flex: 1 1 100%;
        width: 100%;
    }
    .custom-blognews-list .item-content-wrapper > * {
        text-align: left; /* テキストを中央寄せ */
    }
    .custom-blognews-list .item-more-link {
        float: none;
        text-align: right;
        width: 100%;
    }
}
/* ========================================= */
/* ページネーション用CSS */
/* ========================================= */

.custom-pagination-wrapper {
    /* 記事リストの float や flex をクリアし、中央に配置 */
    text-align: center;
    margin-top: 40px;
    clear: both;
}
.custom-pagination-wrapper ul {
    /* リスト（ページ番号）を横並びにする */
    display: inline-flex;
    list-style: none;
    padding: 0;
    margin: 0;
}
.custom-pagination-wrapper li {
    margin: 0 5px;
}
.custom-pagination-wrapper a,
.custom-pagination-wrapper span.current {
    /* 各ページ番号のスタイル */
    display: block;
    padding: 8px 12px;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #333;
    border-radius: 3px;
    min-width: 40px;
    transition: all 0.3s;
}
/* 現在表示中のページのスタイル */
.custom-pagination-wrapper span.current {
    background-color: #0073e6; 
    color: white;
    border-color: #0073e6;
    font-weight: bold;
}
.custom-pagination-wrapper a:hover {
    background-color: #f0f0f0;
}
/* ========================================= */
/* 🚀 トップレベルメニューのロードアニメーションを強制停止 (最終版) */
/* ========================================= */

/* メニューの要素が持つ可能性のある全てのアニメーションプロパティを無効化 */
#main-header .et-menu-nav,
#main-header .et-menu,
#main-header .et-menu > li,
#main-header .et-menu > li > a {
    /* 1. 全てのプロパティの変化時間をゼロにする（アニメーションの無効化） */
    transition: all 0s !important;
    animation: none !important;
    
    /* 2. サイズや位置の初期状態を通常に固定 */
    transform: none !important; 
    
    /* 3. フェードインを確実に止める */
    opacity: 1 !important; 
    
    /* 4. 文字サイズのアニメーションを無効化（サイズ固定） */
    font-size: inherit !important; 
}