@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
font:80%/1.5 "Lucida Sans Unicode", "Lucida Grande", Arial, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
color:#252525;
-webkit-text-size-adjust: none;
background:#f2f2f2 url(images/bg.png);
}

html{background:#9b821f;}


/* リンク設定
------------------------------------------------------------*/
/* 電話番号リンク調整 */
a[href*="tel:"] {
	pointer-events: none;
}
@media only screen and (max-width: 1024px) {
	a[href*="tel:"] {
		pointer-events: initial;
	}
}

a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
color:#9b821f;
}

a:hover, a:active{
-webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
outline: none;
color:#f5ca2b
}


/**** Clearfix ****/
nav .panel:after, nav#mainNav:after, .newsTitle:after, .bg:after,.post:after,#footer:after{content:""; display: table;clear: both;}
nav .panel,nav#mainNav,.newsTitle,.bg, .post,#footer{zoom: 1;}


/* フォーム
------------------------------------------------------------*/
input[type="text"], textarea{
vertical-align:middle;
max-width:90%;
line-height:30px;
height:30px;
padding:1px 5px;
border:1px solid #d4d4d7;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
font-size:100%;
color:#555;
background:#fcfcfc;
}

textarea{
height:auto;
line-height:1.5;
font-size:130%;
}

input[type="submit"],input[type="reset"],input[type="button"]{
padding:3px 10px;
background: #f5ca2b;
background: -moz-linear-gradient(top, #f5ca2b 0%, #9b821f 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5ca2b), color-stop(100%,#9b821f));
background: -webkit-linear-gradient(top, #f5ca2b 0%,#9b821f 100%);
background: -o-linear-gradient(top, #f5ca2b 0%,#9b821f 100%);
background: linear-gradient(to bottom, #f5ca2b 0%,#9b821f 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5ca2b', endColorstr='#9b821f',GradientType=0 );
border:0;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
line-height:1.5;
font-size:120%;
color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
background: #f5ca2b;
background: -moz-linear-gradient(top, #9b821f 0%, #f5ca2b 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#9b821f), color-stop(100%,#f5ca2b));
background: -webkit-linear-gradient(top, #9b821f 0%,#f5ca2b 100%);
background: -o-linear-gradient(top, #9b821f 0%,#f5ca2b 100%);
background: linear-gradient(to bottom, #9b821f 0%,#f5ca2b 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9b821f', endColorstr='#f5ca2b',GradientType=0 );
cursor:pointer;
}

*:first-child+html input[type="submit"]{padding:3px;}


/* レイアウト
------------------------------------------------------------*/
#wrapper, .inner{
margin:0 auto;
width:960px;
}

#header{
overflow:hidden;
}

#content{
width:100%;
padding:30px 0;
}

#sidebar{
float:right;
width:225px;
padding:30px 0;
}

#footer{
clear:both;
padding-top:20px;
border-top:1px solid #e2e2e2;
background:#f5ca2b url(images/footerBg.png);
}


/* ヘッダー
*****************************************************/
#header .bg{background:#f5ca2b;}


/* サイト説明文 + 住所
----------------------------------*/
#header h1,#header p{
float:left;
padding:3px 0;
color: #000;
font-size:90%;
font-weight:normal;
}

#header p{
float:right;
}


/* ロゴ (サイトタイトル)
----------------------------------*/
#header h2{
clear:both;
float:left;
padding:0px 0;
color: #323232 !important;
font-weight:bold;
}
.logo{
color: #323232 !important;
}
/* サブナビゲーション
----------------------------------*/
#header ul{
font-size:160%;
padding-top:24px;
float:right;
}

#header ul li{
display:inline;
margin-left:10px;
}

#header ul li a{
padding-left:15px;
background:url(images/arrowSub.png) no-repeat 0 50%;
}

#header ul li a:hover{background-position:3px 50%;}


/* トップページ　メイン画像
----------------------------------*/
#mainimg{
margin-top:20px;
background-color:#FFF;
z-index:0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
	justify-content: center;
	flex-direction: column-reverse;
}

.visual_left{
	width:270px;
	margin:0 0px 0 0;
}

.visual_right{
}

