@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
*/

/************************************
** 基本設定（PC表示：1024px以上）
************************************/
body{ background-color:#ffffff;}

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

#content{ 
	margin-top:-5px;
	margin-bottom: 0;
}
#content-in{margin:0 auto;}
#content::after{ display:none;}

#main{ padding:0;margin-bottom:0; border:none;}

/*　余白を設定する　*/
/* HOME */
.home .page .inner{
	width:1100px;
	margin:0 auto;
	padding:0 29px
}
/* 固定ﾍﾟｰｼﾞ */
.page:not(.home) #main{
	width:1100px;
	margin:0 auto;
	padding: 10px 10px 0 10px
}


/*投稿日を非表示にする*/
.page .post-date {
  display: none;
}

/*更新日を非表示にする*/
.page .post-update{
  display: none;
}

/*snsを非表示にする*/
.page .sns-follow,
.page .author-info{
    display: none;
}

/* PC表示時の画像設定 */
.pc-img { display: inline !important;}
.tab-img { display: none !important;}
.tab-smt { display: none !important;}
.smt-img { display: none !important;}

/************************************
** clearfix
************************************/
.clearfix {
  *zoom: 1; /* IE6-7対応 */
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* Cocoonテーマ用の追加 */
.cf::after {
  content: "";
  display: table;
  clear: both;
}

/************************************
** margin / padding
************************************/
.mt10{ margin-top:10px;}
.mt30{ margin-top:30px!important;}
.mt50{ margin-top:50px;}
.mt100{ margin-top:100px!important;}
.mt-100{ margin-top:-100px!important;}


.mb0{ margin-bottom:0px!important;}
.mb15{ margin-bottom:15px;}
.mb30{ margin-bottom:30px!important;}
.mb40{ margin-bottom:40px!important;}
.mb50{ margin-bottom:50px!important;}
.mb100{ margin-bottom:100px!important;}


.mr0{margin-right:0!important;}
.mr10{margin-right:10px!important;}
.mr40{margin-right:40px!important;}

.ml80{margin-left:80px!important;}

.pt10{ padding-top:10px;}
.pt100{ padding-top:100px;}

/************************************
** Font
************************************/
.fss{font-size:60%;}
.fs{font-size:80%!important;}
.fm{font-size:120%;}
.fl{font-size:140%;}
.fll{font-size:180%;}
.fbig{ font-size:250%;}

.bold{ font-weight:bold; }
.uline{ text-decoration:underline;}
.line{ border-bottom:1px solid #a2a2a2; padding-bottom:7px;}
.marker-blue{
  background: linear-gradient(transparent 60%, #c2e5fb 60%);
  font-weight: bold;
  display: inline;
}
.marker-y {
    background: linear-gradient(transparent 30%, #fff871 30%, #fff871 85%, transparent 85%);
    display: inline;
    padding: 0 2px;
}

.underline {
  display: inline-block; /* 必須 */
  padding-bottom: 10px;  /* 文字と線の間に余白 */
  border-bottom: 2px solid #ffffff; /* アンダーラインの代わり */
}
.border-dotte{ border-bottom:4px dotted #c6c2b2; padding-bottom:5px;}


.red{ color:#e02051;}
.white{ color:#ffffff!important;}
.green{ color:#00451e;}
.orange{color:#f18200;}
.blue{color: #154e9f;}
.brown{color:#522e16;}
.yellow{color:#ffe55f;}

.mincho{font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}

.fuchidori {
  color: #000;
  -webkit-text-stroke: 1px #FFF;
  text-stroke: 1px #FFF;
}

.center{ text-align:center!important;}
.right{ text-align:right!important;}
.left{ text-align:left!important;}


/* スマホの時だけ改行させるクラス */
@media screen and (max-width: 600px){
  .pc{
    display: none;
  }
}
@media screen and (min-width: 600px){
  .sp{
    display: none;
  }
}

.br-sp {
	display: block;
}

@media (max-width: 600px) {
    .br-sp {
    display: none;
    }
}

/************************************
** タイトルスタイル
************************************/
h1.entry-title,
h1.archive-title{
  position: relative;
	text-align:center;
	font-size:1.6em;
	font-weight:bold;
	margin-top:20px;
	margin-bottom:50px;
border-bottom:none;	
}
h1.entry-title::before,
h1.archive-title::before{
  content: '';
  width: 60px;
  height: 5px;
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
bottom: -20px;
  background-color: #f6aaaa;
	border-radius:10px;
}
.archive-title span { display:none;}


.article h2 {
  background-color: transparent !important;
}

.article h2.ti02{ font-size:1.6em; font-weight:bold;text-align:center;}

.article h3 {
  border: none!important;
padding:0;
}

/************************************
** リストスタイル
************************************/
.chk-list {
  list-style: none;
  padding: 0;
  margin: 0 auto 30px;
  text-align: left;
}

.chk-list li {
  font-size: 1rem;
  color: #e65050;
  margin-bottom: 20px;
  line-height: 1.5;
  padding-left: 35px;
  background: url("images/icon-chk.png") no-repeat left center;
  background-size: 20px 20px;
font-weight:bold;
}
@media (max-width: 600px) {
.chk-list{ padding-left:0!important;}
}
.boxwhite{ background-color:#ffffff; padding:20px; }

/************************************
** ヘッダー基本設定
************************************/
/* ヘッダー全体の設定 */
header { 
    margin: 0 auto 0 auto;
}

/* ヘッダー内側コンテナ（幅制限） */
#header-in { 
    width: 1200px; 
    margin: 0 auto;
}

/* ヘッダーコンテナ（背景・高さ・配置） */
.header-container { 
    margin: 0 auto;
    background-color: #ffffff;
    position: relative;
}

.header-widget-custom-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 5%;
  flex-wrap: wrap;
  background: #ffffff;
}

.header-left,
.header-center,
.header-right {
  text-align: center;
}

.header-left {
  width: 25%;
  text-align: left;
  font-size: 14px;
  line-height: 1.6;
}

.header-center {
  width: 50%;
}

.header-right {
  width: 25%;
  text-align: right;
}

.header-logo {
  max-height: 80px;
  height: auto;
}

.counseling-button {
  max-height: 60px;
  height: auto;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .header-widget-custom-wrapper {
    flex-direction: column;
    text-align: center;
	padding-bottom:0!important;
	display:none;  
  }

  .header-left,
  .header-center,
  .header-right {
    width: 100%;
    margin-bottom: 10px;
  }
.header-left {font-size:10px;}
.header-center {text-align:left;}
.header-right {display:none;}

	
  .counseling-button {
    margin: 0 auto;
  }
}

/* ヘッダー内側コンテナ（幅制限） */
.logo-text {
  display: none !important;
}

.site-logo-image{display:none;}

/************************************
** ヘッダーNAVI
************************************/
.menu-pc{}
.menu-mobile{ display:none!important;}

.header-menu {
    display: block !important;
    visibility: visible !important;
}

/* ナビ全体調整 */
#navi ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 0 10px 0;
  list-style: none;
}

/* 各メニュー項目 */
#navi ul li {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 5px 10px;
  font-size: 12px; /* ← 全体をコンパクトに */
  position: relative;
}
.navi-in > ul li { width:150px;}

/* 日本語リンク */
#navi ul li a {
  font-size: 13px;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  position: relative;
  text-align: center;
  line-height: 1.2;
}

/* 英字タイトルを下に表示（説明） */
#navi ul li a .sub-caption{
color: #f6aaaa;
font-weight:bold;
}

/* 区切り線（任意） */
#navi ul li:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 30%;
  height: 40%;
  width: 1px;
  background-color: #ddd;
}
/* 無料カウンセリングメニューから非表示にする */	
.header-container #menu-item-18 {
    display: none;
}
/************************************
** 特別なヘッダーメニュー項目（CTA等）
************************************/
/* お客様の声（menu-item-703）※PCでは非表示 */
.header-container #menu-h-menu #menu-item-703,
.header-container #menu-h-menu-1 #menu-item-703,
.fixed-header #menu-h-menu #menu-item-703,
.fixed-header #menu-h-menu-1 #menu-item-703{display:none;}

/* 無料相談（menu-item-18）※固定ヘッダーのみ表示 */
.header-container #menu-h-menu #menu-item-18,
.header-container #menu-h-menu-1 #menu-item-18{display:none;}

.fixed-header #menu-h-menu #menu-item-18,
.fixed-header #menu-h-menu-1 #menu-item-18{display:block;}

.fixed-header #menu-h-menu #menu-item-18,
.fixed-header #menu-h-menu-1 #menu-item-18{ width:200px;margin-right:10px; position:relative;top:-20px;}
.fixed-header #menu-h-menu #menu-item-18 a,
.fixed-header #menu-h-menu-1 #menu-item-18 a{background-image: url('images/h-counseling.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -9999px; /* テキストを非表示 */
    overflow: hidden;
    display: block;
    width: 180px; 
    height: 65px;
	min-height:90%;
}

/************************************
** 固定ヘッダー
************************************/
/* 固定ヘッダーの基本設定 */
.fixed-header { 
    height: 85px; 
    background-color: #ffffff !important;
    width: 100% !important;
}

/* 固定ヘッダー内のメニュー項目幅調整 */
.fixed-header #menu-h-menu li,
.fixed-header #menu-h-menu-1 li {
    width: 120px!important;
}
.fixed-header #menu-h-menu li#menu-item-18,
.fixed-header #menu-h-menu-1 li#menu-item-18 { width:180px!important;}

/* 固定ヘッダーのナビゲーション背景 */
.fixed-header #nav {
    background-color: #ffffff; 
    padding-bottom: 0 !important;
}

/* 固定ヘッダー内のナビゲーション配置 */
.fixed-header #navi .navi-in {
    position: absolute;
    right: 0;
	top:20px;
	box-shadow: none;
    border: none;
}

/* 固定ヘッダー内のロゴ配置調整 */
.fixed-header .logo { 
    position: absolute;
    top: 10px;
    left: 0; 
}

/* 固定ヘッダー内のロゴサイズ調整 */
.fixed-header .cl-slim .logo-header img { 
    max-height: 60px;
}

/* 固定ヘッダー内のメニューリンク色調整 */
.fixed-header #menu-h-menu .navi-in a,
.fixed-header #menu-h-menu-1 .navi-in a  {
    color: #012351; 
    background-color: transparent;
}

