@charset "utf-8";

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


.flt-lft    {   float:left;     }   

.w25p   {    width: 25%;  }
.w50p   {    width: 50%;  }
.w75p   {    width: 75%;  }
.w100p  {    width: 100%;  }


.mt10 {    margin-top: 10px !important;  }
.mt20 {    margin-top: 20px !important;  }
.mt30 {    margin-top: 30px !important;  }
.mt40 {    margin-top: 40px !important;  }
.mt50 {    margin-top: 50px !important;  }

.mb10 {    margin-bottom: 10px !important;  }
.mb20 {    margin-bottom: 20px !important;  }
.mb30 {    margin-bottom: 30px !important;  }
.mb40 {    margin-bottom: 40px !important;  }
.mb50 {    margin-bottom: 50px !important;  }

.mb1em {    margin-bottom: 1em !important;  }
.mb2em {    margin-bottom: 2em !important;  }
.mb3em {    margin-bottom: 3em !important;  }

.ml0    {    margin-left: 0    !important;  }
.ml10   {    margin-left: 10px !important;  }
.ml15   {    margin-left: 15px !important;  }
.ml20   {    margin-left: 20px !important;  }
.ml30   {    margin-left: 30px !important;  }


.pl0    {   padding-left:0    !important;  } 
.pl10   {   padding-left:10px !important;  }
.pl15   {   padding-left:15px !important;  }
.pl20   {   padding-left:20px !important;  }

.pb0    {   padding-bottom:0  !important;  }
.pb10   {   padding-bottom:0  !important;  }
.pb15   {   padding-bottom:0  !important;  }
.pb20   {   padding-bottom:0  !important;  }

.bg-bk  {   background-color: black  !important;    }
.bg-pk  {   background-color: pink  !important;     }
.bg-yw  {   background-color: yellow  !important;   }
.bg-gd  {   background-color: gold  !important;     }


 
.bold {    font-weight: bold;  }
 
.ul-black {
    border-bottom:1px solid black;
}

.bk-center {    display:block;margin: 0 auto;      }

.ta-center {    text-align:center;  }
.ta-left   {    text-align:left;    }
.ta-right  {    text-align:right;   }
.ta-start  {    text-start:left;    }
.ta-end    {    text-end:left;      }

.ts-none   {    text-shadow: none !important; }


.val-top {
    vertical-align:top !important;
}
.val-mid {
    vertical-align:middle !important;
}
.val-btm {
    vertical-align:bottom !important;
}

.bk-pink {  background-color: pink;         }
.bk-red  {  background-color: red;          }
.bk-aqm  {  background-color: aquamarine;   }
.bk-gold {  background-color: gold;         }


img {
	vertical-align:top;
}

/*===================================
     image size class 
  ===================================*/
img.image-center-50p {
	width: 50%;
	height:auto;
	margin:0 auto;
	display: block;
}
img.image-center-75p {
	width: 75%;
	height:auto;
	margin:0 auto;
	display: block;
}
img.image-center-100p {
	width: 100%;
	height:auto;
	margin:0 auto;
	display: block;
}

body {
	margin:0;
}




/*===================================
     404 erro page 
  ===================================*/
.page404-img {
	width: 100%;
	height:auto;
	margin-bottom: 50px;
}


/*===================================
     top filed area  
  ===================================*/
.bar-title-1 {
	width: 100%;
	font-size: 3rem;
	height: 2em;
	line-height: 2em;
	background-color: pink;
	color: white;
	text-align: center;
	border-radius: 5px;
}

.bar-title-2 {
	width: 100%;
	font-size: 2.5rem;
	height: 2em;
	line-height: 2em;
	background-color: pink;
	color: white;
	text-align: center;
	border-radius: 5px;
}

.bar-title-3, .bar-title-3s {
	width: 100%;
	font-size: 2rem;
	height: 2em;
	line-height: 2em;
	background-color: pink;
	color: white;
	text-align: center;
	border-radius: 5px;
}
.bar-title-3s {
	font-size: 1.5rem;
}
.bar-title-4, .bar-title-4s {
	width: 100%;
	font-size: 1.5rem;
	height: 1.5em;
	line-height: 1.5em;
	background-color: pink;
	color: white;
	text-align: center;
	border-radius: 5px;
}
.bar-title-4s {
	font-size: 1em;
}

/*===================================
     数字のリスト
  ===================================*/
