@charset "utf-8";
/*
Theme Name: cmindstyle
Version: 2.0
*/

/*----------------------------------------
■共通設定
-----------------------------------------*/



html{
font-size:62.5%;
}


body{
 font-size:1.6rem;/* 16px*/
}


body, h1, h2, h3, h4, h5, h6, p, td, th, ol, ul, li, dl, dt, dd, form, pre{
	margin:0;
	padding:0;
	font-family: Outfit,'Noto Sans JP', sans-serif;
 font-weight: 500;
	font-size: 1.6rem;
	color:#000;
letter-spacing:0.02em;
	word-break:break-all;
	word-wrap: break-word;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
}

@media screen and (max-width: 768px) {
p {
	font-size: 1.4rem;
}
}


.mplus{
 font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-style: normal;
}

#wrapper {
    overflow: hidden;
}


body{
	background-color:#FFF;
	line-height:2;
}


body{
background: #eff6f8;
}

.home{
background: inherit;
}

body::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0px;
    width: 60%;
    height: 400px;
    opacity: .8;
    pointer-events: none;
    background: url(/wp/wp-content/uploads/dot.png) repeat;
    background-size: 12px;
}

.home::after{
display:none;
}


ul,li{
list-style:none;
}


p {
	margin-bottom:18px;
}




table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
	
}
img {
max-width:100%;
	vertical-align:bottom;
	border: none;
}

a:link {
-webkit-transition: all .3s;
	transition: all .3s;
opacity:1;
	color: #222222;
	text-decoration:underline;
}
a:visited {
	color: #222222;
}
a:active,
a:hover {
opacity:0.6;
	color: #222222;
	text-decoration:none;
}


h2{
}



h3{
}




/*----------------------------------------
■汎用クラス
-----------------------------------------*/
.clearfix{
	zoom:1;
}
.clearfix:after{
	content:"";
	display:block;
	clear:both;
}

.pagetop{
background:#FFF;
width:100%;
height:66px;
margin:0;
}
.pagetop a{
font-size:10px;
width:100%;
line-height:66px;
display:block;
text-decoration:none;
text-align:center;
letter-spacing:0.08em;
}
.pagetop span{
background:url(/wp/wp-content/uploads/pagetop.png) no-repeat 0 4px;
background-size:9px;
padding-left:14px;
}

.alignright{
	float:right;
	margin-left:20px;
	margin-bottom:20px;
}
.alignleft{
	float:left;
	margin-right:20px;
	margin-bottom:20px;
}
.aligncenter{
	clear:both;
	display:block;
	margin:25px auto;
}
.postmeta{
	clear:both;
}
.post {
	zoom:1;
}
.post .post{
	margin:10px;
}
#breadNavi .post:after{
	content:"";
	display:inline-block;
	clear:both;
}

.post:after{
	content:"";
	display:block;
	clear:both;
}

.wp-pagenavi{
	margin-top:20px;
	clear:both;
}





/*----------------------------------------
■ヘッダー
-----------------------------------------*/


#top-hero{
  position: relative;
padding: 0px 0 120px;
}

/* 中身（左ロゴ＋右イラスト） */
.hero-inner{
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    align-items: center;
    gap: 60px;
}

/* 左：ロゴ */
.hero-logo{
  margin: 0;
  line-height: 1;
}

.hero-logo__jp{
  display: block;
  font-size: clamp(42px, 4.8vw, 72px);
  font-weight: 900;
  letter-spacing: .06em;
  color: #3a3a3a;
}

.hero-logo__en{
  display: inline-block;
  margin-top: 14px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .45em;
  color: #3a3a3a;
  opacity: .95;
}

/* 右：イラスト */
.hero-right{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    top: -20px;
}

.hero-right img{
      width: min(720px, 100%);
  height: auto;
  display: block;
}

/* 下：水色の囲み */
.hero-about{
  margin-top: 52px;
}

.hero-about__box{
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    border-radius: 44px;
    background: #eff6f8;
    border: 4px solid #b3dee5;
    padding: 34px 52px 34px;
}

.hero-about__title{
    margin: 0 0 10px;
    text-align: center;
    font-size: 3.2rem;
    color: #1c4c54;
    line-height: 1.4;
}

.hero-about__text{
    margin: 0;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
}

/* 右下の小イラスト（任意） */
.hero-about__mini{
  position: absolute;
    right: -60px;
    bottom: -60px;
  width: 120px;
  height: auto;
}

/* =========================
   右上固定：お問い合わせ
========================= */

a.fixed-contact{
    position: fixed;
    right: 20px;
    top: 20px;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1.4;
    padding: 14px 22px;
    border-radius: 12px;
    background: #1b4c54;
    color: #fff;
    text-decoration: none;
    font-size: 2.2rem;
    letter-spacing: .02em;
    transition: transform .15s ease, filter .15s ease;
}

.fixed-contact:hover{
  transform: translateY(-2px);
  filter: brightness(1.04);
}

.fixed-contact__icon{
      width: 20px;
}