/* 固定ヘッダー内のメニューホバー効果 */
.fixed-header #menu-h-menu li a:hover,
.fixed-header #menu-h-menu-1 li a:hover{
    opacity: 0.6;
} 

/* 固定ヘッダーのサブメニュー非表示 */
.fixed-header .h-submenu { 
    display: none;
}

/* 固定ヘッダーのサブメニュー画像調整 */
.fixed-header .h-submenu img.pc-img { 
    max-width: 95%;
} 

/* 固定ヘッダーのサブメニュー項目調整 */
.fixed-header .header-container-in.hlt-top-menu .h-submenu li { 
    padding-top: 10px;
}

.fixed-header .header-container-in.hlt-top-menu .h-submenu li::marker {
    display: none;
}

/* 固定ヘッダー内のメニューラベルスタイル */
.fixed-header .header-container-in.hlt-top-menu .navi-in .item-label { 
    font-size: 11px; 
    color: #414141; 
    font-weight: bold;
}

/************************************
** footer
************************************/
.footer{ margin-top:0;}
#navi-footer-in li a{ background-color:none;}

/************************************
** HOME
************************************/
.home .article{ margin-bottom:0;}
.home section{ padding:50px 0;}

.home #content{
	max-width:100%;
	margin:0 auto;
	padding:0;
}