ol.number_list {
	list-style:none; 		/* olが数字を付けることをキャンセル */
	counter-reset:number; 	/* 名前を付けたカウンターをリセット */
	margin-left: 2rem;
}
ol.number_list li::before{
	display: block;
	float: left;
	margin-left: -2rem;
	counter-increment: number; /* 任意の名前を付けて！ */
	content: counter(number)'.'; /* 名前を付けたカウンターを呼び出し */
}


/*===================================
     まる数字のリスト
  ===================================*/
ol.number_list_marunum {
	margin-left: 2rem;
	counter-reset: number;
}
ol.number_list_marunum li {
	line-height: 2em;
}
ol.number_list_marunum li::before {
	margin-left: -2rem;
	counter-increment: number;
	content: counter(number);
	background-color: #000;
	color: #fff;
	border: solid 1px #ffffff;
	display: block;
	float: left;
	line-height: 1.6rem;
	text-align: center;
	height: 1.6rem;
	width: 1.6rem;
	border-radius: 50%;
	margin-top: 4px;
}

/*===================================
     ピリオドリスト
  ===================================*/
ul.piriod_list {
	list-style:none;
	margin-left: 20px;
}
ul.piriod_list li::before{
	display: block;
	float: left;
	margin-left: -20px;
	content: '・';
	background: unset;
	border-radius: 0;
	margin-top:0;
}

/*===================================
     大きな丸リスト
  ===================================*/
ul.bigcircle {
	list-style:none;
	margin-left: 2rem;
	line-height: 2rem;
}
ul.bigcircle li::before{
  	display: block;
/*	vertical-align: middle;*/
	float: left;
	margin-left: -20px;
	content: '';
	width:1em;
	height: 1em;
	background: #aa0000;
	border-radius: 50%;
	margin-top:0.5rem;
}

/*===================================
     角リスト
  ===================================*/
ul.square_list {
	list-style:none;
	margin-left: 2rem;
	line-height: 2rem;
}
ul.square_list li::before{
  	display: block;
/*	vertical-align: middle;*/
	float: left;
	margin-left: -20px;
	content: '';
	width:1em;
	height: 1em;
	background: unset;
	border: 1px red solid;
	border-radius: 0;
	margin-top:0.5rem;
}













/*===================================
     top headre 
  ===================================*/

.top-header-h1 {
	display: none;
}

.header-inner {
	position:fixed;
	top: 0;
	left: 0;
	width: 100%;
    height: 50px;
    z-index: 20;
/*    background: rgba(255,255,255,0.7);*/
    background: rgba(255,192,203,0.5);
}

.headre-logo {
	width: auto;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 20px;
}
.headre-logo img {
	width: auto;
	height: 100%;
}
.mobile-3m {
	width: auto;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	right: 10px;
}
.site_menu_icon {
	color:pink;
}

.menu-pc {
	display: none;
}


/*===================================
     main contents
  ===================================*/
#contents {
/*	margin-top:60px;*/
}


/*===================================
     top image
  ===================================*/
.top-image-outer {
	padding: 0 5px;
	margin-top: 50px;
}
.top-images {
}

.top-image {
	width: 100%;
	height: auto;
}

/*===================================
     top message 
  ===================================*/
.top-msg-outer {
}

.top-msgs {
	width: 100%;
	height: auto;
}
.top-msg-image {
	width: 100%;
	height: auto;
}
/*===================================
     mobile menu 
  ===================================*/
.menu-mobile {
	pointer-events: none;
	opacity: 0;
	transition: opacity .3s linear;
}
.menu-mobile.is-active {
	pointer-events: auto;
	opacity: 1;
}

.menu-mobile {
	position: fixed;
	top: 50px;
	right: 0;
	z-index: 101;
	width: 100vw;
	height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
/*	background: #9a38c2;*/
	background: hotpink;
}
.mblmenu-items {
	width: 100%;
}
.mblmenu-item{
	width: 100%;
	height: auto;
	padding: .5em 1em;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
	border-bottom : 1px solid white;
	z-index:99;
}
.mblmenu-item a {
	text-decoration:none;
	line-height:2;
}
.mblmenu-item:hover{
	cursor: pointer;
	background: #b4ff69;
}

#menu-sm .mblmenu-item span {
    display:block;
    text-align: center;
}
#menu-sm .mblmenu-item .nav-ruby {
    font-size:0.5em;
}