@media screen and (min-width: 768px) {
.visual_left{
	width:270px;
	margin:0 50px 0 0;
}
#mainimg{
    flex-direction: row;
}
}











.postWrap{
margin:0 0 20px 0;
padding:3px;
border:1px solid #e2e2e2;
background:url(images/tp.png);
}

.post{
padding:10px;
border:1px solid #f1f1f1;
background: #fff;
}

article.archive span{padding-left:10px;}


/* タイポグラフィ
*****************************************************/
h2.title{
clear:both;
margin:30px 0 5px;
padding:5px 0;
font-size:130%;
background:url(images/border.png) repeat-x 0 100%;
}

h2.first{margin-top:0;}

.dateLabel{
margin:0 0 10px;
text-align:right;
font:italic 1em "Palatino Linotype", "Book Antiqua", Palatino, serif;
}

.post p{padding-bottom:15px;}

.post ul{margin: 0 0 10px 10px;}

.post ul li{
margin:5px 0 0 15px;
list-style:disc;
}

.post ol{margin: 0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1, .post h2, .post h3, .post h4{clear:both;}

.post h1{
margin:20px 0;
padding:5px 10px;
font-size:150%;
color: #fff;
border-radius:4px;
background:#9b821f;
box-shadow:0 0 3px rgba(0,0,0,0.2); 
}

.post h2{
margin:10px 0;
padding:3px 5px;
font-size:130%;
font-weight:normal;
color: #3f0000;
border-left:5px solid #3f0000;
}

.post h3{
margin:10px 0;
font-size:120%;
font-weight:normal;
color:#9b821f;
border-bottom:1px solid #9b821f;
clear:both;
}

.post blockquote {
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}
 
.post blockquote p{padding:5px 0;}

.post table{
border: 1px #9b821f solid;
border-collapse: collapse;
border-spacing: 0;
margin:10px 0 20px;
}

.post table th{
padding:7px 10px 7px 5px;
border: #9b821f solid;
border-width: 0 0 1px 1px;
font-weight:bold;
color:#fff;
background:#f5ca2b;
}

.post table td{
padding:7px 5px;
border: 1px #9b821f solid;
border-width: 0 0 1px 1px;
background:#fff;
}
/* テーブル変更後ここから
------------------------------------------------------------*/
.post table{
border: 1px #222 solid;
border-collapse:collapse;
border-spacing:0;
margin:10px 0 30px;
width:100%;
}
.post table th{
padding:15px 15px 0px 5px;
font-weight:bold;
	display: block;
background:#f5ca2b;
}
.post table td{
padding:15px;
border: 1px #222 solid;
border-width:0 0 1px 1px;
	display:block;
}


@media screen and (min-width: 768px) {

.post table th{
padding:15px;
font-weight:bold;
	white-space: nowrap;
	display:table-cell;
	width:20%;
}
.post table td{
padding:15px;
border-width:0 0 1px 1px;
	display:table-cell;
}
}


.post dt{font-weight:bold;}

.post dd{padding-bottom:10px;}

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

img.aligncenter {
display: block;
margin:5px auto;
}

img.alignright, img.alignleft{
padding:4px;
margin:0 0 2px 7px;
display:inline;
}

img.alignleft{margin: 0 7px 2px 0;}

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

@media screen and (max-width: 767px) {
img.alignleft{float: none;
display: block;
margin:5px auto;
}
}

/* フッター　ウィジェット
*****************************************************/
.widgetWrap{
margin: 0 0 20px;
padding: 3px;
border:1px solid #fff;
background:#f4f4f4;
box-shadow:0 0 3px rgba(0,0,0,0.5);
}

section.widget, .widgetInfo,#calendar_wrap{
padding: 10px 7px;
border:1px solid #eee;
background: #fff;
}

#banners img{
max-width:300px;
height:auto;
margin-bottom:10px;
box-shadow:0 0 3px rgba(0,0,0,0.5); 
}

#banners a:hover img{box-shadow:0 0 4px rgba(255,255,255,0.7);}

section.widget h3{
clear:both;
margin:0 0 10px;
padding:0px 0 3px 0;
font-size:100%;
font-weight:normal;
color: #333;
border-bottom:1px solid #ccc;
}