/* main */
.home #main-image{ 
	background: transparent url(images/bg-main.jpg) center top repeat;
	min-height:550px;
}	

.home #main-image p{
    margin: 0 auto;
	width:1200px;
	padding-top:50px;
}

/* トップページはタイトル非表示とする */
.home .entry-title { display: none;}
.home .entry-content{ margin-top:0;}
.home .entry-content section{ margin-bottom:0!important;}


/* sec01 */
.sec01 { padding-bottom:30px;}
.sec01 h2.ti02{
	border-top:2px solid #404040;
	border-bottom:2px solid #404040;
	padding-top:20px;
	padding-bottom:20px;
	text-align:center;
	color:#404040;
	font-size:1.2em;
	min-width:1000px;
	margin-bottom:30px;
}


/* sec02 */
.sec02 {
width: 100%;
overflow: hidden;
background:#fff2f1!important;
position: relative;
padding-top:0!important;
margin-bottom:0!important;
}

        .loop_wrap {
            display: flex;
            width: 200%; /* 2つの画像を並べるため */
            animation: slide 30s linear infinite;
        }

        .loop_wrap img {
            width: 100%; /* 各画像が全体の100%を占める */
            height: 100%;
            object-fit: contain;
            flex-shrink: 0;
            background: white;
            display: block; /* 画像間の隙間を完全に除去 */
        }

        @keyframes slide {
            0% {
                transform: translateX(0);
            }
            100% {
                transform: translateX(-50%); /* 一つの画像分だけ移動 */
            }
        }

        /* レスポンシブ対応 */
        @media (max-width: 768px) {
            .loop_wrap {
                animation-duration: 20s;
            }
        }

        @media (max-width: 480px) {
            .loop_wrap {
                animation-duration: 15s;
				margin-top: 30px;
				margin-bottom: 50px;
		
		
            }
    .loop_wrap img {
        transform: scale(2);
        transform-origin: center center;
    }
        }

.sec02 .ti02 {
  font-weight: bold;
  font-size: 20px;
  color: #404040;
  text-align: center;
  padding: 20px 10px;
margin-top:30px;
margin-bottom:20px!important;
  position: relative;
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
}

.ti02 .ti02-em {
  color: #e44343; /* 赤系の強調色 */

}
.ti02 .ti02-line {
  color: #404040;
  margin: 0 5px;
}

@media only screen and (max-width: 840px) {
.sec01 h2.ti02{ min-width:100%;}
.sec02 h2.ti02{ font-size:20px;}	
}