#menu-sm .mblmenu-item span {
    display: block;
    text-align: center;
}
#menu-sm .mblmenu-item-sub span {
	text-align:left;
	padding-left: 40%;
}

/*===================================
     top big catch
  ===================================*/


/*===================================
     Service list 
  ===================================*/
.top-service-outer {
	padding: 5px;
	background: #fbf5f2;
}


.service-items {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    list-style: none;
	padding:0;
}
.service-items p {
	margin:0;
	padding:0;
}

.service-items figcaption {
	display:none;
	width: 100%;
}

.service-item {
	width: 50%;
	padding: 0 5px 10px;
	box-sizing: border-box
}

.crs-box-outer {
	width: 100%;
	height: auto;
	position: relative;
}

.crs-img-box {
	margin: 0;
}

.crs-img {
	width: 100%;
	height:auto;
}
.crs-title-box {
	background: gray;
	background: lightpink;
	height:30px;
}
.crs-title {
	text-align:center;
	font-size:1.2rem;
	line-height:30px;
}


.crs-detail:hover {

}
.crs-detail-txt {
	display:none;
}
.crs-detail-btn {
	display:block;
	position: absolute;
	top:0;
	left:0;

	width: 100%;
	height:100%;
	z-index:100;
}


.act-btn {
/* 	border: solid 4px red; */
}


/**/
.fig-caption-75p,
.fig-caption-100p {
	margin:0 auto;
	text-align:center;
	background:dimgray;
}
.fig-caption-75p {
	width:75%;
}
.fig-caption-100p {
	width:100%;
}

/*===================================
     News list 
  ===================================*/
.top-news-outer {
	padding: 5px;
}

.top-news {
	padding: 0 10px;
}

.news-items {
	display: flex;
}
.news-items p {
	font-size: 1em;
	font-weight: bold;
}

.news-date {
	width: 140px;
}
.news-text {
    border-bottom: solid 1px black;
    margin-inline-start: initial;
}


/*===================================
     Blog  (TOP)
  ===================================*/
.top-blog-outer {
	padding: 5px;
	background: #fbf5f2;
}

.blog-items {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    list-style: none;
	padding:0;
}

.blog-item {
	width: 100%;
	height: 100px;
	
	margin-bottom:20px;
	background: lightpink;
/*	border-radius:10px;*/
	font-size: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    list-style: none;
	padding:0;
}


.thumb-box {
	width: 100px;
	height: 100px;
}
.thumb-img {
	width: 100%;
	height:auto;
}

.info-box {
	width: calc( 100% - 100px );
	height: 100px;
	overflow: scroll;
}

.blog-date-box {
	width: 100%;
	height: calc( 5px + 1em );
	padding: 5px 5px 0 5px;
	margin: 0;
	
}

.blog-date-box i {
	font-size: 0.7em;
}
.blog-date-box .date_time {
	display: inline;
	font-size: 0.7em;
}
.blog-date-box .blog-comment-count {
	display: inline;
	font-size: 0.7em;
}

.blog-tags-box {
	width: 100%;
	height: calc( 5px + 1em );
	padding: 5px 5px 0 5px;
	margin: 0;
}
.blog-tags-box i, .blog-tags-box a{
	display: inline;
	font-size: 0.7em;
}

.blog-title-box {
	width: 100%;
	padding: 5px 10px 0 10px;
	margin: 0;
/*	height:1em;*/
}

/*===================================
     Copyright  
  ===================================*/
.copyright-outer {
	background: lightpink;
	padding: 5px;
}

.copyright-inner {
	width: 100%;
}
.cpy-text {
	text-align: center;
}
	
.top-arrow {
	display: none;
	position: fixed;
	bottom: 75px;
	right: 0;
}
.top-arrow a {
	color: hotpink;
}


/*=====================================
  footer mennu設定
======================================*/
#btm-menu-pc {
	display: none;
}
.nav-list {
	display: table;
	padding: 0;
	list-style: none;
	text-align: center;
	background: white;
	table-layout: fixed;
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}
.nav-item {
	display: table-cell;
	padding: 4px 0px;
}
.nav-item i {
	display: block;
	font-size: 24px;
	color:black;
}
.nav-item a span {
	display: block;
	font-size: 10px;
	color:black;
}
.nav-item {
	border: solid 1px gray;
}
.btm-menu-sm {
	display: block;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index:102;
}