section.widget a{
padding:3px 0 3px 6px;
}

section.widget ul.sub-menu{margin-left:10px;}

section.widget a:hover{background-position: 3px 50%;}

#searchform input[type="text"]{
line-height:1.7;
height:24px;
width:100px;
vertical-align:bottom;
}


/* カレンダー */
#calendar_wrap table{margin:0 auto;width:90%;}
#calendar_wrap table caption{padding:10px 0;text-align:center;font-weight:bold;}
#calendar_wrap table th, #calendar_wrap table td{padding:3px;text-align:center;}
#calendar_wrap table th:nth-child(6),#calendar_wrap table td:nth-child(6){color:#0034af;}
#calendar_wrap table th:nth-child(7),#calendar_wrap table td:nth-child(7){color:#950000;}
#calendar_wrap table td#prev{text-align:left;}
#calendar_wrap table td#next{text-align:right;}
#calendar_wrap a{font-weight:bold;background:none;padding:0;text-decoration:underline;}
#calendar_wrap table td#prev a, #calendar_wrap table td#next a{text-decoration:none;}


/* お知らせ　
-------------*/
.newsTitle{
clear:both;
margin:0 0 20px;
padding:5px 0;
font-size:100%;
color: #333;
border-bottom:1px solid #ccc;
}

.newsTitle h3{
float:left;
font-weight:normal;
}

.newsTitle p{
float:right;
padding:0 0 0 10px;
font-size:.8em;
background:url(images/arrow.png) no-repeat 0 50%;
}

.news p{
clear:both;
padding-bottom:2px;
border-bottom: 1px solid #ccc;
}

.news p:last-child{border:0;}

.news p a{
display:block;
padding:5px 0;
color:#333;
}

.news a span{
color:#9b821f;
font:normal 90% Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
}

.news span{padding-left:10px;}

.news a:hover span{color:#f5ca2b;}



/* フッター
*****************************************************/
#footerWrapper{
width:990px;
margin-right:-30px;
}

#footer aside{
float:left;
width:300px;
margin-right:30px;
}

#copyright{
clear:both;
padding:5px;
text-align:center;
font-size:90%;
zoom:1;
color:#fff;
background:#9b821f;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
clear:both;
width: 100%;
height: 30px;
margin: 5px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
clear:both;
text-align:center;
}


/* トップページ 最新記事3件
------------------------------------------------------------*/
.thumbWrap{
width:990px;
margin:20px -35px 20px 0;
background-color:#FFF;
overflow:hidden;
}

.thumbWrap ul{
background-color:#FFF;
}
.thumbWrap li{
float:left;
width:300px;
margin:0 30px 0 0;
padding:2px 0 10px;
background-color:#FFF;
}

/* 最新記事リンク */
ul.thumb h3{
margin-top:10px;
padding:3px;
font-weight:normal;
font-size:100%;
text-align:center;
border:1px solid #e2e2e2;
border-radius:4px;
background:url(images/tp.png);
}

ul.thumb h3 span{
display:block;
padding:5px 3px;
border-radius:3px;
background:#f5ca2b url(images/mainnavBg.png) repeat-x;
}

ul.thumb h3 a{color:#fff;}
ul.thumb h3:hover span{background:#333;}


/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px){
nav div.panel{
display:block !important;
float:left;
}

a#menu{display:none;}		
	
nav#mainNav{
clear:both;
position:relative;
z-index:200;
background:#f5ca2b url(images/mainnavBg.png) repeat-x;
}

nav#mainNav li{
float: left;
position: relative;
border-right:1px solid #000;
}

nav#mainNav li:first-child{border-left:1px solid #000;}

nav#mainNav li a{
display: block;
text-align: center;
_float:left;
color:#fff;
height:40px;
line-height:40px;
padding:15px 84px 5px;
}

nav#mainNav li a span,nav#mainNav li a strong{
display:block;
font-size:90%;
line-height:1.4;
}

nav#mainNav li a span{
font-size:70%;
}

nav#mainNav li.current-menu-item, nav#mainNav li:hover, nav#mainNav li.current-menu-parent{
background:#f5ca2b url(images/mainnavBg.png) repeat-x 0 100%;
}