/* sec03 */
.sec03{background-color:#e7f6fe; padding-top:50px; padding-bottom:0!important;}
.sec03 .ti02{ text-align:center;font-size:1.8em!important;}
.sec03 .ti02 .blue{ color:#3e6da5; text-decoration:underline; }

@media only screen and (max-width: 768px) {
.sec03 h2.ti02{ font-size:1.4em!important; padding:0.6em;}
}

/* sec04 */
.sec04 {
  background-color: #f9f5ed; /* 背景色（画像と同系色） */
  padding: 40px 20px;
  text-align: center;
}

.sec04 h2.ti02 {
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #333;
    background-color: white;
    color: #333;
    font-weight: bold;
    font-size: 26px;
}

.sec04 h2.ti02:before {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) skew(-25deg);
    height: 20px;
    width: 10px;
    border-right: 2px solid #333;
    background-color: #f9f5ed;
    content: "";
}

/* profile */
.box-profile {
max-width: 1000px;	
  margin: 0 auto 30px auto;
  border: 2px solid #f2f2f2;
  padding: 30px;
  box-sizing: border-box;
  text-align: center;
  background: #fff;
  position: relative;
}

.profile-title {
  background: #fddede;
  color: #444;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.2em;
  padding: 5px 20px;
  border-radius: 4px;
  position: absolute;
  top: -20px;
  left: 20px;
 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.profile-text {
  font-size: 14px;
  line-height: 2;
  color: #333;
  text-align: left;
  margin-bottom: 30px;
}

.profile-btn {
  display: inline-block;
  font-size: 16px;
  padding: 12px 30px;
  border-radius: 30px;
    background-color: #fcecec;
  color: #444;
  border: 1px solid #ddd;
  text-decoration: none;
  position: relative;
  transition: all 0.3s ease;
}

.profile-btn::after {
  content: '';
  background: url('images/icon-arrow.png') no-repeat center center;
  background-size: 20px 20px;
  width: 30px;
  height: 30px;
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
}

.profile-btn:hover {
  background-color: #ffffff;
  color: #000;
}

.profile-btn2 { background-color:#fff!important;}
.profile-btn2:hover { background-color: #fcecec!important;}


/* レスポンシブ対応 */
@media (max-width: 600px) {
	.box-profile { max-width:100%;}	
  .profile-text {
    font-size: 13px;
  }

  .profile-btn {
    font-size: 14px;
    padding: 10px 20px;
  }
}


/*  sec05 */

.sec05{
  display: flex;
  justify-content: center;
  align-items: center;	
}

.sec05 .ti02 {
  display: flex;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
  color: #66cce6;
  text-align: center;
  gap: 20px;
}

/* 横線部分 */
.sec05 .ti02::before,
.sec05 .ti02::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #66cce6;
}

/* レスポンシブ対応 */
@media (max-width: 600px) {
  .sec05 .ti02 {
    font-size: 16px;
    gap: 12px;
  }
}

/*   sec06  */
.sec06{ 
	background: #54647d url(images/bg-sec06.png) left top repeat-x;
	text-align: center;
	  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5em 1em;
  text-align: center;
  position: relative;
margin: 0 auto 80px auto!important;
}

.sec06 p{ color:#ffffff; text-align:center!important;}


.sec06 h2.ti02 {
  color: white;
  font-size: 1.4rem;
  font-weight: bold;
  margin: 0;
  position: relative;
  display: inline-block;
  padding: 0 1em;
}

/* 左上 */
.sec06 .ti02::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -20px;
  width: 15px;
  height: 15px;
  border: 2px solid #b7e2f0;
  border-right: none;
  border-bottom: none;
}

/* 右上 */
.sec06 .ti02::after {
  content: "";
  position: absolute;
  top: -10px;
  right: -20px;
  width: 15px;
  height: 15px;
  border: 2px solid #b7e2f0;
  border-left: none;
  border-bottom: none;
}

/* 左下 */
.sec06 .ti02 span::before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: -20px;
  width: 15px;
  height: 15px;
  border: 2px solid #b7e2f0;
  border-right: none;
  border-top: none;
}

/* 右下 */
.sec06 .ti02 span::after {
  content: "";
  position: absolute;
  bottom: -10px;
  right: -20px;
  width: 15px;
  height: 15px;
  border: 2px solid #b7e2f0;
  border-left: none;
  border-top: none;
}

.sec06-message {
  background: #fff;
  position: relative;
  padding: 60px 20px 40px;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  font-family: "Helvetica Neue", sans-serif;
}

/* V字くぼみを疑似要素で再現 */
.sec06-message::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 30px;
  background: #55657e;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.sec06-message h2 {
  color: #47b2de;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.sec06-message .lead {
  font-size: 1rem;
  color: #333;
  margin-bottom: 30px;
  line-height: 1.6;
}

.voice-list {
  list-style: none;
  padding: 0;
  margin: 0 auto 30px;
  text-align: left;
max-width: 500px;
}

.voice-list li {
  font-size: 1rem;
  color: #e65050;
  margin-bottom: 20px;
  line-height: 1.5;
  padding-left: 35px;
  background: url("images/icon-chk.png") no-repeat left center;
  background-size: 20px 20px;
font-weight:bold;
}

.sec06-message .note {
  font-size: 1rem;
  color: #444;
  margin-bottom: 10px;
}

.sec06-message .reason {
  font-size: 0.95rem;
  color: #222;
}

/* Responsive */
@media (max-width: 600px) {
	.sec06{padding-top:20px!important;}
  .sec06-message h2 {
    font-size: 1.4rem;
  }

  .voice-list li {
    font-size: 0.95rem;
    padding-left: 30px;
    background-size: 18px 18px;
  }

  .sec06-message .lead,
  .sec06-message .note,
  .sec06-message .reason {
    font-size: 0.9rem;
  }
}

/*   sec07  */
.sec07{ background: #fff2f0 url(images/bg-sec07.jpg) center top repeat-x;text-align:center;}

.sec07 .ti02 {
  font-weight: bold;
  font-size: 20px;
  color: #404040;
  text-align: center;
  padding: 20px 10px;
　margin-top:30px;
  position: relative;
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
}

.sec07 .ti03 {
            display: inline-block;
            position: relative;
            padding: 16px 30px;
            border:3px solid #e44343!important;
            border-radius: 40px;
            font-size: 1.3rem;
            font-weight: bold;
            color: #333;
            background: #fff;
            line-height: 1.6;
            text-align: center;
            /* 薄い赤のシャドウ効果 */
            box-shadow: 
                0 4px 12px rgba(228, 67, 67, 0.2),
                0 2px 6px rgba(228, 67, 67, 0.15),
                0 0 0 1px rgba(228, 67, 67, 0.1) inset;
            /* より立体的な効果 */
            transform: translateZ(0);
            transition: all 0.3s ease;
        }
        
        /* 吹き出しの下の三角部分 - 赤い境界線付き */
        .sec07 .ti03::before,
        .sec07 .ti03::after {
            content: "";
            position: absolute;
            bottom: -15px;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 0;
        }
        
/* 外側の三角（赤い境界線） */
.sec07 .ti03::before {
            border-left: 12px solid transparent;
            border-right: 12px solid transparent;
            border-top: 15px solid #e44343;
            z-index: 1;
}
        
/* 内側の三角（白い背景） */
        .sec07 .ti03::after {
            border-left: 9px solid transparent;
            border-right: 9px solid transparent;
            border-top: 12px solid #fff;
            bottom: -11px;
            z-index: 2;
            /* 三角部分にもシャドウ */
            filter: drop-shadow(0 2px 4px rgba(228, 67, 67, 0.15));
}
.boxsec07{ background-color:#ffffff; padding:30px 20px; border:1px solid #efefef; margin-bottom:30px;}
        
.boxsec07 dt{ margin-bottom:30px;}
.boxsec07 dd{ text-align:left;}
.boxsec07 dd.text{ padding:0 150px;}

        /* レスポンシブ対応 */
        @media (max-width: 600px) {
            .sec07 .ti03 {
                font-size: 1.1rem;
                padding: 14px 24px;
                border-width: 2px;
            }
            .sec07 .ti03::before {
                border-left-width: 10px;
                border-right-width: 10px;
                border-top-width: 12px;
                bottom: -12px;
            }
            .sec07 .ti03::after {
                border-left-width: 8px;
                border-right-width: 8px;
                border-top-width: 10px;
                bottom: -10px;
            }
.boxsec07 dd{ margin-left:0!important;}			
.boxsec07 dd.text{ margin-left:0;padding:0 20px;}			
        }
        
        @media (max-width: 400px) {
            .sec07 .ti03 {
                font-size: 1rem;
                padding: 12px 20px;
            }
            .sec07 .ti03::before {
                border-left-width: 9px;
                border-right-width: 9px;
                border-top-width: 11px;
                bottom: -11px;
            }
            .sec07 .ti03::after {
                border-left-width: 7px;
                border-right-width: 7px;
                border-top-width: 9px;
                bottom: -9px;
            }
        }


/*   sec08  */
.sec08 {
  width: 100%;
  overflow: hidden;
  position: relative;
padding-top: 0 !important;}

.sec08 h2.ti02{margin-bottom:20px;}

.sec08-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sec08-list li {
  background: #fff0f0;
  border: 2px solid #f6cccc;
  border-radius: 40px;
  padding: 1em 1.5em 1em 3.5em;
margin: 1em 0 1.2em 0!important;
  position: relative;
  font-size: 1.2em;
  line-height: 1.6;
  color: #333;
  word-wrap: break-word;
}

.sec08-list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1em;
  transform: translateY(-50%);
  background-image: url('images/icon-sec08.png'); /* ←画像のパス */
  background-size: cover;
  width: 32px;
  height: 32px;
}

@media screen and (max-width: 600px) {
  .sec08-list li {
    font-size: 0.95rem;
    padding-left: 3em;
  }

  .sec08-list li::before {
    width: 28px;
    height: 28px;
    left: 0.7em;
  }
}

/*   sec09  */
.sec09{ background-color:#fff9f0;text-align:center;}

.sec09 h2.ti02 {
 background: #fff2f0 url(images/img-sec09.png) left bottom no-repeat;
	padding-top:100px;
	text-align:left;
/*    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #333;
    background-color: white;
    color: #333;
    font-weight: bold;
    font-size: 26px;
	display: inline-block;
  margin: 0 auto;*/
}

.sec09 h2.ti02:before {
 /*   position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) skew(-25deg);
    height: 20px;
    width: 10px;
    border-right: 2px solid #333;
    background-color: #f9f5ed;
    content: "";*/
}
.sec09-box {
 padding: 2rem;
  position: relative;
	margin-top:50px;
 background-image: url("images/icon-sec09.png");
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 100px auto;
	text-align:left;
}	

.ti-chigai{
  display: inline-block;
  background-color: #ffe6e6;
  color: #333;
  font-weight: bold;
  font-size: 1rem;
  padding:0.5em 1.8em!important;
  border-radius: 30px!important;
  margin-bottom: 1rem;
}

.sec09-title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.sec09-title span {
  background: linear-gradient(transparent 60%, #fff176 60%);
  font-weight: bold;
}

.sec09-point {
  font-weight: bold;
  margin-top: 1rem;
}

.sec09-point.red {
  color: #e53935;
}

@media screen and (max-width: 768px) {
.sec09 h2.ti02{
padding-top:0;
background-image:url(images/img-sec09.png);
background-position:center bottom;
background-repeat:no-repeat;
background-size:contain;
}
	
  .sec09-box {
	margin-top:10px; 
	padding-bottom:0;
   flex-direction: column;
  }

  .sec09-left, .sec09-right {
    max-width: 100%;
  }

  .sec09-right {
    background-position: top right;
    background-size: 80px auto;
    margin-top: 1.5rem;
  }
}

/*   まずは 、無料カウンセリング　 */
.seccounseling {text-align:center;}

.seccounseling h2.ti02 {
    position: relative;
    padding-bottom: 10px;
    border-bottom: 2px solid #333;
    background-color: white;
    color: #333;
    font-weight: bold;
    font-size: 26px;
	display: inline-block;
  margin: 0 auto 30px auto;
}

.seccounseling h2.ti02:before {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) skew(-25deg);
    height: 20px;
    width: 10px;
    border-right: 2px solid #333;
    background-color: #f9f5ed;
    content: "";
}

/*   sec10　 */
.sec10 {
  padding: 2rem 1rem;
  background-color: #fff;
}

.qa-title {
  text-align: center;
  font-size: 2rem;
  color: #6dc6e8;
  position: relative;
   margin: 0 auto 2rem auto;
  font-weight: bold;
	max-width:300px;
}

.qa-title::before,
.qa-title::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 90px;
  height: 2px;
  background-color: #6dc6e8;
}

.qa-title::before {
  left: 0;
  transform: translateY(-50%);
}

.qa-title::after {
  right: 0;
  transform: translateY(-50%);
}

@media (max-width: 600px) {
.sec10 {padding:0!important;}	
  .qa-title::before,
  .qa-title::after {
    width: 40px;
  }
}

.sec10 dl {
  margin-bottom: 2rem;
  overflow: hidden;
  background-color: #fff;
}

.sec10 dt {
  background-color: #fdd3d4;
  padding: 1rem;
  font-weight: bold;
  font-size: 1.1rem;
  position: relative;
  padding-left: 3.5rem; /* アイコン分のスペース確保 */
}

/* 新規追加 */
.sec10 dt::before {
  content: '';
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
background-image: url('images/icon-q.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.sec10 dt span{ color:#ffffff; font-size:1em; font-weight:bold;}

.sec10 dd {
  background-color: #fff;
  padding: 1rem;
  color: #333;
  margin: 0;
  line-height: 1.6;
  /* 追加した部分 */
  position: relative;
  padding-left: 3.5rem; /* アイコン分のスペース確保 */
}

/* 新規追加 */
.sec10 dd::before {
  content: '';
  position: absolute;
  left: 1rem;
  top: 1rem;
  width: 24px;
  height: 24px;
  background-image: url('images/icon-a.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.sec10 dd span{color:#e44343;font-weight:bold;}

.seclast{
  background-color:#ffffff;
  background-image: url("images/bg-last.png");
  background-repeat: no-repeat;
  background-position: bottom center;
	text-align:center;
}

/* sns Icon */
.snsicon {
  display: flex;
  justify-content: center; /* 横中央揃え */
  align-items: center;     /* 縦中央揃え（必要に応じて） */
  list-style: none;        /* リストマーカーを消す */
  padding: 0;
  margin: 20px 0;          /* 上下の余白調整（お好みで） */
}

.snsicon li {
  margin: 0 10px; /* 各アイコンの間隔 */
	list-style:none;
}

.snsicon img {
  width: 40px;    /* アイコンの大きさ調整（必要に応じて変更） */
  height: auto;
}

/************************************
** お問い合わせ
************************************/
 .box_con {
          max-width: 1100px;
          margin: 0  auto;
        }
        @media only screen and (max-width: 768px) {
          .box_con {
            width: 95%!important;
          }
        }
        .box_con form {
          width: 100%;
        }
        .box_con form table {
          width: 100%;
        }
        .box_con form table tr {
          position: relative;
        }
        .box_con form table tr:after {
          content: "";
          position: absolute;
          width: 100%;
          left: 0;
          bottom: 0;
          height: 1px;
        }

        .box_con form table tr th {
          width: 30%;
          font-weight: normal;
          padding: 1em .5em;
          box-sizing: border-box;
          text-align:left;
        }

        .submit-button {
            box-sizing: border-box;
            position: relative;
            display: inline-block;
            margin: 30px auto 0;
            background-color: #e4eeef;
            cursor: pointer;
            border: 1px solid #e4eeef;
            color: #000;
            text-align: center;
            text-decoration: none;
            line-height: 1.5;
            outline: none;
            transition: all .5s;
            padding: 20px 100px;
        }
         
        .submit-button:hover {
            background: #cae1e3;
            color: #000;
            border: 1px solid #cae1e3;
        }

        .boxBtn{
            position:relative;
            height: 50px;
            text-align:center;
        }

        .box_con input[type=submit]{
            width:50%;
        }
         
        @media only screen and (max-width: 768px) {
          .box_con form table tr th {
             width: 100%;
            display: block;
            background: #f5f6f7;
            padding: .8em 1.5em;
			vertical-align: top;  
          }
        }
        .box_con form table tr th span {
          border-radius: 6px;
          margin-right: 8px;
          padding-top: 3px;
          padding-bottom: 3px;
          width: 48px;
          display: inline-block;
          text-align: center;
          background: #cd6f55;
          color: #fff;
          font-size: 14px;	
        }
        .box_con form table tr th span.optional {background-color:#0e5b99;}

        .box_con form table tr td {
          padding: 1em .5em;
          box-sizing: border-box;
        }
        @media only screen and (max-width: 768px) {
          .box_con form table tr td {
            padding: 1.5em .5em;
            display: block;
            width: 100%;
            text-align:center;
          }
          .box_con form table tr td.koumoku{ padding-left:20px;text-align:left;}	
        }
        .box_con form table tr .box_br {
          display: block;
        }

        .box_con form table tr .radio02-input + label {
           margin-right: 20px;
          position: relative;
        }
        .box_con form table tr input, .box_con form table tr textarea {
          padding: .5em;
          box-sizing: border-box;
        }
        .box_con form table tr textarea {
          width:100%!important;
          height:100px!important;
        }
        
        .table01 {
            width: 100%;
            border-collapse: collapse;
        }
.reservation-datetime {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.reservation-datetime select,
.reservation-datetime input[type="time"] {
  max-width: 200px;
  width: 100%;
}
/************************************
**　投稿ページ
************************************/
.single #main{max-width:1100px; margin:0 auto;}

/************************************
**　投稿カテゴリページ
************************************/
/* カードを3カラムにする */
.list {
	max-width:1100px;
	margin:0 auto;
}

/* 各カード全体 */
.entry-card-wrap {
  display: block;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
  text-decoration: none;
  color: inherit;
}

/* ホバー効果 */
.entry-card-wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}

/* 画像部分 */
.entry-card-thumb {
  position: relative;
  overflow: hidden;
}

.entry-card-thumb img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.4s ease;
}

.entry-card-wrap:hover .entry-card-thumb img {
  transform: scale(1.1);
}

/* カテゴリラベル */
.entry-card-thumb .cat-label {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #ca7597;
  color: #fff;
  font-size: 0.6em;
  padding: 4px 8px;
  border-radius: 4px;
}

/* コンテンツ部分 */
.entry-card-content {
  padding: 16px;
}

/* タイトル */
.entry-card-title {
  font-size: 1.1em;
  margin: 0 0 8px;
  font-weight: 600;
  line-height: 1.4;
}

/* スニペット */
.entry-card-snippet {
  font-size: 0.9em;
  color: #555;
  margin: 0 0 12px;
}

/* メタ情報 */
.entry-card-meta {
  font-size: 0.8em;
  color: #888;
  display: flex;
  justify-content: space-between;
}

/* 日付アイコンとテキスト */
.entry-card-meta .fa {
  margin-right: 4px;
}

/* モバイル対応 */
@media (max-width: 600px) {
  .list {
    grid-template-columns: 1fr;
  }
}



/************************************
**　レスポンシブ対応 (1100px以下 - タブレット横向き)
************************************/
@media screen and (max-width: 1100px) {
	
.home .page .inner{
	width:100%;
	margin:0 auto;
	padding:0 10px;	
}
	
.page:not(.home) #main{
	width:100%;
	margin:0 auto;
}		

/* main */
.home #main-image p{
width:100%;
min-height:500px;
text-align:center;}
	
/************************************
** ヘッダー
************************************/
/* ヘッダーコンテナの幅・配置調整 */
    #header-container-in { 
        width: 100%; 
        position: relative; 
 }
    
    /* ヘッダーコンテナの余白調整 */
    #header-container {
        padding-top: 5px;
        padding-bottom: 10px;
    }

.header-left{ font-size:12px;}
	
.menu-button .fa::before {
	content: "\f0c9"!important; /* Font Awesomeのハンバーガーアイコン（fa-bars） */
	font-size: 1.6em !important;
    color: #ffcbcb;
}

	
    /* ロゴ位置調整 */
    .logo {
        position: absolute;
        top: 0px;
        left: 0;
    }
	
/* メニューサイズ調整 */
#menu-h-menu li,
#menu-h-menu-1 li{ width: 115px!important; }
#menu-h-menu li#menu-item-13,
#menu-h-menu-1 li#menu-item-13{ width: 140px!important; }
	
/* 無料カウンセリングメニューから非表示にする */	
.header-container #menu-h-menu #menu-item-18{
    display: none;
}	
	
/* 固定ヘッダーナビゲーション位置調整 */
	.fixed-header #navi .navi-in {
        position: absolute;
        left: 20px !important;
        top: 10px;
    }
    
    /* 固定ヘッダーメニューラベルサイズ調整 */
    .fixed-header .header-container-in.hlt-top-menu .navi-in .item-label { 
        font-size: 0.8em !important;
    }
    
    /* 固定ヘッダーロゴ位置調整 */
    .fixed-header .logo { 
        position: absolute;
        top: 10px;
        left: 0; 
    }
	
.fixed-header #menu-h-menu-1 li{width:100px!important;}
    
    /* 固定ヘッダーサブメニュー配置調整 */
    .fixed-header .h-submenu {
        width: 340px;
        position: absolute;
        top: -10px;
        left: 750px;
        margin-top: 0 !important;
    }
    
    /* 固定ヘッダーサブメニュー項目幅調整 */
    .fixed-header .h-submenu li { max-width: 100px; }
    .fixed-header .h-submenu li#menu-item-13{ width: 140px!important; }
	
/************************************
** Tittle
************************************/	

h1.entry-title, h1.archive-title{ margin:50px 0;}	
	
/************************************
** 			投稿ページ
************************************/		
.single	.entry-content{ padding:10px;}
}