.footer-outer {
	margin-top: 60px;
	margin-bottom: 48px;
	position: relative;
}

/* footer sns bar */
.footer-sns {
	overflow: visible;
	position: absolute;
	top: -51px;
	left:50%;
    transform: translateX(-50%);
}

.social-nav {
	display: flex;
}

.social-nav-instagram, .social-nav-twitter, .social-nav-tiktok, .social-nav-instagram, .social-nav-youtube {
	margin-right:18px;
}

/*===================================
     ABOUT page 
  ===================================*/
.about-txt {
	font-size: 1.5rem;
	
}

/*===================================
     Service page 
  ===================================*/
.service-outer {
	background-color: #fbf5f2;
	padding:5px;
}
.service-cmt-txt {
	font-size: 1.2em;
}
.srvc-ruby-text {
	font-size: 0.8em;
}
.srvc-cancel-text {
	text-decoration: line-through;
}


/*===================================
     Service  
  ===================================*/
.srvc-about-blk, .srvc-course-blk, .srvc-flow-txt, .srvc-nowday-blk, .srvc-system-blk, .srvc-listener-blk, .srvc-resv-blk {
	font-size: 1.1rem;
	line-height: 2em;
}

.srvc-about-blk .strength {
	font-size: min(6vw,2rem);
	line-height: 2em;
}

.srvc-about-ruby {
	font-size: 0.8rem;
}

/* prive */
.srvc-price-text-blk {
	padding: 10px;
}
.srvc-price-text-cntnt {
	padding: 10px;
}
.srvc-price {
	font-size: 2rem;
	line-height: 2em;
	display: block;
	text-align: center;
}
.srvc-price-ruby {
	font-size: 0.8rem;
	line-height:1.6rem;
}
.srvc-price-man {
	font-size: 0.8rem;
	line-height:1.6rem;
	display: block;
	text-align: center;
}
.srvc-price-komikomi-blk {
	padding: 10px;
}

.srvc-price-komikomi-cntnt {
	padding: 10px;
	padding-left: 1em;
}
.srvc-price-big {
	color:#ff1493;
	font-size:2.2em;
}
.srvc-price-ruby2 {
	color: #ff1493;
}

.srvc-price-opt-blk, .srvc-price-opt-cntnt,
.srvc-price-castopt-blk, srvc-price-castopt-cntnt {
	padding: 10px;
}


/* form 7 */
.wpcf7-text, .wpcf7-textarea, .wpcf7-email, .wpcf7-file, .wpcf7-submit {
	width: 100%;
	border: 1px solid rgba(0, 0, 0, 0.16);
	margin-bottom:10px;
}

.wpcf7-radio {
	display:block;
	margin-bottom:10px;
}

.wpcf7-text:focus,
.wpcf7-email:focus {
	outline: 2px solid #3498db;
	outline-offset: 0;
}

span.wpcf7-radio .wpcf7-list-item {
	margin-top:5px;
	display: block;
}
/* — コンタクトフォーム7　送信ボタンのカスタマイズ — */
input.wpcf7-submit {
	padding:1em !important;/* ボタン内の余白 */
	margin:2em 0em !important;/* ボタンの上下の余白 */
	background-color: pink !important;/* 背景の色 */
	border-radius: 5px !important;/* 角を丸く*/
	color: #fff !important;/* 文字の色*/
	font-size: 18px !important;/* 文字の大きさ */
	font-weight: bold !important;/* 文字の太さ*/
	width: 50%;/* ボタンの横幅*/
	transition:0.5s;/* 背景色が変わるまでの時間*/
	box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.10);/* 薄っすらとボタンにドロップシャドウをかける*/
	text-align:center;
}

input.wpcf7-submit:hover {
	background-color: deeppink !important;/* マウスを乗せたときの背景色 */
	color: #fff !important;/* マウスを乗せたときの文字の色 */
}
.wpcf7-not-valid-tip {
	color: red;
}

.btn-submit {
    width: 100%;
    text-align: center;
}

.screen-reader-response {
	display: none;
}

/*===================================
     Q and A ページ
  ===================================*/
.qanda-outer {
    padding: 5px;
    color: black;
}

.qanda-inner {
}

.qanda-list {
	line-height: 1.5rem;
	font-size:1.0rem;
	text-decoration:underline;
	color: black;
}
.qanda-items {
	counter-reset:qanumber; 	/* 名前を付けたカウンターをリセット */
}