/* スマホで邪魔なら少し小さく */
@media (max-width: 640px){
  .fixed-contact{
    right: 12px;
    top: 12px;
    padding: 12px 14px;
    font-size: 16px;
    border-radius: 10px;
    gap: 8px;
  }
  .fixed-contact svg{
    width: 18px;
    height: 18px;
  }
}

/* =========================
   Responsive（レイアウト）
========================= */

@media (max-width: 900px){

.hero-about {
    margin-top: 20px;
}
.hero-right img{
    width: 80%;
}
  #top-hero{
    padding: 0 0 80px;
  }
  .hero-inner{
    grid-template-columns: 1fr;
    text-align: center;
  }
.hero-left {
    max-width: 300px;
    margin-top: 14px;
}

  .hero-right{
    justify-content: center;
    margin-top: 16px;
  }
  .hero-about__box{
    padding: 28px 22px 30px;
    border-radius: 32px;
  }
  .hero-about__title{
    font-size: 2.4rem;
  }
  .hero-about__text{
    font-size: 1.6rem;
  }
.hero-about__text br{
display:none;
}
  .hero-about__mini{
    width: 60px;
    right: -20px;
    bottom: -24px;
  }
}

@media (max-width: 768px){
.hero-left {
    max-width: 160px;
}
a.fixed-contact{
    right: 12px;
    top: 12px;
    padding: 10px 20px;
    font-size: 1.6rem;
}
}


/*----------------------------------------
■下層ヘッダー
-----------------------------------------*/


/* =========================
   下層ヘッダー用 お問い合わせボタン
========================= */

a.sub-fixed-contact{
     position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1000;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0px 18px;
    height: 44px;
    border-radius: 999px;
    background: #1c4c54;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    font-size: 1.4rem;
}


/* アイコン */
.sub-fixed-contact__icon img{
  width: 18px;
  height: auto;
  display: block;
}

/* =========================
   スクロール時の干渉対策
========================= */

/* ページタイトルエリアと重なる場合の余白 */
.page-title-area{
  padding-top: 80px;
}

/* =========================
   SP調整
========================= */

@media (max-width: 768px){
  .sub-fixed-contact{
    top: 12px;
    right: 12px;
    padding: 10px 14px;
    font-size: 1.3rem;
  }

  .sub-fixed-contact__text{
    display: none; /* スマホはアイコンのみ */
  }
}



#site-header{
  position: relative;
  background: #ffffff;
  border-bottom: 1px solid #e5eff2;
  z-index: 100;
}

.header-bar{
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  align-items: center;
}

.header-bar__logo img{
  height: 36px;
  width: auto;
  display: block;
}

/* =========================
   ページタイトルエリア
========================= */

.page-title-area{
  position: relative;
  overflow: hidden;
}


.page-title-inner{
    padding: 60px 0;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.page-title{
  margin: 0;
  font-size: 3.2rem;
  font-weight: 800;
  color: #1c4c54;
  line-height: 1.3;
}

/* =========================
   下層 コンテンツラッパー
========================= */

.page-content{
  background: #eff6f8;
  padding: 0 24px 80px;
}

.page-content-inner{
  max-width: 1200px;
  margin: 0 auto;
}

/* 白いカード（プライバシーポリシーなど） */
.page-card{
  background: #ffffff;
  border-radius: 20px;
  padding: 48px 56px;
  box-shadow: 0 18px 36px rgba(0,0,0,.08);
}

/* 見出し */
.page-card h2{
  margin: 0 0 28px;
  font-size: 2.4rem;
  font-weight: 800;
  color: #1c4c54;
}

.page-card h3{
  margin: 36px 0 12px;
  font-size: 2rem;
  font-weight: 800;
  color: #1c4c54;
}

/* テキスト */
.page-card p{
  font-size: 1.7rem;
  line-height: 1.8;
  margin: 0 0 18px;
}

.page-card ol{
  padding-left: 1.4em;
}

.page-card li{
  font-size: 1.7rem;
  line-height: 1.8;
  margin-bottom: 14px;
}

/* =========================
   Responsive
========================= */

@media (max-width: 900px){

  .page-title-area{
  }

  .page-title{
    font-size: 2.4rem;
  }

  .page-card{
    padding: 28px 22px;
    border-radius: 16px;
  }
}

@media (max-width: 640px){


.page-title-inner {
    padding: 30px 0;
}

  .page-title-area::after{
    width: 55%;
    opacity: .35;
  }

  .page-title{
    font-size: 2.1rem;
  }

  .page-card p,
  .page-card li{
    font-size: 1.6rem;
  }
}


/*----------------------------------------
■グローバルナビ
-----------------------------------------*/







/*----------------------------------------
■キャッチイメージ
-----------------------------------------*/






/*----------------------------------------
■メイン
-----------------------------------------*/
#main {
 padding: 0px 0 80px;
}
.page-id-62 #main,
.page-id-79 #main{
 padding: 80px 0 80px;
}