/************************************
** タブレット表示（841px以上1023px以下）
************************************/
@media screen and (min-width: 841px) and (max-width: 1023px) {
	 .fixed-header #menu-h-menu li,
	 .fixed-header #menu-h-menu-1 li  {
        width: 70px!important; /* 幅を狭く */
        padding: 10px 2px 0 2px;
    }
    
    .fixed-header #menu-h-menu li#menu-item-18,
    .fixed-header #menu-h-menu-1 li#menu-item-18{
        width: 100px; /* 特別項目も調整 */
    }	
	
    /* タブレット用画像切り替え */
    .pc-img { display: none !important;}
    .tab-img { display: inline !important;}
    .tab-smt { display: inline !important;}
    .smt-img { display: none !important;}
}

/********************************************************************
** レスポンシブ対応 (1023px以下 - タブレット縦向き・モバイル切り替え)
*********************************************************************/

/************************************
** ヘッダー
************************************/
@media screen and (max-width: 1023px) {
/* ヘッダーをモバイルメニューに切り替え */
#header-container {
        padding-top: 15px;
        padding-bottom: 0px;
        /* display: none; モバイルメニューに切り替え */
}
/* PC用ヘッダーを非表示 */
.header-pc {
        display: none !important;
}	
/* モバイル用メニュー（無料カウンセリング）非表示 */
.menu-drawer li.menu-item-18{display:none;}	
.header-widget-custom-wrapper{display:none;}
	