nav#mainNav ul ul{width:160px;}

nav#mainNav ul ul{display: none;}

nav#mainNav li:hover ul{
display: block;
position: absolute;
top:60px;
left:0;
z-index:500;
}

nav#mainNav li li{
padding:0 0 0 10px;
margin:0;
float: none;
height:40px;
line-height:40px;
width:160px;
border:0;
background:#f5ca2b url(images/mainnavBg.png) repeat-x;
border-bottom:1px solid #9b821f;
}

nav#mainNav li li:first-child{border-left:0;}

nav#mainNav li li a{
width:100%;
height:40px;
padding:0 0 0 ;
line-height:40px;
font-size:95%;
text-align:left;
}

nav#mainNav li li.current-menu-item a{font-weight:bold;}

nav#mainNav li li:hover{background:#f5ca2b url(images/mainnavBg.png) repeat-x 0 100%;}

nav#mainNav li:hover li:last-child{border:0;}
}


/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1024px){
#mainNav .inner{width:100%;}
	
nav#mainNav{
clear:both;
width:100%;
margin:0 auto;
padding:0;
background:#f5ca2b;
}

nav#mainNav a.menu{
width:100%;
display:block;
height:35px;
line-height:35px;
text-align:left;
color:#000;
background:url(images/menuOpen.png) no-repeat 10px 4px;
}

nav#mainNav a#menu span{padding-left:35px;}

nav#mainNav a.menuOpen{
background:url(images/menuOpen.png) no-repeat 10px -38px;
}

nav#mainNav a#menu:hover{cursor:pointer;}

nav .panel{
display: none;
width:100%;
position: relative;
right:0;
top:0;
z-index:1;
}

nav#mainNav ul{margin:0 0 20px;padding:0;}

nav#mainNav ul li{
float: none;
clear:both;
width:100%;
height:auto;
line-height:1.2;
}

nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a{
display: block;
padding:15px;
text-align:left;
color:#000;
}

nav#mainNav ul li a span{display:none;}
 
nav#mainNav ul li a:hover,nav#mainNav ul li.current-menu-item > a,nav#mainNav ul li a:active, nav#mainNav ul li li.current-menu-item a, nav#mainNav ul li.current-menu-item li a:hover, nav#mainNav ul li.current-menu-item li a:active{

background:#000;
}

nav#mainNav ul li li{
float:left;
border:0;
}

nav#mainNav ul li li a, nav#mainNav ul li.current-menu-item li a, nav#mainNav ul li li.current-menu-item a{
padding-left:30px;
font-size:90%;
}

nav#mainNav ul li li a, nav#mainNav ul li.current-menu-item li a, nav#mainNav ul li li.current-menu-item a{
padding-left:40px;
background:url(images/sub1.png) no-repeat 20px 18px;
}

nav#mainNav ul li li.current-menu-item a,nav#mainNav ul li li a:hover, nav#mainNav ul li.current-menu-item li a:hover{

background:#000 url(images/sub1.png) no-repeat 20px -62px;
}
	
nav#mainNav ul li li:last-child a{background:url(images/subLast.png) no-repeat 20px 20px;}
nav#mainNav ul li li:last-child.current-menu-item a,nav#mainNav ul li li:last-child a:hover,nav#mainNav ul li.current-menu-item li:last-child a:hover{


}

nav div.panel{float:none;}

#header ul li a,#header ul li a:hover{background-position:0 50%;}
}


/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 959px){
#wrapper, #header, .inner{width:100%;}

#header h1, #header p{padding:5px 10px;}
#header h2{padding:0px 10px 0;}
#header ul{padding:0px 10px 10px;}


nav#mainNav ul, .thumbWrap{margin:0 auto;}
nav#mainNav ul ul{padding:0;}

nav div.panel{float:none;}

#mainImg img{width:94%;height:auto;}

#content, #sidebar{
clear:both;
width:95%;
float:none;
margin:0 auto;
padding:20px 0 10px;
}

#banners{width:100%;margin:0 auto;text-align:center;}
#banners p{display:inline;margin:0 1% 0 0;}
#banners p img{width:48%;height:auto;}