.home #main{
 padding: 0px 0;
}

.container{
padding:120px 0;
  position: relative;
    z-index: 2;
}


.section{
    max-width: 1200px;
       margin: 0 auto;
    position: relative;
    padding: 0 5vw;
    z-index: 1;
}



@media screen and (max-width: 768px) {

#main {
 padding: 0px 0 40px;
}
.page-id-62 #main,
.page-id-79 #main{
 padding: 40px 0 40px;
}


.home #main{
 padding: 0px 0;
}


.section{
       margin: 0 auto;
    position: relative;
    max-width: 1200px;
    padding: 0 5vw;
}

.container{
padding:60px 0;
}
}




/*----------------------------------------
■コンテンツ
-----------------------------------------*/

#contents-area{
width:1000px;
margin:0 auto;
}
#contents{
	width:700px;
	margin-right:50px;
	float:left;
}



/*----------------------------------------
■サイド
-----------------------------------------*/
#side_right{
	width:250px;
	float:right;
}



#side .sitenavi{
	background:#ffffff;
	list-style:none;
	padding:10px 7px;
	margin-bottom:15px;
}
#side .sitenavi a{
	background:url(/images/items/icon_link.gif) no-repeat left center;
	padding-left:17px;
	line-height:25px;
}

	
#recent-posts-3,
#categories-3,
#archives-3 {
border:solid 1px #EEE;
padding:20px;
margin-bottom:20px;
}

.side-title{
font-size:16px;
letter-spacing:0.08em;
text-align:center;
line-height:1;
margin-bottom:20px;
}

#recent-posts-3 ul li,
#categories-3 ul li,
#archives-3 ul li{
border-bottom:dashed 1px #EEE;
margin-bottom:10px;
padding-bottom:10px;
font-size:12px;
line-height:1.6;
}
#recent-posts-3 ul li:last-child,
#categories-3 ul li:last-child,
#archives-3 ul li:last-child{
border-bottom:none;
margin-bottom:0px;
padding-bottom:0px;
}







/*----------------------------------------
■facebook/twitter
-----------------------------------------*/
#tabs{
height:370px;
}

#tabs ul{
width: 200px;
margin-bottom:7px;
}
#tabs li{
margin:0;
padding:0;
}

#tabs #tab_facebook{
background:url(/images/side/bg_facebook.png) no-repeat;
display: block;
width:100px;
height:40px;
text-indent: -9999px;
outline-style:none;
}
#tabs .ui-tabs-selected #tab_facebook{
background:url(/images/side/bg_facebook_selected.png) no-repeat;
}

#tabs #tab_twitter{
background:url(/images/side/bg_twitter.png) no-repeat right top;
display: block;
width:100px;
height:40px;
text-indent: -9999px;
outline-style:none;
}
#tabs .ui-tabs-selected #tab_twitter{
background:url(/images/side/bg_twitter_selected.png) no-repeat right top;
}


.ui-tabs-hide { display: none; }
.ui-tabs {
margin: 10px 0 0 0;
}
.ui-tabs-nav {

list-style: none;
margin: 0;
padding: 0;

}
.ui-tabs-nav:after {
display: block;
clear: both;
content: " ";
}
.ui-tabs-nav li { 
float: left; 
font-weight: bold;
width: 99px;
}
.ui-tabs-nav a{
display: block;
}
.ui-tabs-nav a {
margin: 1px 0 0;
padding-left: 0;
text-align: center;
outline: 0;
text-decoration:none;
}
.ui-tabs-nav .ui-tabs-selected a {
position: relative;
top: 1px;
z-index: 2;
margin-top: 0;
color: #000;
}



.ui-tabs-nav .ui-tabs-selected a:link,
.ui-tabs-nav .ui-tabs-selected a:visited,
.ui-tabs-nav .ui-tabs-disabled a:link,
.ui-tabs-nav .ui-tabs-disabled a:visited { cursor: text; }
.ui-tabs-nav a:hover,
.ui-tabs-nav a:focus,
.ui-tabs-nav a:active,
.ui-tabs-nav .ui-tabs-deselectable a:hover,
.ui-tabs-nav .ui-tabs-deselectable a:focus,
.ui-tabs-nav .ui-tabs-deselectable a:active { cursor: pointer; }
.ui-tabs-disabled { opacity: .4; }
.ui-tabs-panel { padding: 0; }
.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-tabs-panel { width: 178px; border: 0px solid #ade500/*{borderColorActive}*/;}
.ui-tabs-panel img { border:none; }


/*----------------------------------------
■フッター
-----------------------------------------*/



#footer-area{
  background: #fff;
  border-top: 1px solid #e6e6e6; /* 上の薄い線 */
    padding: 40px 0;
}

#footer-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* 左：ロゴ＋© */
.footer-left{
  display: flex;
  align-items: center;
  gap: 40px;
}
address {
    font-style: normal;
    font-size: 1.4rem;
  color: #b0b0b0;
}