/* モバイルナビゲーション位置調整 */
.mobile-menu-buttons .menu-button {
  position: absolute;
  width: 70px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
right:0px;
top:20px;
}	
    
/* 固定ヘッダーナビゲーション位置調整 */
.fixed-header #navi .navi-in {
        position: absolute;
        left: 230px !important;
        top: 10px;
    }
 .alignright, 
 .alignleft {
    float: none !important;
    display: block;
    margin: 10px auto;
  }
  
  img.alignright, 
  img.alignleft {
    display: block;
    margin: 10px auto;
  } 
}

/************************************
** スマートフォン表示（1023px以下）
************************************/
@media screen and (max-width: 1023px) {

/************************************
**　画像切り替え 	
************************************/	
.pc-img { display: none !important;}
.tab-img { display: none !important;}
.tab-smt { display: inline !important;}
.smt-img { display: inline !important;}
    
/* メインビジュアル調整 */
#main-image .smt-img { display: inline !important;}
#main-image .tab-img { display: none !important;}



/************************************
** モバイルメニューボタン調整
************************************/
.mobile-menu-buttons{ min-height:70px;/*position:relative;*/}	
.mobile-menu-buttons .menu-caption{ display:none;}	
	
/* モバイルロゴ */

.mobile-menu-buttons .logo-menu-button {
        position: absolute;
        left: 0px;
        top: 10px;
}	

/* Cocoonのモバイルメニューボタン */
	
.menu-h-menu-smt .navi-menu-button{
        position: absolute!important;
        right: 10px;
        top: 5px;
}
.mobile-menu-buttons .menu-icon .fa-bars::before{ font-size:1.6em!important;color:#ffcbcb;}	


/* ハンバーガースライドメニュー */
.menu-content .menu-drawer{ padding-top:30px;}
	
/************************************
** スマホ用メニューボタン横並び
************************************/
/* サブメニューを横並びに */
    .h-submenu {
        display: flex !important;
        position: absolute;
        right: 70px;
        top: 5px;
        width: auto !important;
           margin: 0;
        padding: 0;
        list-style: none;
        align-items: center;
        gap: 5px;
    }
    	
	
/************************************
** marker非表示
************************************/
/* リストマーカーを非表示 */
.h-submenu li::marker {
    display: none;
}
	
/************************************
** main
************************************/
	/* main */
.home #main-image{ 
	min-height:700px;}
}