.qanda-items .qanda-item {
	border: 1px solid #ccc;
	margin-bottom:10px;
	border-radius: 10px;            /* CSS3草案 */  
	overdflow: hidden;
}

.qanda-items .qanda-item-qtn {
	display:block;
	font-weight: bold;
	color: gray;
	background-color: pink;					/*背景色（古いブラウザだとここの色のみが出ます）*/
	padding: 8px;
	border-radius: 10px 10px 0 0 ;
	line-height: 120%;
}
.qanda-items .qanda-item-qtn:before {
	counter-increment: qanumber;
	content: "Q"counter(qanumber)":";
	font-weight: bold;
	margin-right: 8px;
}
.qanda-items .qanda-item-ans {
	display:block;
	padding: 8px 16px 12px 30px;
	margin: 0;
	line-height: 120%;
}
.qanda-items .qanda-item-ans:before {
	content: "A:";
	font-weight: bold;
	margin-right: 8px;
	margin-left: -21px;
}

/*===================================
     BLOG　ページ
  ===================================*/
.blog-outer {
	padding: 0 5px;
	margin-top: 50px;
}

/*===================================
     Blog single
  ===================================*/
.blog-single-outer {
	display:block;
	padding: 5px;
	background: #fbf5f2;
	background-color: mistyrose;
}

.blog-single-info {
	border-bottom: solid 1px black;
}

.blog-single-content {
	line-height:2em;
}

.blog-single-title {
	font-size: 2rem;
	margin-bottom: 15px;
}
.blog-single-tagbox {
}

.blog-single-tagbox a {
color: #666;
    background-color: #fff;
    margin: 0 0.2em 0.5em 0;
    padding: 0.5em;
/*    border-radius: 5px;*/
    text-decoration: none;
    line-height: 1em;
    display: inline-block;
    border: 1px solid #888;
}

/*--------------------------------------
  コメント
--------------------------------------*/
/*コメントブロック全体のタイトル(H3)*/
.comments {
	color: 			#000;		/*文字色*/
	border: 		none;		/*外枠*/
	line-height: 	1.2rem;		/*改行幅*/
}

/*コメントブロック全体の設定*/
#comment-box {
	border-top:solid 1px #ddd;			/*外上線*/
	text-align: left;					/*テキスト左詰め*/
	background-color: mistyrose;		/*背景色*/
	padding: 5px;						/**/
	margin-bottom: 20px;				/*bottom margin */
}

/*コメントのリスト表示設定*/
#comment-box ol {
	list-style: 		none;		/*ナンバリングなし*/
}

/*コメントの子コメントブロックの設定(中に .comment-body)含む*/
.children {
	margin-left:	20px;		/*左マージン*/
	list-style: 		none;		/*ナンバリングなし*/
}

/*コメントのブロックの設定*/
.comment_body {
	border:solid 1px pink;					/*外枠*/
	border-radius: 		10px;					/*角丸のサイズ*/
	padding: 			10px;					/**/
	margin-top: 		10px;					/**/
	list-style: 		none;					/*ナンバリングなし*/
	position: 			relative;
}

/*コメントのヘッダー部分設定*/
.comment_header {
	position: 			relative;				/*ポジション*/
}

/*コメントアバター設定*/
.comment_header img {
	float:	 			left;					/*左フロート*/
	width: 				50px;					/*幅*/
	height: 			50px;					/*高さ*/
}

/*コメントの日付表示ブロック設定*/
.comment_meta {
	float: left;								/*左フロート*/
	width: auto;								/*幅*/
	width: calc(100% - 50px);					/*(100%-50px)*/
}
.comment_time {
	display:		block;						/*ブロックで表示*/
	font-size: 		70%;						/*文字サイズ*/
	color:			#900;						/*文字色*/
	padding-left: 	10px;						/*左パディング*/
}

/*コメント表示・名前設定*/
.fn {
	display: 		block;						/*ブロックで表示*/
	overflow:		hide;						/*はみ出しは非表示*/
	font-style: 	normal;				
	padding-left: 	10px;						/*左パディング(comment_timeと合わせる)*/
	color: 			#aaaaaa;					/*文字色*/
	line-height: 	1.0;						/*改行幅*/
	font-weight:	bold;						/*ボールド*/
}