.footer-brand{
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.footer-logo{
  height: 40px;      /* ロゴの見た目サイズ */
  width: auto;
  display: block;
}



/* 右：ナビ */
.footer-nav-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 30px; /* 画像の間隔 */
}

.footer-nav-list a{
  text-decoration: none;
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: .02em;
}

.footer-nav-list a:hover{
  opacity: .7;
}

/* =========================
   Responsive
========================= */

@media (max-width: 900px){

a.footer-brand{
    margin-bottom: 20px;
}

.footer-left {
    display: block;
    margin-bottom: 20px;
}
#footer-inner {
    display: block;
    text-align: center;
}

  #site-footer .footer-inner{
    padding: 32px 18px;
  }
  .footer-nav-list{
    gap: 28px;
        display: block;
  }
  .footer-nav-list a{
    font-size: 1.4rem;
  }
  .footer-logo{
    height: 46px;
  }
}

@media (max-width: 768px){
  #site-footer .footer-inner{
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    padding: 28px 14px;
  }
  .footer-left{
    gap: 12px;
  }
  .footer-nav-list{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .footer-nav-list a{
    font-size: 1.3rem;
  }
}


/*----------------------------------------
■トップページ
-----------------------------------------*/


/* =========================
   TOP ABOUT（画像のセクション）
========================= */

#top-about-area{
  position: relative;
 background: #fae6b1; /* 薄いベージュ */
  border-radius: 10vw 10vw 0 0;
    padding-top: 0;
}

/* セクション全体の薄いベージュ＋角丸（大きい面） */
#top-about{
  position: relative;
}

/* ドット柄（左上に薄く） */
#top-about-area::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0px;
    width: 60%;
    height: 40%;
    opacity: .3;
    pointer-events: none;
    background: url(/wp/wp-content/uploads/dot.png) repeat;
    background-size: 12px;
}

/* 見出し（オレンジの丸角帯） */
.top-about-lead{
     margin: -34px auto 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 44px;
    border-radius: 999px;
    background: #f2a233;
    color: #fff;
    font-weight: 700;
    font-size: 2.8rem;
    letter-spacing: .02em;
    line-height: 1.3;
    text-align: center;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

/* 2×2 グリッド */
#top-about-list{
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    position: relative;
    z-index: 1;
}

/* カード枠（外側の薄い縁取りっぽい感じ） */
.top-about-item{
    margin: 0;
    padding: 0;
    background: #FFF;
    border-radius: 18px;
    padding: 40px;
    align-items: stretch;
    box-sizing: border-box;
    height: 100%;
position: relative;
}

.top-about-item:after {
    background: #f3a234;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    right: -8px;
    top: 8px;
    display: block;
    z-index: -1;
    border-radius: 16px;
    opacity: .2;
}



/* カード本体 */
.top-about-card{
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* タイトル */
.top-about-title{
color: #31525b;
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    margin-bottom: 20px;
}


.top-about-title span {
    font-size: 0.8em;
}

/* 説明文 */
.top-about-text{
    margin: 0;
    font-size: 1.8rem;
    line-height: 1.85;
    font-weight: 700;
}

/* 画像 */
.top-about-fig{
  margin: 30px 0 0;
     text-align: center;
}

.top-about-fig img{
width: 100%;
    max-width: 340px;
    height: auto;
}

/* =========================
   Responsive
========================= */

@media (max-width: 640px){

  .top-about-lead{
        width: 100%;
        padding: 12px 20px;
        font-size: 2rem;
        box-sizing: border-box;
        margin-bottom: 30px;
  }
  #top-about-list{
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .top-about-item{
    padding: 34px 24px;
  }

  .top-about-title{
        font-size: 2.6rem;
        margin: 0;
  }
.top-about-text {
    font-size: 1.6rem;
    line-height: 1.6;
}
  .top-about-fig img{
    width: 86%;
    max-width: 340px;
  }
}

/* =========================
   FAQ（画像のセクション）
========================= */

#top-faq-area{
  background: #eff6f8;
  position: relative;
}

/* 右のドット柄 */
#top-faq-area::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 34%;
  height: 70%;
  opacity: .8;
  pointer-events: none;
  background: url(/wp/wp-content/uploads/dot.png) repeat;
  background-size: 12px;
}

/* =========================
   FAQ 見出し
========================= */

.faq-head{
  position: relative;
  z-index: 1;
  text-align: center;
  margin-bottom: 22px;
}


.faq-illust{
    width: 80%;
    max-width: 420px;
  margin: 20px auto 36px;
}

.faq-illust img{
  width: 100%;
  height: auto;
  display: block;
}

/* =========================
   FAQ リスト
========================= */

.faq-box{
  position: relative;
  z-index: 1;
  margin: 0 auto;
  display: grid;
  gap: 20px;
}

/* 1つのアコーディオン */
.faq-item{
  border: none;
  border-radius: 16px;
  background: #fff;
  position: relative;
}

/* 影レイヤー */
.faq-item::after {
  background: #b4dee5;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  right: -8px;
  top: 8px;
  z-index: -1;
  border-radius: 16px;
  opacity: .6;
}