.thumbWrap{width:100%;margin:10px auto 0;text-align:center;}
.thumbWrap ul.thumb li{width:30%; float:left;margin:0 1% 0 2%;}
.thumbWrap img{width:100%;height:auto;}

#footerWrapper{width:95%;margin:0 auto;}

#footer aside{float:none;width:100%;}

#calendar_wrap table{margin:0 auto;width:300px;}

}


/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px){
#header{text-align:center;}
#header h2,#header h1,#header p,#header ul{float:none;}
#headerInfo{width:250px;margin:0 auto;}
#footer ul{text-align:left;padding:15px;}
#footer ul ul{padding:0;}
}

/* 幅330px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 330px){
#calendar_wrap table{width:100%;}
#banners p img{width:48%;height:auto;}
}



/* お問い合わせ
------------------------------------------------------------*/
.kahen{
	width: 80% !important;
}
@media only screen and (min-width: 769px){
.kahen{
	width: 60% !important;
}
}

.contactform {
	width: 90%;
	line-height: 1.5em;
	margin-left: 20px;
	margin-bottom: 10px;
	font-size:1em;
}
@media only screen and (min-width: 769px){
.contactform {
	margin-left: 50px;
}
}
.contactform dt{
	margin-top: 10px;
}
.submitbotton{
}
.kugiri{
	margin-top: 10px;
	margin-right: 5px;
	margin-bottom: 10px;
	margin-left: 5px;
	border-bottom-width: 5px;
	border-bottom-style: solid;
	border-bottom-color: #B22D00;
}


/* フォント
------------------------------------------------------------*/
.redbold{
	font-weight:bold;
	color:#F00;
}
.font_link{
	color: #5CA2CF;
	text-decoration: underline
}
.font_large_blue{
	font-weight: bold;
	color: #415790;
	font-size:1.7rem;
	text-align:center;
}
.font_blue{
	font-weight: bold;
	color: #415790;
	font-size:1.2rem;
}
.font_large_mizuiro{
	font-weight: bold;
	color: #009FD6;
	font-size:1.8rem;
	text-align:left;
}
.font_small{
	font-size:0.75rem;
}
.font_couse{
		font-size:1.3rem !important;
		font-weight:bold !important;
}


ul.asterisk {
	margin:0rem 0px 0px 0rem;
}
ul.asterisk li {
  list-style-type: none;
  text-indent: -1em;
}
ul.asterisk li:before {
  display: inline;
  content: "※";
}

/* 枠制御
------------------------------------------------------------*/
.wakubox{
	overflow:hidden;
	margin-bottom:15px;
}
.noleft_text{
	margin:0 0 0 0px;
	padding-bottom: 15px;
}
@media only screen and (min-width: 960px){
.noleft_text{
	margin:0 0 0 410px;
	padding-bottom: 15px;
}
}



/*お問い合わせボタン
------------------------------------------------------------*/
.contact_btn{
  position: relative;
  display: inline-block;
  padding: 0.5em 1em;
  font-size:1.2rem;
  margin:10px auto 30px auto; 
  text-decoration: none;
  color: #FFF;
  background: #4CA83F;/*背景色*/
  border-radius: 10px;/*角の丸み*/
  font-weight: bold;
}

.contact_btn:hover {
  background: solid 2px #009FD6;
}

/* 写真横並び
------------------------------------------------------------*/
.photo_wrap{
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
}
.photo_box{
	width :96%;
	margin:0 2% 20px 2%;
	display: flex; /* flexを追加 */
	flex-direction: column; /* 縦方向に配置 */
	align-items: center; /* 中央揃え */
	justify-content: flex-end;
}
@media only screen and (min-width: 768px){
.photo_box{
	width :48%;
	margin:0 1% 20px 1%;
}
}
.photo_box img {
	max-width: 100%; /* 画像の最大幅を100%に設定 */
	height: auto; /* 高さを自動調整 */

}


/* コースと料金
------------------------------------------------------------*/

.course dl {
}
.course dt {
	font-size:1.0rem;
}
.course dd {
	margin:0 0 10px 0px;
	padding:0 0 3px 0;
	border-bottom:1px solid #009FD6;
}
@media screen and (min-width: 768px) {
.course dd {
	margin:0 0 10px 10px;
}
}

