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

/************************************
** 子テーマ用のスタイルを書く
************************************/
.site-name-text {
display: none;
}
body{ background-color:#ffffff;}
/************************************
** 子テーマ用のスタイルを書く
************************************/
.entry-content {
    margin-top: -27px;
    margin-bottom: 0;
}

/************************************
** contents
************************************/
.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;}

.page .sns-follow,
.page .author-info{
    display: none;
}

/************************************
** ヘッダー
************************************/
header{ margin:10px auto 0 auto;}


#header-in{ width:1200px; margin:0 auto;}


.header-container{ 
	margin:0 auto;
	background-color:#ffffff;
	position:relative;
	height:85px;
}

.logo{ 
	position:absolute;
	top:10px;
	text-align:left!important;
}
.logo img{max-height:70px!important;} 
/************************************
** フッター
************************************/
#footer{
	padding-top:10px!important;margin-top:0px;}

#footer .footer-widgets .widget_text { margin-bottom:0;}
#footer .footer-widgets .widget_text p{margin-bottom:0;}

/************************************
** Main
************************************/
.wp-block-cover{ min-height:560px;margin-bottom:0!important; }

/************************************
** Menu
************************************/
.header-container-in .navi-in{ position:absolute;right:0px; top:5px; }
.header-container-in.hlt-top-menu .navi-in .item-label{ font-size:0.8em!important; text-align:center;}

navi{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 0;
  font-family: "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
#menu-h-menu{  
  display: flex;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#menu-h-menu li{width:120px; height:60px;text-align:center;line-height:2!important; padding: 20px 0px 0 0px;}

#menu-h-menu li#menu-item-11{ width:180px!important;}

#menu-h-menu li a{
  display: block;
  color: #333;
  text-decoration: none;
  padding: 8px 15px;
  font-size: 14px;
  position: relative;
  transition: color 0.3s ease;background-color:transparent;
}

/* Vertical separator line */
#menu-h-menu li:not(:nth-last-child(-n+2)) a:after {
  content: "|";
  position: absolute;
  right: 0;
	top:10%;
  color: #ccc;
}


.sub-caption{ color:#00a051;}

#menu-h-menu li a:hover{}
#menu-h-menu li#menu-item-13{width:90px!important;}
#menu-h-menu li#menu-item-14{
position:relative;
background:transparent url(images/h-contact.png) left top no-repeat!important;
padding:10px 30px!important;
width:257px!important;
margin:10px 0 20px 20px;
}

#menu-h-menu li#menu-item-14 a{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}
#menu-h-menu li#menu-item-14 a:hover{ opacity:0.2;}	
#menu-h-menu li#menu-item-14 .item-label{opacity:0;}



/************************************
** 固定ヘッダー
************************************/
.fixed-header{ height:85px; background-color:#ffffff!important;width:100%!important;}
.fixed-header #menu-h-menu li{width:100px;}
.fixed-header #menu-h-menu li#menu-item-48{width:130px;}

.header-container-in.hlt-top-menur{position:relative;}
.fixed-header #nav{background-color:#ffffff; padding-bottom:0!important;}
.fixed-header #navi .navi-in{
position: absolute;
right:0;
top: 5px;
}

.fixed-header .logo{ position:absolute;top:15px;left:0; }
.fixed-header .cl-slim .logo-header img { max-height: 60px;}
.fixed-header #menu-h-menu .navi-in a{color:#012351; background-color:transparent;}
.fixed-header #menu-h-menu{ }
.fixed-header #menu-h-menu li a:hover{opacity:0.6;} 
.fixed-header #menu-h-menu li#menu-item-115{ background-color:#8ebe59!important;display:block;}