/* =========================
   質問（button）
========================= */

.faq-q{
  width: 100%;
  position: relative;
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: center;
  gap: 14px;
  padding: 30px 60px 14px 40px;
  cursor: pointer;
  background: none;
  border: none;
  text-align: left;
}

.faq-q-text{
  font-size: 2.6rem;
  font-weight: 800;
  color: #1c4c54;
  line-height: 1.4;
}

/* Q/Aバッジ */
.qa-badge{
  display: inline-flex;
  justify-content: center;
  width: 34px;
  font-size: 2.6rem;
  line-height: 1.2;
}

.qa-badge--q{ color: #1c4c54; }
.qa-badge--a{ color: #8fd0df; }

/* ＋ / − */
.faq-q::before,
.faq-q::after{
  content:"";
  position:absolute;
  background: rgba(143,208,223,1);
  border-radius: 2px;
  pointer-events:none;
}

/* 横棒 */
.faq-q::before{
  right: 24px;
  top: 50%;
  width: 16px;
  height: 2px;
  transform: translateY(-50%);
}

/* 縦棒（閉じてる時） */
.faq-q::after{
  right: 31px;
  top: 50%;
  width: 2px;
  height: 16px;
  transform: translateY(-50%);
}

/* 開いている時：− */
.faq-item.is-open .faq-q::after{
  opacity: 0;
}

/* =========================
   回答（アニメーション）
========================= */

.faq-a{
  padding: 0 80px 0 40px;
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition:
    height .45s ease,
    opacity .3s ease;
}

.faq-a-inner {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
}

.faq-item.is-open .faq-a{
  opacity: 1;
}

/* 中身 */
.faq-a-body{
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
margin-bottom:30px;
}

/* 開いた時の余白調整 */
.faq-item.is-open .faq-q{
  padding-bottom: 14px;
}

/* =========================
   Responsive
========================= */

@media (max-width: 900px){

  .faq-q{
    padding: 18px;
            grid-template-columns: 28px 1fr 10px;
  }

  .faq-q-text{ font-size: 2rem }
 .faq-a-text{ font-size: 1.4rem; }
.faq-a-inner {
     grid-template-columns: 28px 1fr 10px;
}
.faq-a-body{
  font-size: 1.6rem;
}

  .faq-a{
    padding: 0 18px;
           grid-template-columns: 28px 1fr;
  }

  .faq-q::before{ right: 20px; }
  .faq-q::after{ right: 27px; }
}

@media (max-width: 640px){
  .faq-q-text{ font-size: 1.8rem; }
 .faq-a-text{ font-size: 1.4rem; }
}

/* =========================
   CONTACT CTA（上の青い帯）
========================= */

#top-contact-cta-area{
  position: relative;
  background: #b3dee5;
}

#top-contact-cta{
}

/* ドット柄（下側に薄く） */
#top-contact-cta-area::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 49%;
    height: 40%;
    opacity: .3;
    pointer-events: none;
    background: url(/wp/wp-content/uploads/dot.png) repeat;
    background-size: 12px;
}

.contact-cta-inner{
    position: relative;
    z-index: 1;
}

/* 左イラスト */
.contact-cta-illust{
    margin: 0;
    position: absolute;
    bottom: -124px;
    z-index: 10;
}

.contact-cta-illust img{
  width: 100%;
  max-width: 210px;
  height: auto;
  display: block;
}

/* 右側 */
.contact-cta-body{
  text-align: center;
}

.contact-cta-lead{
    margin: 0 0 24px;
    color: #ffffff;
    line-height: 1.4;
    font-weight: 800;
    font-size: 2.2rem;
    letter-spacing: normal;
}

/* ボタン */
a.contact-cta-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: min(520px, 100%);
    padding: 30px 26px;
    border-radius: 10px;
    background: #1c4c54;
    color: #fff;
    text-decoration: none;
    font-weight: 900;
    font-size: 3rem;
 }

.contact-cta-icon{
    width: 30px;
}

.contact-cta-text{
  line-height: 1;
}

@media (max-width: 768px){

.contact-cta-icon{
    width: 22px;
}

}

/* =========================
   COMPANY（会社概要）
========================= */

#company{
 
}

.h2-title{
  margin-bottom: 60px;
  text-align: center;
  font-size: 3.4rem;
  color: #1b4c54;
    line-height: 1.2;
}

/* dlを表っぽく */
.company-dl{
     max-width: 620px;
  margin: 0 auto;
  display: grid;
  gap: 18px;
}

.company-row{
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 26px;
  align-items: baseline;
}

.company-row dt{
  margin: 0;
  color: #9fd2dd;  /* 薄い水色 */
  font-size: 2.2rem;
  letter-spacing: .06em;
  text-align: left;
}

.company-row dd{
  margin: 0;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6;
}

/* =========================
   Responsive
========================= */