.course_ul{
	margin:0 0 0 20px !important;
}
@media screen and (min-width: 768px) {
.course_ul{
	margin:0 0 0 420px !important;
}
}




/*トップページ　チェックマーク付き、大きめの文字*/

.top_underline {
  padding: 0.2rem;
  margin: 0 0 0.2rem 0rem;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 2.2rem;
  color: #c5280a;
}

@media screen and (min-width: 768px) {
  .top_underline {
    margin: 0 0 0.2rem 2rem;
    font-size: 1.6rem;
    line-height: 4.0rem;
  }
}

.check-mark {
  padding: 0 0 40px 40px;
  position: relative;
}
@media screen and (min-width: 768px) {
.check-mark {
  padding: 0 0 15px 40px;
}
}



.check-mark::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 10px;
  border-left: 6px solid #c5280a;
  border-bottom: 6px solid #c5280a;
  transform: rotate(-45deg);
  margin: 18px 0 0 0;
}

/* 新しいハイライト構造 */
.highlight-wrapper {
  position: relative;
  display: inline-block;
}

.highlight-text {
  position: relative;
  z-index: 2;
  border-bottom: 4px solid #0099FF;
}

/* 黄色背景の範囲を絞る */
.highlight-wrapper::after {
  content: "";
  position: absolute;
  top: 50%; /* 文字の中央から */
  left: 0;
  right: 0;
  height: 1.2em; /* 高さを限定して、青ラインと重なるように */
  background: linear-gradient(transparent 0%, #FFFE03 100%);
  z-index: 1;
  pointer-events: none; /* テキスト選択の邪魔をしないように */
}


.black-small{
	display:block;
	font-size:1.2rem;
	color:#000;
	margin:-30px 0 0 0;
	}





/*トップページ　青い大きめの文字*/
.top_blue_wrap{
	width:350px;
	margin:0 auto;
	text-align:left;
}

















/*========================
フッター固定
　========================*/

.bottom-menu {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 45px;
    background-color: rgba(256, 256, 256, 0.85); 
    border-top: 2px solid #cccccc;
    z-index: 999;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
}

.bottom_btn {
    max-width: 300px;
    margin: 5px auto;
    text-align: center;
}

.bottom_btn a {
    display: block;
    background-color: #4CAF50;  /* 明るめのグリーン */
    color: #ffffff;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 24px;
    text-decoration: none;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.bottom_btn a:hover {
    background-color: #45a049;  /* ホバーで少し濃く */
    transform: scale(1.05);
}









/*========================
トップページ　３人並び
　========================*/


.voice-box-parent{
  width:100%;
  height:auto;
  display:flex;
  justify-content:space-between;
  flex-direction: column;
  padding:20px;
  box-sizing:border-box;
  background-color:#FFF;
}
.voice-box-child{
  width:100%;
  display:flex;
  flex-direction:column;
  padding:5px;
  box-sizing:border-box;/*余白を設定*/
}

@media screen and (min-width: 769px) {
.voice-box-parent{
  flex-direction: row;
}
.voice-box-child{
  width:31%;
}
}



.voice-box-child-title{
  position: relative;
  display: inline-block;
  width:90%;
  margin: 0px 2% 20px 2%;
  padding: 16px;
  border-radius: 8px;
  background-color: #c5e5f4;
  text-align: center;
  font-size: 1.8rem;
  font-weight:bold;
  line-height: 1.5;
  color: #445688;
}
.voice-box-child-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 25%;
  border-style: solid;
  border-width: 20px 0 0 20px;
  border-color: #c5e5f4 transparent transparent;
  translate: calc(-50% + 0.4px) 100%;
}
.voice-img img{
	max-width:300px;
	height:auto;
}
.voice-img{
	text-align:center;
}
@media screen and (min-width: 769px) {
.voice-img img{
  width:100%;
  height:auto;
	margin:0 auto;
}
}

.voice-box-child-text{
  width:100%;
  flex-grow:1;
  padding:10px;box-sizing:border-box;/*余白を設定*/
  border:2px solid #445688;
  margin:10px 0 20px 0;
  font-size:0.9rem;
}