/*コメント本文ブロック設定*/
.comment_content {
	display: 		block;						/*ブロックで表示*/
	padding: 		5px;						/*パディング*/
	line-height: 	1.2;						/*改行幅*/
}

.comment-reply-title {
	font-size:1.3em;
	line-height:	1.3em;
}

/*リプライリンクブロック設定*/
.reply {
	text-align: right;							/*表示位置を右へ*/
}

/*リプライボタン設定*/
.reply a {
	border-radius: 		4px;					/*角丸のサイズ*/
	background-color: 	hotpink;				/*背景色*/
	color: 				#000;					/*文字色*/
	padding:			4px;					/*パディング*/			
}


/*--------------------------------------
  コメント入力フォーム
--------------------------------------*/
/*コメント入力フォームブロック設定*/
#respond {
	border:solid 1px hotpink;					/*外枠*/
	border-radius: 		10px;					/*角丸のサイズ*/
	margin:				20px 0 0;				/**/
	padding: 			0 10px 0;
}

/*コメント入力フォーム：コメント入力設定*/
.comment-form-comment textarea {
	width: 				100%;					/*幅*/
	height:				100px;					/*高さ*/
}

/*コメント入力フォーム：名前入力設定*/
.comment-form-author input {
	width: 				100%;					/*幅*/
}

/*コメント入力フォーム：メールアドレス入力設定*/
.comment-form-email input {
	width: 				100%;				/*幅*/
	color:				#000;				/*文字色*/
}

/*コメント入力フォーム：キャプチャーコード入力設定*/
#respond input#captcha_code {
	background-color: 	#000;
	color:	#000;
}

/* form */
#respond input, #respond textarea {
  border: 1px solid rgba(0, 0, 0, 0.16);
  margin-bottom:10px;
}

/*リプライボタン設定*/
.form-submit .submit {
	border-radius: 		4px;					/*角丸のサイズ*/
	background-color: 	hotpink;				/*背景色*/
	color: 				#000;					/*文字色*/
	padding:			4px;					/*パディング*/			
}


/*===================================
     予約ページ 
  ===================================*/
.resv-outer {
	padding: 5px;
}

/*===================================
     お客様の声ページ
  ===================================*/
.listener-outer {
	padding: 5px;
}
/*お客様の声*/
.main-listener-list
{
}
.main-listener-item {
	width: auto;
	margin: 0 10px 30px 10px;
/*   border: solid 1px #ff69b4; */
	display: block;
  overflow: hidden;
	height: 120px;

    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
}
.main-listener-item:after {
	content: "";
	display: block;
	clear: both;
}

.main-listener-header {
	float: left;
	display: block;
	width: 80px;
	margin: 0;
}
.main-listener-body {
	float: left;
	margin: 0 0 0 20px;
/* 	width: 674px; */
    width: calc(100% - 104px);
}
.main-listener-header a {
	display: block
}
.main-listener-header a:hover {
	opacity: .8
}

.main-listener-img {
	display: block;
	width:  80px;
	height: 80px;
	margin: 0 0 0 0;
}
.main-listener-img img {
	width: 100%;
	height:auto;
/* 	display:none; */
}
.main-listener-header figure {
	margin: 0;
	display: block;
	position: relative;
}

.main-listener-header .main-listener-caption {
	padding: 1px 0 2px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	color: #fff;
	background-color: rgba(0, 0, 0, 0.5);
	font-weight: 600;
	font-size: 90%;
	text-align: center;
}
.main-listener-date {
	float: left;
	color: #999;
}

.main-listener-item .morebutton {
	float: left;
	font-size:0.75em;
	display:block;
	width:30px;
	margin: 0;
	padding-top:0px;
	padding-bottom:0px;
	text-align:center;
	border:2px solid;
	border-color:#aaaaaa #444444 #444444 #aaaaaa;
	background:#cccccc;
}