@media (max-width: 900px){


  .contact-cta-lead{
    font-size: 18px;
  }
  .contact-cta-btn{
    font-size: 26px;
    padding: 18px 20px;
  }
  .company-row dt{
    font-size: 1.8rem;
  }
  .company-row dd{
    font-size: 1.6rem;
  }
}

@media (max-width: 768px){

.h2-title {
    font-size: 2.8rem;
        margin-bottom: 30px;
}
a.contact-cta-btn {
    font-size: 2rem;
    padding: 20px 0;
    gap: 5px;
}
  .contact-cta-inner{
    grid-template-columns: 1fr;
    text-align: center;
  }

.contact-cta-illust {
    bottom: -62px;
left: -7vw;
}
  .contact-cta-illust img{
         max-width: 80px;
  }
  .contact-cta-lead{
    font-size: 16px;
    margin-bottom: 14px;
  }
  .contact-cta-btn{
    width: 100%;
    font-size: 22px;
    border-radius: 12px;
  }

  .company-row{
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .company-row dt{
    text-align: left;
  }
}


/*----------------------------------------
■サンクス
-----------------------------------------*/
.thanks{
  padding: 48px 56px;
}

.thanks__lead-dai {
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.6;
    margin-bottom: 20px;
    color: #1c4c54;
    margin-top: -10px;
}



.thanks__image img {
    width: 200px;
}

.thanks__image {
    text-align: center;
    margin-bottom: 10px;
}


.thanks__title{
     margin: 0 0 12px;
    font-size: 6rem;
    font-weight: 800;
    color: #1c4c54;
    text-align: center;
    line-height: 1.4;
}

.thanks__box{
    background: #ffffff;
    border-radius: 18px;
    padding: 80px 5vw;
    position: relative;
}


/* 本文 */
.thanks__lead{
    margin: 0 0 18px;
    font-size: 1.8rem;
    line-height: 1.8;
    font-weight: 800;
    text-align: center;
}

.thanks__note{
margin: 0;
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 700;
    color: #5b6d72;
    text-align: center;
}

/* ボタン */
.thanks__actions{
  margin-top: 40px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
justify-content: center;
}

a.thanks__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 16px 24px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, opacity .2s ease;
  white-space: nowrap;
}

a.thanks__btn--primary{
  background: #1c4c54;
  color: #fff;
}


a.thanks__btn--ghost{
  background: #e6f4f7;
    color: #1c4c54;
}


/* =========================
   Responsive
========================= */

@media (max-width: 900px){
  .thanks{
    padding: 60px 5vw;
  }
  .thanks__title{
           font-size: 4.4rem;
  }
  .thanks__box{
    padding: 60px 5vw;
  }
  .thanks__lead{
    font-size: 1.7rem;
  }

a.thanks__btn {
    font-size: 1.3rem;
}
.thanks__actions {
    margin-top: 30px;
    gap: 10px;
}


}


/*----------------------------------------
■申し込み確認
-----------------------------------------*/



.form-t-box {
    display: table;
    width: 100%;
}


.form-dai {
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 10px;
}
.form-dai span {
    color: #f2a233;
    font-size: .8em;
}

.form-t-d {
    display: table-cell;
    padding: 10px;
}


.form-t-h {
    display: table-cell;
    width: 30%;
    min-width: 200px;
    padding: 10px;
    font-weight: 800;
    color: #9fd2dd;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 2rem;
}

.form-t-d input{
    background: #f8f8f6b3;
    border: 0;
    padding: 22px 24px;
    box-sizing: border-box;
    width: 100%;
    font-size: 1.6rem;
  outline: none;
  box-shadow: none;
}
.form-pay input{
width:auto;

}
.form-pay .wpcf7-list-item {
    display: inline-block;
    margin: 0;
}


.form-section {
       margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: solid 1px #EEE;
}

.form-t-d.is-pass{
  position: relative;
}

.form-t-d.is-pass input{
  width: 100%;
  padding-right: 52px; /* 目ボタン分 */
}

.form-t-d.is-pass .pass-toggle{
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 18px;
}

.form-t-d.is-pass .pass-toggle:focus-visible{
  outline: 2px solid #8fd0df;
  outline-offset: 2px;
  border-radius: 10px;
}


@media screen and (max-width: 768px) {

.form-dai {
    font-size: 1.6rem;
}
.form-t-box {
    display: block;
    width: 100%;
padding-bottom: 10px;
}

.form-t-h {
    display: block;
    width: 100%;
    min-width: auto;
        padding: 0;
padding-bottom: 5px;
}
.form-t-d {
 padding: 0;

}

.form-section {
    margin-bottom: 30px;
    padding-bottom: 30px;
}

}

/*----------------------------------------
■お問い合わせ
-----------------------------------------*/


#contact-box {
    background: #FFF;
    padding: 40px;
    border-radius: 20px;
    box-sizing: border-box;
}


.form-t {
    margin: 0 auto 40px;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: inherit;
    background: #ce4a4a;
}