/************************************
** スマートフォン表示（840px以下）
************************************/
@media screen and (max-width: 840px) {

/************************************
**　画像切り替え 	
************************************/	
.pc-img { display: none !important;}
.tab-img { display: none !important;}
.tab-smt { display: inline !important;}
.smt-img { display: inline !important;}	


/************************************
**　Tittle 	
************************************/		
h1.entry-title, h1.archive-title{
	margin-top:50px;
	}	
	
/************************************
** 			TOP
************************************/	
.home #main-image { 
width: 100%;
min-height:1000px;
}
	
.home #main-image p { 
	width:100%; 
	padding-left: 0px;
	padding-top:0px;
}	
.home #main-image p img {
        margin: 0px auto;
        width: 100%;
}

}

/************************************
** スマートフォン表示（640px以下）
************************************/
@media screen and (max-width: 640px) {
.home{ margin-top:0;}	

/************************************
** モバイルメニューボタン調整
************************************/
/* Cocoonのモバイルメニューボタン */
.menu-button {
        position: absolute!important;
        right:0px;
        top: 20px;
        width: 70px;
}

/************************************
** main
************************************/	
.home #main-image { 
background-size:contain;
min-height:550px;
}
/* スマホだけ画像サイズを小さくする */
img.responsive {
    width: 50%; /* 必要に応じてサイズを調整 */
}	
	
}