.fixed-header .h-submenu { 
	display:none;
}
.fixed-header .h-submenu img.pc-img{ max-width:95%;} 
.header-container-in.hlt-top-menu .h-submenu li{ padding-top:10px;}
.header-container-in.hlt-top-menu .h-submenu li::marker{display:none;}
.header-container-in.hlt-top-menu .navi-in .item-label{ font-size:11px; color:#222222; font-weight:bold;}


/************************************
** 共通
************************************/
section{ margin-bottom:0!important;}

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

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

.entry-card-meta, .related-entry-card-meta{ padding-bottom:10px;}

img.aligncenter {
display:block;
margin:5px auto 30px auto;
text-align:center;
}

img.alignright{ margin:5px 0 10px 30px;}
img.alignleft{ margin:5px 30px 10px 0;}

img a:hove{ opacity:0.5;}

.sp_br {
  display: none; //640px以上では改行タグを無効に。
}
@media screen and (max-width: 640px) {
  .sp_br {
    display: block; //640px未満で改行タグを有効に。
  }
}



.alignright{ float:right; }
.alignleft{ float:left; }

.pc-img{ display:inline!important;}
.tab-img { display:none!important;}
.tab-smt{ display:none!important;}	
.smt-img { display:none!important;}

/************************************
** margin / padding
************************************/
.mt10{ margin-top:10px;}
.mt30{ margin-top:30px;}
.mt50{ margin-top:50px;}
.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%;}
.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;}
.fuchidori {
  color: #000;
  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.red{ color:#e02051;}
.red01{ color:#9d2238;}
.red02{ color:#cd6a55;}
.white{ color:#ffffff;}
.green{ color:#2c90a2;}
.orange{color:#fa8700;}
.pink{color:#e84871;}


.line-yellow{ background:linear-gradient(transparent 70%, #fff88d 30%); display:inline-block;}


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

.text01{ line-height:1.4;}

@media screen and (min-width: 768px){
.br-sp {display: none; }
}

/************************************
** Tittle
************************************/
.article section h2{ background-color:transparent; text-align:center; font-size:1.6em;}

.entry-title {
    font-size:  24px;           /* 文字サイズ指定 */
    border-bottom: solid 4px #999;   /* 線指定 */
    padding-bottom:  5px;       /* 余白指定 */
    position:  relative;        /* 位置調整 */
    font-weight:  normal;       /* 文字の太さ調整 */
	padding-top:17px;
	padding-bottom:17px;
	margin-top:0;
	font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "MS 明朝", "MS Mincho", serif;
	font-size:2em!important;
	
}

.entry-title:before {
    content:  '';                   /* 空白の要素を作る */
    width: 80px;                    /* 幅指定 */
    height: 3px;                    /* 高さ指定 */
    background-color: #e94871;      /* 背景色指定 */
    display:  block;                /* ブロック要素にする */
    position:  absolute;            /* 位置調整 */
    left:  0;                       /* 位置調整 */
    bottom: -3px;                   /* 位置調整 */
}

h2.ti02 {
      text-align: center;
      color: #298b9c;
      font-size: 24px;
      font-weight: bold;
      margin-bottom: 50px;
}

h2.ti02::after {
      content: "";
      display: block;
      width: 40px;
      height: 4px;
      background-color: #a6374b; /* オレンジ線 */
      margin: 8px auto 0;
      border-radius: 2px;
}

.article h2{ padding:0!important;}
.article h3{ border:none; font-size:1.4em;}
.article h4{ 
	border-top:none;
	border-bottom:none;
}

/************************************
**　Box
************************************/
.box01{
background-color:#2c90a2;
border-radius:20px;
padding:20px 50px 0 50px;
color:#ffffff;
display:inline-block;
margin-bottom:30px;
}

/************************************
**　固定ページ共通
************************************/
.page .inner{
	width:1100px;
	margin:0 auto;
}

/************************************
** 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;}

/************************************
** clearfix
************************************/
.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}
/************************************
**　固定ページ共通
************************************/
.page .inner{
	width:1100px;
	margin:0 auto;
}

/************************************
**　TOP
************************************/
/* main */
.home #main-image{ background: #ffffff url(images/bg-main.jpg) center top no-repeat;}	
.home h1.entry-title { display: none;}

.home #main-image p{
    margin: 0 auto;
	width:1000px;
	padding-bottom:30px;
}


#home #content{
	max-width:100%;
	margin:0 auto;
	padding:0;
}
.home section{ padding-top:50px; padding-bottom:50px;font-size:1em;}
#home .content-in.wrap{ width:100%!important; }
.page p{ margin-bottom:0.8em;}


/*--- sec02 ---*/
.sec02{ background-color:#fefbf2;}
.sec02 h2{
	color:#788e18;
	font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "MS 明朝", "MS Mincho", serif;
	font-size:2em!important;
	font-weight:bold;
	text-align:left!important;
	margin-bottom:30px!important;
}
    .features-section {
            padding: 0 15px 0 0 ;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
        }
        
        .feature-card {
            width: 32%;
            margin-bottom: 30px;
            background-color: #fffff5;
            position: relative;
            padding-top: 15px;
            padding-bottom: 15px;
			border-top:2px #c0c088 solid;
			border-bottom:2px #c0c088 solid;
        }
        


        .feature-title {
            font-size: 14px;
            margin-bottom: 15px;
            line-height: 1.7;
        }
        
        .feature-title .highlight {
            font-size: 110%;
        }
        
        .feature-description {
            font-size: 16px;
            margin-bottom: 15px;
        }
        
        .strong-text {
            font-weight: bold;
        }
        
        @media screen and (max-width: 900px) {
            .feature-card {
                width: 48%;
            }
        }
        
        @media screen and (max-width: 600px) {
            .features-section {
                flex-direction: column;
            }
            
            .feature-card {
                width: 100%;
                margin-bottom: 30px;
            }
            
            .feature-title {
                font-size: 16px;
            }
            
            .feature-description {
                font-size: 14px;
            }
        }


/* --- sec03  ---*/
.section03-title {
            text-align: center;
            margin-bottom: 40px;
			font-size:1.4em;
        }
        
        .section03-title h2 {
            font-size: 32px;
            color: #ac3b61;
            font-weight: bold;
		font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "MS 明朝", "MS Mincho", serif;
	
            margin-bottom: 5px;
}
        
.section03-title p {
            font-size: 18px;
            color: #666;
		font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "MS 明朝", "MS Mincho", serif;
}
        
        .features-wrapper {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
        }
        
        .features-list {
            width: 60%;
        }
        
        .features-image {
            width: 35%;
        }
        
        .features-image img {
            width: 100%;
            height: auto;
            display: block;
            border-radius: 4px;
        }
        
        /* Definition List Styling */
        .features-list dl {
            margin-bottom: 20px;
        }
        
        .features-list dt {
            display: flex;
            align-items: baseline;
            margin-bottom: 10px;
            font-weight: bold;
        }
        
        .features-list dt .number {
            font-size: 28px;
            color: #ac3b61;
            margin-right: 10px;
            font-family: "Times New Roman", serif;
        }
        
        .features-list dt .title {
            font-size: 20px;
            color: #ac3b61;
        }
        
        .features-list dd {
            margin-left: 45px;
            margin-bottom: 30px;
            font-size: 16px;
            color: #555;
        }
        
        /* Media Queries */
        @media screen and (max-width: 768px) {
            .features-wrapper {
                flex-direction: column;
            }
            
            .features-list, .features-image {
                width: 100%;
            }
            
            .features-image {
                margin-top: 30px;
            }
            
            .section03-title h2 {
                font-size: 28px;
            }
            
            .section03-title p {
                font-size: 16px;
            }
            
            .features-list dt .number {
                font-size: 24px;
            }
            
            .features-list dt .title {
                font-size: 18px;
            }
        }
        
        @media screen and (max-width: 480px) {
            .section-title h2 {
                font-size: 24px;
            }
            
            .section-title p {
                font-size: 14px;
            }
            
            .features-list dt {
                align-items: flex-start;
            }
            
            .features-list dt .number {
                font-size: 22px;
            }
            
            .features-list dt .title {
                font-size: 16px;
                line-height: 1.4;
            }
            
            .features-list dd {
                margin-left: 35px;
                font-size: 14px;
            }
}
/* --- sec04  ---*/

.sec04{ background-color:#9d2238;} 
.sec04 .inner{ background-color:#ffffff; padding-bottom:50px;} 

.lesson-container {
  display: flex;
  flex-wrap: wrap;
  padding: 20px;
  gap: 20px;
  justify-content: center;
}

.lesson-box {
  width: 45%;
  box-sizing: border-box;
}

.inline-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.label {
  font-size: 1.8em;
  font-weight: bold;
  margin: 0;
}

.price {
  font-size: 2.2em;
  color: #a1002a;
  font-weight: bold;
  margin: 0;
}

.highlighted {
  background-color: #a1002a;
  color: #fff;
  padding: 6px 12px;
  border-radius: 4px;
}

.price-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  gap: 20px;
  font-size: 1rem;
}

.price-list li {
  color: #333;
}

.free-course {
            color: #b93e50;
            background-color: #fff;
            padding: 8px 15px 8px 0;
            font-size: 18px;
            display: inline-block;
            font-weight: bold;
            white-space: nowrap;
			width:100%;
        }
.free-title { border: 1px solid #b93e50; padding:5px; float:left; width:40%;}
.free-title-inn{ background-color:#962236; color:#ffffff; text-align:center;padding:5px;}
.course-details{
float:right; 
width:60%;
font-size: 1.2em;
color: #333;
margin-bottom:0!important;
}
.course-details li{ vertical-align:top; margin:0!important;}
.course-details li::marker { color:#9d2238; font-size:24px;}

.dot-item {
  display: inline-block;
  color: #333;
}

.indent {
  padding-left: 6.3em; /* フリーコースの文字幅にあわせて調整 */
}

/* スマホ対応 */
@media (max-width: 768px) {
	.sec04{padding:10px!important;}
	.sec04 .inner{ padding-bottom:30px!important;}
  .lesson-container {
    flex-direction: column;
    align-items: center;
  }

  .lesson-box {
    width: 100%;
  }

  .inline-row {
    flex-direction: column;
  }

  .price-list {
    flex-direction: column;
    gap: 5px;
  }
.indent {
    padding-left: 0;
  }
 .free-title,
  .course-details {
    float: none;
    width: 100%;
  }

  .free-course {
    white-space: normal;
	padding-right:0!important;
  }

  .course-details {
    padding-left: 0;
    text-align: left;
  }			
}

/* --- お問い合わせ  ---*/
.contact-section {
  display: flex;
  flex-wrap: wrap;
  justify-content:space-around;
  gap: 20px;
  padding: 20px;
  border: 5px solid #f4c4ce;
  box-sizing: border-box;
}

.contact-box {
  width: 45%;
  box-sizing: border-box;
}

/* Instagramエリア */
.contact-box img {
  width: 100%;
  height: auto;
}

.contact-box p {
  margin-top: 10px;
  font-size: 14px;
}

/* 電話エリア */
.phone-label {
  background-color: #ea5c8b;
  color: #fff;
  padding: 10px;
  text-align: center;
	border-radius:30px;
  font-weight: bold;
}

.phone-number {
font-size: 2.4em;
font-weight: bold;
text-align: center;
margin-top: 10px;
background: #ffffff url(images/icon-tel.jpg) left 20px center no-repeat;
padding:10px 0 0 20px;
background-size:50px;
font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "MS 明朝", "MS Mincho", serif;
}
.phone-number a{ color:#333; text-decoration:none;}

.phone-icon {
  font-size: 2rem;
  color: #ea5c8b;
  margin-right: 8px;
}

.phone-time {
  text-align: center;
  font-size: 14px;
  margin-top: 5px;
	font-weight:bold;
}

.note {
  font-size: 13px;
  text-align: center;
  margin-top: 10px;
  color: #666;
}
.shop-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  flex-wrap: wrap;
  text-align: center;
}

.shop-logo-left,
.shop-logo-right {
width:20%;
}

.shop-logo-left img,
.shop-logo-right img {
  width: 100%;
  height: auto;
}

.shop-text {
  width: 60%;
  font-size: 14px;
  box-sizing: border-box;
  padding: 0 10px;
}

.shop-text p {
  margin: 5px 0;
}


/* レスポンシブ対応（スマホ時：縦並び） */
@media (max-width: 768px) {
  .contact-box {
    width: 100%;
  }
  .shop-info {
    flex-direction: column;
    text-align: center;
  }

  .shop-logo-left,
  .shop-logo-right,
  .shop-text {
    width: 100%;
    padding: 10px 0;
  }

  .shop-logo-left img,
  .shop-logo-right img {
    width: 150px;
  }	

}

@media screen and (max-width: 840px) {
.phone-number {
background: #ffffff url(images/icon-tel.jpg) left 10% center no-repeat;
}}

@media screen and (max-width: 640px) {
.phone-number {
font-size:2em;
padding:10px 0 0 30px;
background: #ffffff url(images/icon-tel.jpg) left center no-repeat;
	}	
}

/************************************
** アーティシャルフラワー
************************************/
.art-sec01{background: #ffffff url(images/bg-art-sec01.png) center top no-repeat;padding-top:50px;}
.art-sec01 .box01{
	background-color:#fff;
		color:#222;
	padding:50px;
}

        .lesson-dl {
            display: flex;
            align-items: flex-start;
            gap: 0;
            margin: 0!important;
        }

        .lesson-dt {
            flex-shrink: 0;
            margin: 0;
        }

        .pentagon-title {
            background-color: #666;
            color: white;
            padding: 5px 20px;
            font-size: 14px;
            font-weight: bold;
            clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
            white-space: nowrap;
            margin: 0;
            display: inline-block;
            min-width: 140px;
        }

        .lesson-dd {
            flex: 1;
            margin: 0;
            padding: 0 0 12px 10px;
            line-height: 1.8;
            font-size: 16px;
            color: #333;
            align-self: center;
        }

        /* タブレット対応 */
        @media (max-width: 768px) {
            .lesson-container {
                padding: 25px 20px;
            }
            
            .lesson-dl {
                flex-direction: column;
                gap: 15px;
            }
            
            .pentagon-title {
                font-size: 15px;
                padding: 10px 22px 10px 18px;
                min-width: 120px;
            }
            
            .lesson-dd {
                padding: 0;
                font-size: 15px;
            }
}

/* スマートフォン対応 */
@media (max-width: 480px) {
            .lesson-dl {
                gap: 12px;
            }
            
            .pentagon-title {
                font-size: 14px;
                padding: 10px 20px 10px 16px;
                min-width: 110px;
                clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
            }
            
            .article dd.lesson-dd {
                font-size: 14px;
                line-height: 1.7;
				margin-left:0!important;
	}
        }

        /* 極小画面対応 */
        @media (max-width: 320px) {
            .lesson-container {
                padding: 18px 12px;
            }
            
            .pentagon-title {
                font-size: 13px;
                padding: 8px 18px 8px 14px;
                min-width: 100px;
            }
            
            .lesson-dd {
                font-size: 13px;
            }
}

/* ホバー効果 */
.pentagon-title:hover {
            background-color: #555;
            transition: background-color 0.3s ease;
}

/************************************
** プロフィール
************************************/
.profile-section {
  padding: 40px 20px;
}
.profile-title {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 40px;
  font-family: serif;
}
.profile-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}
.profile-text {
  flex: 1 1 0;
}
.atelier {
  font-size: 1rem;
  margin-bottom: 8px;
}
.name {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 16px;
padding-left:0!important;
}
.career {
  line-height: 1.6;
  margin-bottom: 24px;
}

.profile-list  {
 padding-top:10px;
 padding-bottom:10px;
border-top: 1px solid #b35a67;
}
.profile-list dt {
  font-weight: bold;
  margin-top: 16px;
}
.profile-list dd {
  margin-left: 1.5em;
  margin-top: 4px;
  line-height: 1.6;
}
.profile-image {
  flex: 0 0 300px; /* PC時の横幅 */
}
.profile-image img {
  width: 140px;
  height: auto;
  display: block;
  border-radius: 12px;
}

/* ── レスポンシブ ── */
@media (max-width: 768px) {
  .profile-wrapper {
    flex-direction: column;
    gap: 24px;
  }
  .profile-image {
    flex: none;
    max-width: 100%;
    margin: 0 auto;
  }
  .divider {
    width: 100%;
  }
}

/************************************
** お問い合わせ
************************************/
 .box_con {
          max-width: 1100px;
          margin: 0  auto;
        }
        @media only screen and (max-width: 768px) {
          .box_con {
            width: 95%;
          }
        }
        .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 {
            text-align: center;
            width: 100%;
            display: block;
            background: #f5f6f7;
            padding: .8em .2em;
          }
        }
        .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;
        }

/************************************
** 投稿ページ
************************************/
.category .container,
.single .container{
background-image:none;
}


.category #content,
.single #content {
	margin:0 auto;
	background: #FFF;
    padding: 0 5% 2% 5%;
    max-width: 1100px;
}

/* 投稿ページのアイキャッチを幅20%で右寄せ */
.single article .eye-catch-wrap {
  float: right;         /* 右寄せ */
  width: 30%;           /* 幅20% */
  max-width: none;      /* Cocoonのデフォルトmax-widthを解除 */
  margin: 0 0 1em 1em;  /* 下と左に余白 */
}

/* あるいは画像本体に対して */
.single .wp-post-image {
  float: right;
  width: 30%;
  max-width: none;
  margin: 0 0 1em 1em;
}

/* 高さが出すぎる場合の任意設定 */
.single article .eye-catch-wrap img,
.single .wp-post-image {
  height: auto;
  max-height: 300px;  /* お好みで調整 */
  width: 100%;
}

/* モバイル回復例 */
@media screen and (max-width: 768px) {
 .single article .eye-catch-wrap,
  .single .wp-post-image {
    float: none;
    width: 100%;
    margin: 0 0 1em;
  }
}


.category h2.entry-card-title {
  position: relative;
  border: 1px solid #e94871;
  padding: 5px 10px 5px 30px;
}
.category h2.entry-card-title::after {
  position: absolute;
  content: '';
  top: 0.5em;
  left: 0.5em;
  width: 6px;
  height: calc(100% - 1em);/*100％から上下の空き分を除いたもの*/
  background-color: #e94871;
  border-radius: 4px;
}


.single .article h3 {
font-size:1em;
border-left: 10px solid #7db4e6;	

}

.single .article h4{
font-size:16px;
padding: 0.5em;
color: #494949;
border-bottom: solid 1px #7db4e6;
}
.single .article h5{
font-size:14px;
padding: 0.5em;
color: #494949;
background: #eaf4fc;
border-left: solid 5px #7db4e6;
	border-bottom:none;
}

.cta-box {
border: solid 1px #9d9d9d;
border-radius: 8px;
background-color: #fff;
color:#444;
}

.new-entry-card-post-date{color:#00a8e3;}
.date-tags{display:none;}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1100px以下 (タブレット横サイズ)* */
@media screen and (max-width: 1100px){

#header-container-in{ width:100%; position:relative; padding-top:70px!important;}
#header-container {
    padding-top: 5px;
    padding-bottom: 10px;
}	
	
.logo{
position:absolute;
top: 0px;
left: 0;	
}



/************************************
** ヘッダー
************************************/
#header-container-in{ width:100%; position:relative;}
#header-container {
  padding-top: 15px;
  padding-bottom: 0px;
  height:auto;
}
	
.page .inner{
	width:100%;
	margin:0 auto;
}	

.tagline{ 
	margin-top:0!important;
	margin-bottom:0!important;
}
	
.mobile-header-menu-buttons{ background-color:#fff;}

.search-menu-button{ display:none;}
.navi-menu-button{ margin-top:7px;}
	
	
/*ロゴエリア*/
.mobile-menu-buttons .menu-button{display:block;}
	
.logo{
position:absolute!important;
top: 0!important;
left: 0!important;	
}
.logo-menu-button{
	position:relative;
	left:0px;
	width:100%;
}
	
.logo-menu-button img {
max-height: 60px;
	max-width:95%;
	margin: 7px 0 0 15px;
}

	
/*メニューエリア*/
#menu-h-menu li{ font-size:0.8em!important;}
.m-tel {
   padding: 10px 30px!important;
   width: 250px;
}
	

.search-menu-button.menu-button,
.mobile-header-menu-buttons .navi-menu-button.menu-button{
	height: 65px;
	padding-top: 5px;
    padding-left: 10px;
    padding-right: 20px;
}
.navi-menu-button { width:60px!important;}	
.navi-menu-button img{margin-right:0; }
.navi-menu-caption{ display:none!important; }	
	
	
/*固定ヘッダーエリア*/	
.fixed-header #navi .navi-in {
position: absolute;
left: 230px!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 .h-submenu{
  width:340px;	
  position: absolute;
  top: -10px;
  left: 750px;
  margin-top: 0 !important;	
}
.fixed-header #menu-h-menu li{ /*width:16%!important;*/ }
.fixed-header .h-submenu li{ max-width:120px;}	
.fixed-header .h-submenu img{ }
	
/*メイン画像エリア*/
.wp-block-cover{min-height:70vh;}

img.alignright, img.alignleft{
display:block;
margin:5px auto 20px auto;
}
#menu-h-menu li{ width:90px!important; }
/************************************
** 固定ページ
************************************/
.page .inner{
	width:100%;
	margin:0 auto;
	padding:0 20px;
}

/************************************
** TOP
************************************/
.home #main-image{
width:100%;
}
	
.home #main-image p{
    width: 100%;
    margin: 0 auto;
}
	
}




/*1023px以下*/
@media screen and (max-width: 1023px){
	
/************************************
** ヘッダー
************************************/
#header-container-in{ width:100%; position:relative;}
#header-container {
  padding-top: 15px;
  padding-bottom: 0px;
}
	
.page .inner{
	width:100%;
	margin:0 auto;
}	

.tagline{ 
	margin-top:0!important;
	margin-bottom:0!important;
}
	
.mobile-header-menu-buttons{ background-color:#fff;}

.search-menu-button{ display:none;}
.navi-menu-button{ margin-top:7px;}
	
	
/*ロゴエリア*/
.mobile-menu-buttons .menu-button{display:block;}
	
.logo{
position:absolute!important;
top: 0!important;
left: 0!important;	
}
.logo-menu-button{
	position:relative;
	left:0px;
	width:100%;
}
	
.logo-menu-button img {
max-height: 60px;
	max-width:95%;
	margin: 7px 0 0 15px;
}

	
/*メニューエリア*/
.mobile-menu-buttons .h-submenu li::marker{list-style-type: none!important;}		
#menu-h-menu li{ font-size:0.8em!important;}
.m-tel {
   padding: 10px 30px!important;
   width: 250px;
}

#navi-menu-open .fa{ font-size:16px; }	
.search-menu-button.menu-button,
.mobile-header-menu-buttons .navi-menu-button.menu-button{
	height: 65px;
	padding-top: 5px;
    padding-left: 10px;
    padding-right: 20px;
}
.navi-menu-button { width:60px!important;}	
.navi-menu-button img{margin-right:0; }
.navi-menu-caption{ display:none!important; }	
	

	
/*固定ヘッダーエリア*/	
.fixed-header #navi .navi-in {
position: absolute;
left: 230px!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 .h-submenu{
  width:340px;	
  position: absolute;
  top: -10px;
  left: 750px;
  margin-top: 0 !important;	
}
.fixed-header #menu-h-menu li{ /*width:16%!important;*/ }
.fixed-header .h-submenu li{ max-width:120px;}	
.fixed-header .h-submenu img{ }
	
/*メイン画像エリア*/
.wp-block-cover{min-height:70vh;}

img.alignright, img.alignleft{
display:block;
margin:5px auto 20px auto;
}
.alignright, .alignleft {
        float: none;
}
 #navi-menu-open .fa {
    width: 60px;
    height: 40px;
    font-size: 1.6em !important;
    margin-top: 7px;
    margin-right: 10px;
    text-align: left;
	}	 
 #navi-menu-open .fa:before { color:#e73d90;}
.pc-img { display:none !important;}
.tab-smt{ display:inline!important;}	
.smt-img{ display:inline!important;}
#main-image .smt-img{display:none !important;}
.tab-img{ display:none !important;}
#main-image .tab-img{display:inline !important;}	
.h-submenu .smt-img { display:inline!important;}
	
}

/*1000px以下*/
@media screen and (max-width: 1000px){
.header-container-in.hlt-top-menu{display:none;}
.home #main-image p {}
}
	
/*840px以下*/
@media screen and (max-width: 840px){
/************************************
** 			header
************************************/	
.mobile-menu-buttons{background-color:#ffffff;height:70px;}	

/*ヘッダーボタンエリア　*/
.h-submenu{ 
width:70px; 
margin-top:5px!important; 
margin-left:0px!important;
padding:0!important;
position: absolute;
top: 5px;
right:60px;
}
	
.h-submenu li{ margin:0px 15px 0 5px!important;color:#fff; float:right;}
.mobile-header-menu-buttons .h-submenu li{ display:inline-block;}	

#navi-menu-open .fa{ 
	width:60px; 
	height:40px;
	font-size:1.6em!important;
	margin-top:7px;
	margin-right:10px;	
	text-align: left;
}
	
.menu-drawer li a{ padding-left:20px;}
	
/************************************
** 			section
************************************/	
section{ margin-top:0px!important; margin-bottom:0px!important; }

	
/************************************
** 			TOP
************************************/	
.home #main-image { width: 100%;}
.home #main-image p { 
	width:100%; 
	padding-left: 0px;
	padding-bottom:50px;
}	
.home #main-image p img {
        margin: 0px auto;
        width: 100%;
}

#main-image .smt-img{display:inline!important;}
.tab-img{ display:none !important;}
#main-image .tab-img{display:none!important;}
}

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