.wpcf7 form .wpcf7-response-output {
    text-align: center;
    margin: 2em 0.5em 1em;
    padding: 0.2em 1em;
    border: none !important;
    color: #FFF;
    background: #9ed2dd;
}


#form-btn input:disabled {
    opacity: .2;
    cursor: not-allowed;
}

.form-t td, .form-t th {
    padding: 10px;
    vertical-align: top;
    text-align: left;
}

.form-t th {
width:25%;
    font-size: 2rem;
    margin: 0;
    font-weight: 800;
    color: #9fd2dd;
 font-family: "M PLUS Rounded 1c", sans-serif;
padding-top: 20px;
}


.form-t input, .form-t textarea {
    background: #f8f8f6b3;
    border: 0;
    padding: 22px 24px;
    box-sizing: border-box;
    width: 100%;
    font-size: 1.6rem;
}

#form-privacy-area {
    text-align: center;
    margin-bottom: 40px;
}

.form-privacy-text {
    margin-bottom: 10px;
    line-height: 1.6;
}

.form-privacy {
    margin: 0;
}
#form-btn {
    text-align: center;
    margin-bottom: 0;
}

#form-btn input {
    border-radius: 0.2em;
    border: none;
    font-size: 2.4rem;
    background: #1b4c54;
    color: #FFF;
    padding: 20px 80px;
    opacity: 1;
    -webkit-transition: all .3s;
    transition: all .3s;
    cursor: pointer;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 800;
}


.form-privacy .wpcf7-list-item {
    margin: 0;
}

span.wpcf7-spinner {
    display: block;
    margin: 20px auto 0;
}


@media (max-width: 768px){

#contact-box {
    background: #FFF;
    padding: 20px;
}
.form-t td, .form-t th {
display:block;
width: 100%;
        padding: 0;
}


.form-t td{
padding-bottom:14px;
}


.form-t th {
    font-size: 1.8rem;
padding-bottom:2px;
}
.form-t {
    margin: 0 auto 30px;
}
#form-btn input {
    font-size: 2rem;
    padding: 16px 30px;
}

.form-privacy-text {
    margin-bottom: 6px;
    font-size: 1.3rem;
}

}


/*----------------------------------------
■利用規約
-----------------------------------------*/



.terms-content-inner {
  margin: 0 auto;
}

/* 一覧 */
.terms-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 20px;
}

/* カード */
.terms-item-card {
  background: #fff;
  border-radius: 16px;
  padding: 26px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  position: relative;
}

/* うっすら影（FAQとトーン合わせ） */
.terms-item-card::after {
background: #b4dee5;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    right: -8px;
    top: 8px;
    z-index: -1;
    border-radius: 16px;
    opacity: .6;
}

/* 規約名 */
.terms-name {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1c4c54;
  line-height: 1.4;
}

/* PDFリンク */
a.terms-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  background: #e6f4f7;
  color: #1c4c54;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, transform .2s ease;
}


/* hover（控えめ） */
.terms-link:hover {
  background: #d3ecf2;
  transform: translateY(-1px);
}

/* =========================
   Responsive
========================= */

@media (max-width: 768px) {
  .page-content {
    padding: 40px 0 60px;
  }

  .terms-item-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px 20px;
    gap: 4px;
  }

  .terms-link {
    margin-top: 8px;
  }

  .terms-name {
    font-size: 1.6rem;
  }
}


/*----------------------------------------
■プライバシー
-----------------------------------------*/


.privacy-box-title {
     font-weight: 700;
    margin-bottom: 20px;
    background: #8fd0df;
    font-size: 2.2rem;
    padding: 2px 14px;
    color: #FFF;
    display: block;
    border-radius: 4px;
}

.privacy-box-li ul li ul {
    padding-left: 20px;
    margin-bottom: 10px;
}

.privacy-box-li ul li span {
    font-weight: 700;
    font-size: 14px;
}
.privacy-box-li ul {
    padding-top: 10px;
}

.privacy-box-li ul li{
}

.privacy-box {
    background: #FFF;
    padding: 40px;
    border-radius: 10px;
    margin-bottom: 40px;
}

.privacy-box-top-text {
      text-align: left;
    font-size: 1.6rem;
    margin-bottom: 40px;
}

.privacy-box-li dd {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: solid 1px #dfdfdf;
    font-size: 1.4rem;
}

.privacy-box-li dt span {
    background: #8fd0df;
    width: 28px;
    display: inline-block;
    line-height: 1.4;
    margin-right: 10px;
    color: #FFF;
    text-align: center;
    border-radius: 4px;
}
.privacy-box-li dt {
    font-size: 2rem;
    margin-bottom: 10px;
}
.privacy-box-bottom-t td {
    font-size: 1.4rem;
}
.privacy-box-bottom-t th {
    font-size: 2rem;
    vertical-align: top;
    text-align: left;
    padding-right: 30px;
}

.privacy-box:last-child {
    margin-bottom: 0;
}

.privacy-box-bottom-t th, .privacy-box-bottom-t td {
    padding: 20px;
}