.main-listener-item .morebutton:hover{
	background:#777777;
}
/*お客様の声バルーン*/
.main-listener-item .baloon {
	position: relative;
	background: #f0f5e4;
	border: 2px solid #f5aee9;
}
.main-listener-item .baloon:after,.main-listener-item .baloon:before {
	right: 100%;
	top: 30px;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.main-listener-item .baloon:after {
	border-color: rgba(240, 245, 228, 0);
	border-right-color: #f0f5e4;
	border-width: 15px;
	margin-top: -15px;
}
.main-listener-item .baloon:before {
	border-color: rgba(245, 174, 233, 0);
	border-right-color: #f5aee9;
	border-width: 18px;
	margin-top: -18px;
}

.main-listener-item pre {
/* Mozilla */
white-space: -moz-pre-wrap;
/* Opera 4-6 */
white-space: -pre-wrap;
/* Opera 7 */
white-space: -o-pre-wrap;
/* CSS3 */
white-space: pre-wrap;
/* IE 5.5+ */
word-wrap: break-word;
}


/*=====================================
  18禁のモーダルウインドウ設定
======================================*/

/* confirm */
#confirm.modal {
	display: block;
	position: absolute;
	top: 25vh;
	width: calc(100% - 6px);
	max-width: 480px;
	margin:0 3px;
	z-index: 999;
	text-align:center; 
	border:1px solid #FFF; 
	border-radius:10px;
	padding: 10px 0;
}
.modal h2 {
	display: none;
}
.confirm-title {
	display: none;
}
.confirm-text-blk {
	color: white;
}
.modal img { 
	vertical-align:bottom;
}
.modal p {
	line-height: 1.5em;
	margin-bottom:10px; 
}
.modal a {
	cursor:pointer;
}
.modal a:hover {
	background-color: hotpink;
}

/* page pop-up */
#js-popup .popup {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: .6s;
}

#js-popup .popup.is-show {
    opacity: 0.8;
    visibility: visible;
}

#js-popup .black-background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgb( 0, 0, 0);
    z-index: 1;
    cursor: pointer;
}


#follow-btn .twitter-mention-button {
	color: black;
	background: white;
}

@media screen and (min-width: 480px) {
	/* 480px以上に適用されるCSS（タブレット用） */

/*===================================
     Service list 
  ===================================*/
.service-item {
	width: max( 225px, 50% );
	background-color: #fbf5f2;
}

/*=====================================
  18禁のモーダルウインドウ設定
======================================*/
#confirm.modal {
	margin-left: calc((100% - 480px) / 2);	
}


}
@media screen and (min-width: 960px) {
	/* 960px以上に適用されるCSS（PC用） */
/*===================================
     contents  
  ===================================*/
#contents {
	width: min(100vw, 1024px);
	margin: 0 auto;
}

/*===================================
     top image
  ===================================*/
.top-images {
	width: 100%;
	height: auto
}

.top-image {
	width:  min(100%, 1024px);;
	height: auto;
	display:block;
	margin: 0 auto;
}

/*===================================
     top message 
  ===================================*/
.top-msg-outer {
	width: min(100%, 1024px);
	margin: 0 auto;
}

.top-header-h1 {
	font-size:8px;
	width: 100%;
	text-align:right;	
}

/*===================================
     Service list 
  ===================================*/
.service-item {
	width: max( 225px, 33% );
	background-color: #fbf5f2;
}

/*===================================
     Blog  
  ===================================*/
.blog-item {
	width: 100%;
	height: 150px;
}
.thumb-box {
	width: 150px;
	height: 150px;
}
.thumb-img {
	width: 100%;
	height:auto;
}
.info-box {
	width: calc( 100% - 150px );
	height: 100px;
}

/*===================================
     top headre 
  ===================================*/
.mobile-3m {
	display:none;
}
.menu-pc {
	display: block;
	margin-left:200px;
}
.menu-items {
	display: flex;
	flex-direction: row;
	align-items: center;
}
.menu-item {
	width: calc(100% / 6);
	height:50px;
	line-height:50px;
	text-align:center;
}
.menu-item a {
	display: block;
	width:100%;
	height:100%;
}

.menu-item:hover {
	background-color: pink;
	color: white;
}

/* 以下サブメニュー対策 */
.menu-item:hover .menu-items-sub {	
	display:block;
	color: black;
}

.menu-items-sub {
	display:none;
}

.menu-items-sub .menu-item-sub:first-child {
	border:none;
}

.menu-item-sub {
    background: rgba(255,192,203,1);
    background-color:#fbf5f2;
    border-top: solid 1px black;
}

.menu-item-sub:hover {
	background-color: pink;
	color: white;
}

/*=====================================
  footer mennu設定
======================================*/
.btm-menu-sm {
	display: none;
}
.footer-outer {
	margin-bottom: 0;
}

}
@media screen and (min-width: 1280px) {
	/* 1280px以上に適用されるCSS（PC用） */

}