@media screen and (min-width: 490px) and (max-width: 600px) {
.home #main-image p{ padding-top:50px;}
}
/************************************
** 小型スマートフォン対応（480px以下）
************************************/
@media screen and (max-width: 480px) {
.home #main-image { 
background-size:contain;
min-height:570px;
margin-top:60px;	
}	
}
@media screen and (max-width: 390px) {
.home{padding:0;}	
.home #main-image { 
min-height:510px;
margin-top: 70px;	
}
}

@media screen and (max-width: 320px) {
.home #main-image { 
min-height:480px;
margin-top:40px;
}	
.h-submenu {
        right: 50px;
}
}


/************************************
** googlemap
************************************/
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/************************************
** youtubeレスポンシブ
************************************/
.youtube iframe {
	width: 100%;
	height: 100%;
}
/*!動画の最大幅を指定する*/
.video-container{
   max-width: 100%; 
  margin: 30px 0;
}
	
/************************************
** アイキャッチ
************************************/
.page .eye-catch-wrap { /*アイキャッチ*/ display: none; }
.eye-catch-wrap{ display:block;}

/* シングルページのアイキャッチを100％に表示 */
.single .eye-catch {}

/* アイキャッチ内の画像を調整 */
.single .eye-catch img {
width: 100%;
max-width: 800px;
	height: auto;
  display: block;
  border-radius: 5px;
margin:0 auto!important;
}

/* タブレット幅 (～1024px) */
@media screen and (max-width: 1024px) {
  .single .eye-catch {
  }
}

/* スマホ幅 (～768px) */
@media screen and (max-width: 768px) {
  .single .eye-catch {
    float: none;
    width: 100%;
    margin: 0 0 20px 0;
  }
}