@media (max-width: 768px){

.privacy-box {
    background: #FFF;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 20px;
}
.privacy-box-title {
    margin-bottom: 16px;
    font-size: 1.8rem;
    padding: 2px 10px;
}

.privacy-box-top-text {
    text-align: left;
    font-size: 1.4rem;
    margin-bottom: 30px;
    line-height: 1.8;
}

.privacy-box-li dd {
    margin-bottom: 14px;
    padding-bottom: 14px;
       line-height: 1.8;
    font-size: 1.3rem;
}
.privacy-box-li dt span {
    width: 24px;
}

.privacy-box-li dt {
    font-size: 1.8rem;
        margin-bottom: 10px;
        line-height: 1.4;
}
.privacy-box-li ul{
   font-size: 1.3rem;
}

.privacy-box-li ul li{
    font-size: 1.3rem;
}
.privacy-box-bottom-t th, .privacy-box-bottom-t td {
    padding: 0;
    display: block;
}

.privacy-box-bottom-t td {
    font-size: 1.3rem;
padding-bottom:20px;
   line-height: 1.8;
}
.privacy-box-bottom-t th {
    font-size: 1.8rem;
}

}



/*----------------------------------------
■特定商取引法に基づく表示について
-----------------------------------------*/

/* =========================
   特商法（Tokusho）
========================= */

.tokusho{
  padding: 48px 56px;
}

.tokusho__title{
  margin: 0 0 26px;
  font-size: 3rem;
  font-weight: 800;
  color: #1c4c54;
}

.tokusho__section{
    background: #FFF;
    padding: 60px;
    border-radius: 20px;
margin-bottom:30px;
}

.tokusho__section:last-child{
margin-bottom:0;
}

.tokusho__sectionTitle{
  margin: 0 0 14px;
  font-size: 2.2rem;
  position: relative;
color:#1c4c54;
  padding-left: 22px;
}

.tokusho__sectionTitle::before{
  content: "■";
  position: absolute;
  left: 0;
  top: 0;
  color: #1c4c54;
}

/* 2カラム表 */
.tokusho__dl{
  margin: 0;
}

.tokusho__row{
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 22px;
  padding: 16px 0;
  border-top: 1px solid #edf4f6;
}

.tokusho__row:first-child{
  border-top: none;
}

.tokusho__dt{
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #9fd2dd; /* 左ラベルを水色に */
  line-height: 1.6;
}

.tokusho__dd{
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 700;
}

/* 連絡先 */
.tokusho__contact{
  display: grid;
  gap: 10px;
}

.tokusho__contactLine{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tokusho__icon{
  font-size: 1.6rem;
  line-height: 1;
}

.tokusho__link{
  color: #1c4c54;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.tokusho__note{
 display: block;
    font-size: 1.4rem;
    line-height: 1.4;
    color: #76878c;
    font-weight: 600;
    margin-top: 2px;
}

/* =========================
   Responsive
========================= */

@media (max-width: 768px){


.tokusho__section {
    padding: 20px;
        margin-bottom: 15px;
}

.tokusho__sectionTitle {
    margin: 0 0 10px;
    font-size: 2rem;
}


  .tokusho{
    padding: 28px 22px;
  }

  .tokusho__title{
    font-size: 2.2rem;
  }

  .tokusho__row{
         grid-template-columns: 1fr;
        gap: 8px;
        padding: 14px 0;
  }

  .tokusho__row:first-child{
   padding-top: 0px;
}

  .tokusho__dt{
    font-size: 1.6rem;
  }

  .tokusho__dd{
    font-size: 1.4rem;
  }
}



/*----------------------------------------
■サイトマップ
-----------------------------------------*/

#menu-sitemap{
	list-style:none;
	padding:10px 7px;
	margin-bottom:15px;
}
#menu-sitemap a{
	background:url(/images/items/icon_link.gif) no-repeat left center;
	padding-left:17px;
	line-height:25px;
}







/*----------------------------------------
■ブログ
-----------------------------------------*/



#single_social{
float:left;
width:50%;
	list-style:none;
}
.single-post-info{
float:right;
width:50%;
    line-height: 1;
text-align:right;
font-size:12px;
}


#single_social li{
	float:left;
}
.postmeta{
	
}
.postmeta p{
}

/*----------------------------------------
■個別設定
-----------------------------------------*/

.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1s;
  &.fadein-left{
      transform: translate(-30px,0);
  }
  &.fadein-right{
      transform: translate(30px,0);
  }
  &.fadein-up{
      transform: translate(0,-30px);
  }
  &.fadein-bottom{
      transform: translate(0,30px);
  }
  &.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}

.slidein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.0s;
  &.slidein-left{
      transform: translate(-100%,0);
  }
  &.slidein-right{
      transform: translate(100%,0);
  }
  &.slidein-up{
      transform: translate(0,-100%);
  }
  &.slidein-bottom{
      transform: translate(0,30%);
  }
  &.scrollin{
    transform: translate(0, 0)!important;
    opacity: 1!important;
  }
}