@charset "utf-8";

/* ************************************************ 
*	基本設定
* ************************************************ */

body {
	font-family: Helvetica,HiraKakuProN-W3,'メイリオ',Meiryo,sans-serif;
	letter-spacing:0.05em;
	color:#444;
	font-size:16px;
	line-height:200%;
}

body {
  word-wrap:break-word;
}

/* YouTube16:9比率を保つ・はじまり */
.youtube {
  position: relative;
  width: 100%;
  max-width: 800px; /* 必要に応じて最大幅を設定 */
  height: auto;
}

.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;  /* ここで固定サイズを上書き */
  height: 100% !important; /* ここで固定サイズを上書き */
}

.youtube::before {
  content: "";
  display: block;
  padding-top: 56.25%; /* 16:9 の比率を維持 */
}

.wp-block-embed {
  position: relative;
  width: 100%;
  max-width: 800px; /* 必要に応じて最大幅を設定 */
  height: auto;
}

.wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 の比率を維持 */
}

.wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;  /* HTML側のwidthを上書き */
  height: 100% !important; /* HTML側のheightを上書き */
  display: block;
}
/* YouTube16:9比率を保つ・おわり */

.steplink a {
    background-color: #efefef;
    color: #333;
    float: left;
    margin-bottom: 10px;
    margin-top: 10px;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    width: 300px;
	font-size: 18px;
}

.steplink a:hover {
	text-decoration: none;
}

.calendar iframe {
	height: 400px;
}

.pack_img {
	float: right;
	width: 30%;
}

.pack_txt {
	float: left;
	width: 68%;
}

.menu table {
            border-collapse: collapse;
            color: #444;
            width: 100%;
            text-align: center;
            font-family: Arial, sans-serif;
        }
        .menu th, .menu td {
            border: 1px solid #ccc;
            padding: 10px;
            font-size: 15px;
            text-align: center; /* 中央寄せ */
        }
        .menu th {
            background: #ededed;
            font-weight: bold;
        }
        .menu .time {
            background: #f6f6f6;
        }
        .menu .discount {
            color: #d9534f;
            font-weight: bold;
        }

.about img {
    float: left;
    margin-right: 1%;
    width: 49%;
}

.staff {
	float: left;
	width: 35%;
}

.staff_txt {
	float: right;
	width: 63%;
}

.name {
    color: #191919;
    font-size: 20px;
    font-weight: bold;
    line-height: 150%;
    margin-bottom: 10px;
}

.katagaki {
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.2em;
}

.furigana {
    font-size: 13px;
    letter-spacing: 0.1em;
	font-weight: normal;
}

.trial_img {
	float: left;
	width: 35%;
}

.trial_txt {
	float: right;
	width: 63%;
}

.trial-title {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}

.yajirushi {
	float: left;
	width: 85%;
	padding-left: 15%;
	font-size: 40px;
	color: #ccc;
	margin-top: 30px;
	margin-bottom: 35px;
}

.underline {
	text-decoration: underline;
}

.entry-content pre {
  overflow:scroll;
  word-wrap:normal;
}

.fa {
    margin-right:0.2em;
}

.zei {
	font-size: 15px;
	font-weight: bold;
	color: #639EE2;
}

.kiyaku-container {
  max-width: 800px;
  margin: 30px auto;
  padding: 0 20px;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.bossa-title {
  font-size: 1.8em;
  text-align: center;
  padding: 30px 0 10px;
  color: #1c1c1c;
  border-bottom: 2px solid #eee;
}

.bossa-section {
  padding: 30px 20px;
}

.bossa-subtitle {
  font-size: 1.4em;
  margin-bottom: 20px;
  color: #2c2c2c;
  border-left: 6px solid #00a896;
  padding-left: 12px;
	line-height: 1.5;
}

.bossa-text {
  font-size: 1em;
  margin-bottom: 30px;
}

.bossa-list {
  padding-left: 20px;
}

.bossa-list li {
  margin-bottom: 16px;
  padding-left: 6px;
}

.bossa-sublist {
  list-style-type: circle;
  margin-top: 10px;
  padding-left: 20px;
}

.bossa-sublist li {
  margin-bottom: 6px;
  font-size: 0.95em;
}

.bossa-agree-button-wrap {
  text-align: center;
  padding: 50px 0 50px;
  border-top: 1px solid #eee;
  margin-top: 30px;
}

.bossa-agree-button {
  display: inline-block;
  background-color: #0077cc;
  color: white;
  font-size: 1.1em;
  padding: 14px 32px;
  border-radius: 6px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 119, 204, 0.2);
}

.bossa-agree-button:hover {
  background-color: #005fa3;
	text-decoration: none;
}
/* リンク */

a{
	color:#444;
	text-decoration:none;
}

a:hover{
	text-decoration:underline;
}

a:active, a:focus {
outline: 0;
}

.saki a {
	color:#111;
	text-decoration:underline;
}

.twothird a {
	color:#111;
	text-decoration:underline;
}

h2.acre {
	font-weight:normal;
	font-size:12px;
	letter-spacing: 0;
	margin-top: 3px;
}

/* 画像 */

img{
border:0;
padding:0px;
margin:0px
}


/* フロート */

.clear{ 
clear:both; 
}

/* リスト */

ol{
margin: 0 0 0 5px;
padding: 0 0 0 0;
list-style: decimal;
}

ul{
margin: 0 0 0 0;
padding: 0 0 0 0;
list-style: disc;
}

li a{
color:#45AAB8;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.heading {
  text-align: center;
  position: relative;
  padding-top:20px;
  padding-bottom:20px;
}
.heading span {
  position: relative;
  z-index: 9;
  padding: 0 20px;
  background: white;
  font-size:18px;
}
.heading b {
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 1;
  margin-top: -1px;
}

#p {
  color: #999;
}
#p b {
  background: #999;
}

.face {
    float: right;
    width: 15%;
}

.face img {
	padding-top:20px;
}

.price_title {
	font-size:15px;
	font-weight:bold;
	text-align:center;
	border-bottom:1px solid #999;
	padding-bottom:10px;
	margin-bottom:20px;
}

.cat_midashi {
	background-color:#333;
	float:left;
    color: #fff;
    font-size: 13px;
    padding: 3px 5px;
	margin-bottom:10px;
}

.cat_box dl dt {
    font-weight: bold;
	margin:0;
	padding:0;
}
.cat dt {
    float: left;
}

.cat_box dt,dd {
	line-height:150%;
}

.cat_box dl {
    border-bottom: 1px dotted #999999;
    clear: both;
    margin-bottom: 0;
    padding: 7px 2px;
}
.cat dd {
    display: block;
    margin-left: 40%;
}

.price_left {
	float:left;
	width:49%;
	margin-bottom:80px;
}

.price_left_option {
	float:left;
	width:49%;
	margin-bottom:80px;
}

.price_right {
	float:right;
	width:49%;
	margin-bottom:80px;
}



.faq {
	float:left;
	width:65%;
	margin-bottom:40px;
}

.faq_img {
	float:right;
	width:35%;
	margin-bottom:40px;
}

.faq_title {
    background-color: #555;
    color: #fff;
    float: left;
    font-size: 12px;
    margin-bottom: 30px;
    padding: 3px 10px;
}

.twothird img {
	margin-bottom:15px;
	margin-top:10px;
}

.showroom_img {
	float:left;
	width:100%;
	margin-top:20px;
	margin-bottom:60px;
}

.showroom_img li {
	float:left;
	width:20%;
	list-style:none;
	margin-bottom:0;
	line-height:0;
}

.showroom_img li img {
	width:100%;
	margin-bottom:0;
}

.step {
	font-size:18px;
	margin-bottom:15px;
	font-weight:bold;
	color:#666;
}

.type {
    float: left;
    margin-bottom: 50px;
    width: 100%;
}
.type li {
    float: left;
    list-style: outside none none;
    margin-left: 0;
    margin-right: 2%;
    width: 49%;
}
.type li a {
	border:solid 1px #111;
    color: #111;
	font-size:15px;
    display: block;
    padding-bottom: 15px;
    padding-top: 15px;
    text-align: center;
}
.type li a:hover {
    background-color: #111;
    color: #fff;
	text-decoration:none;
}
.type li:last-child {
    margin-right: 0;
}

.design_title {
	font-size:15px;
	margin-bottom:10px;
}

.design_box {
	float:left;
	width:100%;
	margin-bottom:30px;
}

.design_box a {
	color:#444;
	text-decoration:underline;
}

.design_box .more a {
	text-decoration:none;
}

.design_box img {
	margin-bottom:10px;
}

.design_box a:hover img {
    background: none repeat scroll 0 0 #fff;
    opacity: 0.5;
    transition: all 0.5s ease 0s;
}

.design_box li {
	float:left;
	width:40%;
	margin-right:2.5%;
	list-style:none;
	padding-left:4%;
	padding-right:4%;
	padding-top:4%;
	height:700px;
	border:dotted 1px #111;
}

.design_box li:nth-child(2n) {
	margin-right:0;
}

.kinzoku_box {
	float:left;
	width:100%;
	margin-bottom:30px;
}

.kinzoku img {
	margin-bottom:10px;
}

.kinzoku a:hover img {
    background: none repeat scroll 0 0 #fff;
    opacity: 0.5;
    transition: all 0.5s ease 0s;
}

.kinzoku_box li {
	float:left;
	width:23%;
	margin-right:2%;
	list-style:none;
	padding:4%;
	border:dotted 1px #111;
}

.heading {
    padding-bottom: 40px;
    padding-top: 40px;
    position: relative;
    text-align: center;
}
.heading span {
    background: white none repeat scroll 0 0;
    font-size: 18px;
    padding: 0 30px;
    position: relative;
    z-index: 9;
}
.heading b {
    height: 1px;
    left: 0;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    width: 100%;
    z-index: 1;
}
#p {
    color: #999;
}
#p b {
    background: #999 none repeat scroll 0 0;
}

.kantei_img {
	float:left;
	width:15%;
	margin-top:20px;
}

.kantei_txt {
	float:right;
	width:83%;
	margin-top:20px;
}

.btnbig a {
	border:solid 1px #111;
    color: #111;
    display: block;
    font-size: 18px;
    letter-spacing: 0.05em;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    padding-bottom: 20px;
    padding-top: 20px;
    text-align: center;
    width: 100%;
}
.btnbig a:hover {
    background-color: #111;
    color: #fff;
    text-decoration: none;
    transition: all 0.5s ease 0s;
}

.step_txt a {
	text-decoration:underline;
}

.banner {
	float: left;
	width: 100%;
}

.banner li {
	width: 49.5%;
	float: left;
	list-style: none;
}

.banner li {
	margin-right: 1%;
}

.banner li:nth-child(2n) {
	margin-right:0;
}

.banner img:hover {
	opacity: 0.5;
    transition: all 0.5s ease 0s;
}

.profile {
    float: left;
    width: 81%;
}

.simg {
	width:17%;
	float:right;
	padding-left:2%;
	padding-bottom:3%;
}

.syousai a {
	font-size: 10px;
	float: left;
	padding-right: 5px;
	padding-left: 5px;
	border:solid 1px #888;
	color: #444;
	margin-top: 15px;
	letter-spacing: 0.1em;
	padding-top:5px;
	padding-bottom:5px;
	}

.syousai a:hover {
	background-color: #888;
	color: #fff;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}

/* ************************************************ 
*	全体Wrapper
* ************************************************ */	

.wrapper {
	max-width: 960px;
	_width: 960px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	padding-top: 0px;
	padding-right: 15px;
	padding-bottom: 0px;
	padding-left: 15px;
}


/* ************************************************ 
*	ヘッダー
* ************************************************ */

#header {
	width:960px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 10px;
}

#header_top {
	margin-bottom:10px;
	float:left;
	width:100%;
}

#header h1 {
}

/* 全体の3カラムを横並びに */
.header_wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-end; /* ← ここをcenter → flex-endに変更 */
  gap: 20px;
  flex-wrap: wrap; /* モバイル対応 */
	margin-bottom: 10px;
}

/* 左ロゴ：サイズ固定気味に */
.logo_box {
  flex: 0 0 auto;
}

.logo_box img {
	width: 150px;
}

/* 中央 about_box：右寄せにしつつ余白を使う */
.about_box {
  flex: 1;
  text-align: right;
  min-width: 0;
}

/* 一番右のボタン */
.btn_box {
  flex: 0 0 auto;
}

/* ボタンデザイン */
.reserve-button {
  display: inline-block;
  padding: 10px 24px;
  background-color: #FF6B00;
  color: white;
  font-weight: bold;
  font-size: 14px;
  text-decoration: none;
  border-radius: 6px;
  white-space: nowrap;
}

.reserve-button:hover {
	background-color: #e65c00;
	text-decoration: none;
}

.phone {
	font-family: 'Quicksand', sans-serif;
	font-weight: 500;
    letter-spacing: 0.01em;
	font-size: 22px;
}

.phone a {
	 color: #333;
}

.phone .fa {
	 color: #333;
	font-size: 21px;
}

.btn_box {
	float: right;
	text-align: right;
	padding-top: 42px;
}

.block-three a:hover img {
    background: none repeat scroll 0 0 #fff;
    opacity: 0.5;
    transition: all 0.5s ease 0s;
}

.block-three li {
	width:23.7%;
	display:inline-block;
	margin-bottom:50px;
	vertical-align:top;
	margin-right:1%;
}

.block-three img {
	border: 1px solid #ddd;
    padding: 8px;
    width: 90%;
}

.block-three img:hover {
	border: 1px solid #111;
}

.block-three .title a {
    font-size: 15px;
    letter-spacing: 0;
    line-height: 150%;
    margin: 0 0 5px;
	color:#444;
}

.block-three .title a:hover {
	text-decoration:underline;
}

ul.block-three li:nth-child(4n) {
	margin-right:0;
}

.block-three .item-date_category {
	font-family: 'Arapey', serif;
	font-size:15px;
	margin-top:10px;
	letter-spacing:0.1em;
	color:#555;
	line-height:100%;
	margin-bottom:5px;
}

.block-three .post-date {
font-size:80%;
color:#111;
padding: 0;
margin: 0;
}

.lesson {
	float: left;
	width: 52%;
}

.item {
	float: right;
	width: 46%;
}

.item img {
	margin-top: 15px;
	margin-bottom: 10px;
}


/* ************************************************ 
*	トップナビゲーション
* ************************************************ */	

#nav {
	padding: 0;
	margin:0;
}

#topnav {
width:100%;
float:left;
border-top:solid 1px #D8D8D8;
border-bottom:solid 1px #D8D8D8;
margin-bottom:15px;
padding-top:20px;
padding-bottom:20px;
}

ul#topnav li{
font-weight: normal;
letter-spacing: 0;
list-style:none;
display:inline;
margin: 0 0 0 0;
float:left;
border-right:solid 1px #D8D8D8;
}

ul#topnav li a{
	font-family: 'Quicksand', sans-serif;
	font-weight: 500;
	color:#333;
	font-size: 16px;
	letter-spacing: 0.05em;
	text-decoration: none;
	padding-right: 0px;
	float:left;
	width:105px;
	text-align:center;
}

ul#topnav li:last-child {
	border-right:none;
}

ul#topnav li a:hover{
	color:#ccc;
}
ul#topnav .current_page_item a {
	color:#ccc;
}
ul#topnav .current-menu-item a {
	color:#ccc;
}
ul#topnav .current-post-ancestor a {
	color:#ccc;
}

h3 a:hover {
	color:#fff;
}
 
 #menu-topnav-container {
	margin:0px;
	padding:0px;
}

#menu-topnav {
	margin:0px;
	padding:0px;
}


/* ************************************************ 
*	スライド
* ************************************************ */	

.cycle-slideshow{
margin:0 0 30px 0;
overflow: hidden;
}


/* ************************************************ 
*	メイン（本文）コンテンツ
* ************************************************ */	

#main {
margin:0 0 0 0;
padding: 0 0 0 0;
}


/* ブログ記事部分 */	

p {
font-size: 16px; 
color: #444;
line-height: 200%;
letter-spacing:0.05em;
}

p a:hover {
}

p a:active, a:focus {
outline: 0;
}

#date {
font-family:arial,sans-serif;
font-size:9px;
font-weight:normal;
text-align: left;
padding: 0 0 0 0;
color:#999;
letter-spacing: 0.1em;
}

.pagetitle {
	text-align: center;
	font-family: 'Quicksand', sans-serif;
	font-weight: 300;
	color:#231815;
	letter-spacing: 0.03em;
	font-size: 33px;
	padding-bottom: 10px;
	line-height:120%;
	margin-top:30px;
	margin-bottom:10px;
}

.pagetitle a {
	color:#231815;
	font-size:33px;
}

.blog-title {
	color:#333;
	letter-spacing:0.1em;
	border-bottom: 1px solid #d8d8d8;
	font-size: 18px;
	margin-top: 20px;
	margin-right: 0;
	margin-bottom: 10px;
	margin-left: 0;
	padding-right: 0;
	padding-bottom: 10px;
	padding-left: 0;
	line-height:150%;
}

.blog-title a {
color:#646464;
text-decoration:none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.blog-title a:hover {
	color:#888;
	text-decoration:none;
}

.subtitle {
font-weight: normal;
font-size: 11px;
border-bottom:1px dotted #ccc;
padding: 0 0 0 0;
margin: 20px 0 10px 0;
letter-spacing: 0.1em;
color: #666;
}

blockquote{
color:#666;
border:1px dotted #ccc;
margin:10px 0 10px 0;
padding:10px 20px;
}

#blog-foot {
	letter-spacing:0.05em;
	font-size: 10px;
	text-align: left;
	margin: 50px 0 0 0;
	font-weight: normal;
}

#next a {
	margin-top: 20px;
	font-size: 12px;
	float: right;
	letter-spacing: 0.1em;
	border-radius: 3px;
	margin-bottom: 30px;
	text-decoration:none;
}

#next a:hover {
	transition: all 0.5s ease 0s;
	color: #ccc;
}

.left {
    float: left;
}

.right {
    float: right;
}

/* ギャラリーレイアウト */

.new {
	background-color: #FB6969;
	color: #fff;
	float: left;
	padding: 10px;
	margin-right: 10px;
}

.day {
	font-family: 'Arapey', serif;
	float:left;
	margin-top:10px;
	font-size:13px;
	letter-spacing:0.1em;
}

.post-date {
	color:#999;
	font-family: 'Arapey', serif;
	letter-spacing:0.1em;
	font-size:11px;
}

.third {
	margin-top:15px;
}

.blog_box {
    border-bottom: 1px dotted #ccc;
    float: left;
    margin-bottom: 15px;
    width: 100%;
}

.blog_box .item-date {
    color: #555;
    font-size: 13px;
    letter-spacing: 0.05em;
	line-height:0;
	margin-top:5px;
	margin-bottom:10px;;
	float:right;
	width:72%;
}

.item-title  {
	float:right;
	width:72%;
	margin-bottom:7px;
	line-height:130%;
}

.item-title a {
	color:#111;
	letter-spacing:0.05em;
	font-size:13px;
}

.item-img {
	float:left;
	width:25%;
	margin-right:3%;
}

.item-img img {
	margin-bottom:15px;
	width:100%;
}

.item-img a:hover img {
    background: none repeat scroll 0 0 #fff;
    opacity: 0.5;
    transition: all 0.5s ease 0s;
}

.bassui a {
    float: right;
	color:#646464;
    font-size: 12px;
	line-height:150%;
    width: 72%;
	margin-bottom:10px;
	letter-spacing:0.05em;
}

.bassui a:hover {
	color:#888;
	transition:all 0.5s;
	text-decoration:none;
}

.top-gallery-midashi {
	font-family: 'Quicksand', sans-serif;
	font-weight: 500;
	color:#333;
	font-size:18px;
	margin-bottom:10px;
	padding-bottom:5px;
	border-bottom:solid 1px #d8d8d8;
	letter-spacing:0.05em;
}


/* 関連記事 */

.similar-head {
margin: 0 0 0 0;
padding: 0 10px 0 0px;
line-height: 30px;
font-size: 14px;
font-weight: normal;
color: #999;
letter-spacing: 0.05em;
background: url() no-repeat;
border-bottom:1px solid #ccc;
}

.similar ul{
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.similar li{
font-size:11px;
margin: 0 0 0 0;
padding: 2px 0px 2px 0px;
list-style: none;
border-bottom: 1px dotted #dedede;
}

.similar li a{
color:#999;
background: url(images/list.png) no-repeat 0 50%;
padding-left: 15px;
}

.similar li a:hover{
background-position: 3px 50%;
color:#666;
}


/* コメント欄 */

.u30 {
	margin-bottom:30px;
}

#contact p {
    line-height: 250%;
    margin-bottom: 30px;
    margin-top: 15px;
}

.hissu {
    background-color: #aaa;
    color: #fff;
    font-weight: normal;
    padding: 5px;
	font-size: 12px;
}

.pager {
    margin: 50px 0;
    text-align: center;
}
a.page-numbers, .pager .current {
    background: #bbb none repeat scroll 0 0;
    border-radius: 2px;
    color: #fff;
    margin: 0 2px;
    padding: 5px 8px;
}
.pager .current {
    background: #ccc none repeat scroll 0 0;
    color: #fff;
}
.pager a:hover {
    background: #ccc none repeat scroll 0 0;
    text-decoration: none;
    transition: all 0.5s ease 0s;
}


/* ************************************************ 
*	サイドバー
* ************************************************ */	

#sidebar {
	width: 100%;
	padding: 0;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 40px;
	margin-left: 0px;
}

.link li a {
margin: 0 0 0 0px;
background: url(images/list.png) no-repeat 0 50%;
padding-left: 10px;
}

#sidebar p{
margin-bottom: 20px;
}

#sidebar h2 {
font-size: 10px;
font-weight: normal;
color: #999;
letter-spacing: 0.1em;
margin: 0px 0px 10px 0px;
padding: 0 0 0 0;
background: url() no-repeat;
border-bottom:1px solid #ccc;
}

.sidebar-title{
	font-family: 'Quicksand', sans-serif;
	font-weight: 400;
	color:#111;
	font-weight:normal;
    font-size: 18px;
    letter-spacing: 0.1em;
    padding-bottom: 5px;
    padding-top: 5px;
	margin-bottom:10px;
	border-bottom:solid 1px #d8d8d8;
}

#sidebar h3 {
font-size: 12px;
font-weight: normal;
color: #999;
line-height: 30px;
margin: 0 0 0 0;
padding: 0 0 0 0;
border-bottom:0px solid #d8d8d8;
}

#sidebar ul{
margin: 0 0 0 0;
padding: 0 0 0 0;
}

#sidebar li{
font-size: 13px;
margin: 0 0 0 0;
padding: 0 0 0 0;
list-style: none;
border-bottom: 1px dotted #ccc;
}

#sidebar li a{
display: block;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

#sidebar li a:hover{
}

/* 階層表示 */

#sidebar ul.children{
margin-bottom: -6px;
display: block;
padding: 5px 0 0 0;
}

#sidebar ul.children li{
padding-left: 15px;
padding-top: 5px;
border-top: 1px dotted #ccc;
}

/* ************************************************ 
*	フッターエリア
* ************************************************ */	

#footer {
	font-size: 80%;
	margin-top:100px;
	padding-top: 50px;
	padding-bottom: 50px;
	border-top:solid 1px #d8d8d8;
}

#sociallink {
text-align:center;
position: relative;
margin: 0 auto 10px auto;
padding: 0 0 0 0;
}

#copyright {
font-size:12px;
	letter-spacing: 0.01em;
text-align:center;
position: relative;
margin: 0 0 0 0;
padding: 0 0 0 0;
}

#sociallink a {
	font-size:25px;
}



/* ************************************************ 
*	ウィジット
* ************************************************ */	

.widget{
margin: 0 0 30px 0;
}

.widget_recent_entries li a,
.widget_archive li a,
.widget_categories li a,
.widget_nav_menu li a,
.widget_text li a{
margin: 0 0 0 0px;
}

.textwidget{
font-size: 13px;
color: #444;
line-height:170%;
margin: 0 0 30px 0;
padding: 5px 0 0 0;
}

.more a {
	font-size:14px;
	font-weight: 300;
	padding-right: 5px;
	padding-left: 5px;
	background-color: #888;
	background-image: url(images/noise5.png);
	background-size: 10% auto;
	color: #fff;
	margin-top: 15px;
	letter-spacing: 0.1em;
	padding-top:5px;
	padding-bottom:5px;
	padding-left:10px;
	padding-right:10px;
}

.more a:hover {
	background-color: #777;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}


#sidebox{
color:#666;
margin: 0 0 0 0 ;
padding: 0 0 0 0 ;
}

#sidebox ul{
floate:left;
margin: 0 0 0 0;
padding: 0 0 0 0;
}

#sidebox li{
font-size: 12px;
floate:left;
list-style: none;
margin: 0 0 0 0;
padding: 6px 0 5px 0px;
}

#sidebox li a{
	list-style: none;
	color:#444;
	font-size:14px;
	letter-spacing:0.05em;
}

#sidebox li a:hover{
	text-decoration:underline;
}

#sidebox h2{
margin: 0 0 0 0;
padding: 0 0 0 0;
border-bottom: 0px dotted #222;
}

#sidebox h3{
margin: 0 0 0 0;
padding: 0 0 0 0;
border-top: 0px dotted #222;
border-bottom: 0px dotted #222;
}

#sidebox h4{
margin: 0 0 0 0;
padding: 0 0 0 0;
border-bottom: 0px dotted #222;
}

.footer-widget-title{
font-size:14px;
font-weight:bold;
color: #999;
margin: 0 0px 10px 0px;
}


.widget ul{
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.widget li{
font-size:88%;
list-style: none;
}

.widget li a{
color: #666;
display: block;
}

.widget li a:hover{
color: #999;
}

.question {
    font-size: 16px;
    font-weight: bold;
    line-height: 150%;
    margin-bottom: 10px;
}

.line {
	float: left;
	width: 100%;
	margin-top: 30px;
	padding-top: 20px;
	padding-bottom: 15px;
	border-top-width: 1px;
	border-top-style: dotted;
	border-top-color: #ccc;
}

.u5 {
	margin-bottom:5px;
}

.u10 {
	margin-bottom:10px;
}

.u20 {
	margin-bottom:20px;
}

.u30 {
	margin-bottom:30px;
}

.u40 {
	margin-bottom:40px;
}

.u50 {
	margin-bottom:50px;
}

.u60 {
	margin-bottom:60px;
}

.u70 {
	margin-bottom:70px;
}

.u80 {
	margin-bottom:80px;
}

.wpcf7-text {
	width:60%;
}

.wpcf7-textarea {
	width:60%;
}

.wpcf7-captchar {
	width:20%;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea
{
    background-color: #fff;
    color: #000;
	line-height: 200%;
	font-size: 17px;
	border: solid 1px #ccc;
	border-radius: 0;
	-webkit-appearance: none;
	padding-left: 10px;
	padding-right: 10px;
}

input:focus,
textarea:focus {
	border: solid 1px #111;
	background-color: #fff;
}

select {
	background-color: #fff;
    color: #000;
	line-height: 200%;
	height: 40px;
	font-size: 17px;
	border: solid 1px #ccc;
	border-radius: 0;
	-webkit-appearance: none;
	padding-left: 10px;
	padding-right: 10px;
}

  input[type="button"],input[type="submit"] {
    -webkit-appearance: none;
  }

.wpcf7-submit {
    background-color: #555;
	background-image: url(images/noise5.png);
	background-size: 10% auto;
	color: #fff;
    font-size: 15px;
    letter-spacing: 0.2em;
    padding-bottom: 20px;
    padding-top: 20px;
    width: 50%;
	font-weight: normal;
	border-radius: 0;
}
.wpcf7-submit:hover {
    background-color: #777;
    transition: all 0.5s ease 0s;
}
.wpcf7-submit:focus {
    background-color: #ccc;
    border: medium none;
}
input[type="submit"] {
}

/* ************************************************ 
*	検索フォーム
* ************************************************ */

.search {
margin: -20px 0 20px -20px;
}

.search fieldset {
border: 0px solid #eee;
}

.search input {
font: 11px arial, sans-serif; 
color: #c0c0c0; 
width:80%;
padding: 5px 5px; 
vertical-align: middle;
border: none; 
background: none; 
}

.search button {
width: 15px; 
height: 15px; 
cursor: pointer; 
vertical-align: middle;
border: none; 
background: url(images/search.png) no-repeat; 
}



/* ************************************************ 
*	文字サイズ
* ************************************************ */

.moji100px {font-size: 100px;line-height: 170%;}
.moji90px {font-size: 90px;line-height: 170%;}
.moji80px {font-size: 80px;line-height: 170%;}
.moji70px {font-size: 70px;line-height: 170%;}
.moji60px {font-size: 60px;line-height: 170%;}
.moji50px {font-size: 50px;line-height: 170%;}
.moji40px {font-size: 40px;line-height: 170%;}
.moji30px {font-size: 30px;line-height: 170%;}
.moji29px {font-size: 29px;line-height: 170%;}
.moji28px {font-size: 28px;line-height: 170%;}
.moji27px {font-size: 27px;line-height: 170%;}
.moji26px {font-size: 26px;line-height: 170%;}
.moji25px {font-size: 25px;line-height: 170%;}
.moji24px {font-size: 24px;line-height: 170%;}
.moji23px {font-size: 23px;line-height: 170%;}
.moji22px {font-size: 22px;line-height: 170%;}
.moji21px {font-size: 21px;line-height: 170%;}
.moji20px {font-size: 20px;line-height: 170%;}
.moji19px {font-size: 19px;line-height: 170%;}
.moji18px {font-size: 18px;line-height: 170%;}
.moji17px {font-size: 17px;line-height: 170%;}
.moji16px {font-size: 16px;line-height: 170%;}
.moji15px {font-size: 15px;line-height: 170%;}
.moji14px {font-size: 14px;line-height: 170%;}
.moji13px {font-size: 13px;line-height: 170%;}
.moji12px {font-size: 12px;line-height: 170%;}
.moji11px {font-size: 11px;line-height: 170%;}
.moji10px {font-size: 10px;line-height: 150%;}
.moji9px {font-size: 9px;line-height: 370%;}

.mincho {
font-family:'century','Times New Roman','Baskerville','Optima','Palatino','Georgia','ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝','MS PMincho',serif;
}

.bold {
font-weight: bolder;
}

.italic {
font-style: italic; 
}

/* ************************************************ 
*	テーブル
* ************************************************ */

.hyou table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 0;
	color:#444;
}
.hyou th {
	font-size:11px;
	padding-top: 15px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 15px;
	border-bottom: 1px dotted #bbb;
	vertical-align:middle;
	width: 15%;
	font-weight: bold;
}
.hyou td {
	font-size:11px;
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #bbb;
	line-height: 200%;
}

.c_left {
	float: left;
	width: 70%;
}

.c_right {
	float: right;
	width: 28%;
}

.ft {
	font-weight: bold;
}

.ontitle {
	color: #fff;
	font-size: 20px;
	letter-spacing: 0.05em;
	background-color: #999;
	background-image: url(images/noise5.png);
	background-size: 3% auto;
	padding-left: 20px;
	padding-top: 20px;
	padding-bottom: 17px;
	padding-right: 15px;
	margin-bottom: 15px;
}

/* コンタクトフォーム用 */

table#contact {
font-size: 13px;
width: 100%;
color: #444;
margin: 10px 0 0 0;
padding: 0 0 0 0;
border: 0px #CCC solid;
border-collapse: collapse;
border-spacing: 0;
}

table#contact th {
font-weight: bold;
line-height: 120%;
text-align: left;
padding: 10px;
white-space: nowrap; 
}

table#contact td {
font-size: 13px;
text-align: left;
padding: 10px;
white-space: normal;
vertical-align: middle;
}


/* ************************************************ 
*	ボックスシャドウ・テキストシャドウ
* ************************************************ */

.box-shadow{
box-shadow: 2px 2px 3px #ccc; /* CSS3 */
 -webkit-box-shadow: 2px 2px 3px #ccc; /* Safari,Chrome */
 -moz-box-shadow: 2px 2px 3px #ccc; /* Firefox */
}

.box-shadow2{
box-shadow: 1px 2px 5px #ccc; /* CSS3 */
 -webkit-box-shadow: 1px 2px 5px #ccc; /* Safari,Chrome */
 -moz-box-shadow: 1px 2px 5px #ccc; /* Firefox */
}

.text-shadow{
text-shadow: 1px 1px 3px #DEDEDE; /* CSS3 */
 -webkit-text-shadow: 1px 1px 3px #DEDEDE; /* Safari,Chrome */
 -moz-text-shadow: 1px 1px 3px #DEDEDE; /* Firefox */
}



/* ************************************************ 
*	上に戻るボタン
* ************************************************ */



#pageTop {
    bottom: 20px;
    position: fixed;
    right: 20px;
}
#pageTop a {
	color: #FFFFFF;
	display: block;
	font-size: 18px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	width: 40px;
	background: none repeat scroll 0 0 rgba(78, 69, 67, 0.4);
}

#pageTop a:hover {
	background:#333;
	transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

#pageTop a .fa {
	margin:0px;
	color:#FFF;
}

/* ************************************************ 
*   レスポンシブ
* ************************************************ */


/* PC 画面の横幅が960px以上 */

@media only screen and (min-width: 960px) {
iframe { width: 100%; max-width: 960px;}
}


/* Tablet (Portrait) 画面の横幅が768px〜959pxまで */

@media only screen and (min-width: 768px) and (max-width: 959px) {
.wrapper { width: 728px;}
#header {
	width:728px;
}

ul#topnav li a{
	width:80px;
	font-size:12px;
	letter-spacing: 0.025em;
}
	
.top-gallery-midashi {
	font-size: 13px;
	}

iframe { width: 100%; max-width: 728px;}
	
	.half iframe {
		height: 350px;
	}

.block-three li {
	width:31.6%;
}

ul.block-three li:nth-child(3n) {
	margin-right:0;
}

ul.block-three li:nth-child(4n) {
	margin-right:1%;
}

.face {
    float: right;
    width: 20%;
}

.face img {
	padding-top:30px;
}

.faq {
	float:left;
	width:50%;
}

.faq_img {
	float:right;
	width:45%;
}

.design_box li {
	height:670px;
}
	
.hyou th {
	width: 20%;
}

}


/* Mobile (Portrait) 画面の横幅が767pxまで */

@media only screen and (max-width: 767px) {
body {
	background-image: none;
}
#header {
	width:280px;
}
.wrapper { 
width: 90%;
padding:0;
}
	
	#header {
	margin-bottom: 0px;
	width:100%;
		margin-top: 25px;
	}
	
#nav, #header h1 { float: none;}
#header h1 {
	margin: 0px;
	padding: 0px;
}

.logo img {
	width:180px;
}

.phone {
	font-size: 25px;
	letter-spacing: 0;
}

iframe { width: 100%;
height:300px; }

#topnav {
	padding-top:0;
	padding-bottom:0;
	border:none;
	margin-bottom: 20px;
}

ul#topnav li {
	float:none;
	border-right:none;
}

ul#topnav li a{
	display: block;
	float: left;
	width: 33.1%;
	font-size: 16px;
	margin: 0px;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 10px;
	letter-spacing: 0.05em;
	border-bottom: 1px dotted #666;
	background-color: #333;
	background-image: url(images/noise5.png);
	background-size: 10% auto;
	color: #aaa;
}

ul#topnav li:nth-child(2n+1) a {
	border-right:dotted 1px #666;
}

ul#topnav li:nth-child(3n) a {
	border-right:none;
}
	
ul#topnav li:nth-child(7) a {
	border-bottom:none;
}

ul#topnav li:nth-child(8) a {
	border-bottom:none;
}
	
ul#topnav li:nth-child(9) a {
	border-bottom:none;
}

ul#topnav li a:hover{
	background-color: #444;
	color: #fff;
}
ul#topnav .current_page_item a {
	background-color: #444;
	color: #fff;
}
ul#topnav .current-menu-item a {
	background-color:#444;
	color:#fff;
}
ul#topnav .current-post-ancestor a {
	background-color:#444;
	color:#fff;
}

.title {
	text-align:left;
}

.title br {
	display:none;
}

.item-img img {
	width:100%;
}

.pagetitle {
	font-size:30px;
	margin-top:10px;
	text-align: center;
}
	
	.kiyaku-container {
		padding: 0;
	}

.hyou th {
	font-size:10px;
	width:30%;
}
.hyou td {
	font-size:10px;
}

.pagetitle a {
	font-size: 28px;
	line-height:150%;
}

.midashi {
	font-size:20px;
}

.face {
	float:right;
	width:30%;
	padding-left:5%;
}

.profile {
	float:none;
	width:auto;
}

.half {
	margin-bottom:5px;
}

.block-three li {
	width:48%;
}

ul.block-three li:nth-child(2n) {
	margin-right:0;
}

.flow_name {
	padding-top:10px;
}

.wpcf7-text {
	width:95%;
}

.wpcf7-textarea {
	width:95%;
}

#copyright {
	letter-spacing:0;
}

.bigbtn a {
	width:86%;
	padding:7%;
	font-size:18px;
}

.shopbtn a {
	width:86%;
	padding:7%;
	font-size:11px;
}

.heading span {
  font-size:15px;
}

#footer {
	margin-top:50px;
}

.faq {
	width:100%;
	margin-bottom:10px;
}

.faq_img {
	width:100%;
	margin-top:30px;
}

.price_left {
	width:100%;
	margin-bottom:50px;
}

.price_left_option {
	width:100%;
	margin-bottom:30px;
}

.price_right {
	width:100%;
	margin-bottom:80px;
}

.cat dd {
    display: block;
    margin-left: 60%;
}

.type li {
    margin-right:0;
    width: 100%;
	margin-bottom:10px;
}
	
.top-gallery-midashi {
	font-size:18px;
}
	
.lesson {
	width: 100%;
}

.item {
	width: 100%;
}
	
	.item img {
		margin-top: 0;
	}
	
	.hyou th {
		width: 30%;
		letter-spacing: 0;
	}
	
	.hyou td {
		letter-spacing: 0.05em;
	}

	.banner li {
		width: 100%;
		margin-bottom: 10px;
	}
	
.c_left {
	width: 100%;
}

.c_right {
	width: 100%;
	margin-bottom: 10px;
}
	
.simg {
	width:25%;
}
	
	.question {
		letter-spacing: 0;
	}
	
.header_wrapper {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .logo_box,
  .about_box,
  .btn_box {
    width: 100%;
    max-width: 100%;
    text-align: center;
	  margin: 0;
	  padding: 0;
  }

  .about_box {
    text-align: center;
  }

  .about_box p,
  .about_box h2 {
    margin: 0;
  }

  .btn_box .button-wrapper {
    display: flex;
    justify-content: center;
  }
	
.about img {
    margin-right: 0;
    width: 100%;
	margin-bottom: 10px;
}
	
.staff {
	width: 100%;
	text-align: center;
}
	
	.staff img {
		width: 100%;
	}

.staff_txt {
	width: 100%;
}
	
.trial_img {
	width: 100%;
	margin-bottom: 10px;
}

.trial_txt {
	width: 100%;
}

.yajirushi {
	width: 100%;
	text-align: center;
	padding-left: 0;
	font-size: 40px;
}
	
.pack_img {
	width: 100%;
}
	
.pack_img img {
	width: 49.2%;
	margin-right: 0.4%;
}

.pack_txt {
	width: 100%;
}
	
.name {
       text-align: center;
	}
    
.katagaki {
        text-align: center;
	}

}


/* Mobile (Landscape) 画面の横幅が480px〜767pxまで */

@media only screen and (min-width: 480px) and (max-width: 767px) {
.wrapper { width: 420px; }
iframe { width: 100%; max-width: 420px;}
}



/* ==========================================================================
   はじめての方へ（2026-08-06 追加）
   トップページのスライドショー直下に置く新規向けブロック。
   既存クラスと衝突しないよう firsttime- 接頭辞で統一している。
   ========================================================================== */

.firsttime {
	max-width: 960px;
	margin: 30px auto 10px;
	padding: 26px 20px;
	background: #f6f5f2;
	box-sizing: border-box;
}

.firsttime-title {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.08em;
	margin: 0 0 12px;
}

.firsttime-lead {
	text-align: center;
	line-height: 1.9;
	margin: 0 0 22px;
}

.firsttime-points {
	display: flex;
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
}

.firsttime-points li {
	flex: 1;
	background: #fff;
	margin: 0 7px;
	padding: 18px 12px;
	text-align: center;
	font-weight: bold;
	font-size: 17px;
	line-height: 1.5;
}

.firsttime-points li:first-child { margin-left: 0; }
.firsttime-points li:last-child  { margin-right: 0; }

.firsttime-sub {
	display: block;
	margin-top: 8px;
	font-weight: normal;
	font-size: 12px;
	color: #666;
	line-height: 1.6;
}

.firsttime-btns { text-align: center; }

.firsttime-sublink {
	display: inline-block;
	margin-left: 18px;
	text-decoration: underline;
}

@media only screen and (max-width: 767px) {
	.firsttime { margin: 20px 10px; padding: 20px 14px; }
	.firsttime-title { font-size: 18px; }
	.firsttime-lead { text-align: left; }
	.firsttime-points { display: block; }
	.firsttime-points li { margin: 0 0 10px; }
	.firsttime-sublink { display: block; margin: 16px 0 0; }
}

/* ==========================================================================
   10周年ロゴ（2026-08-28 追加）
   ヘッダーの通常ロゴの右に並べる。トップページのみ表示（header.phpで制御）。
   .logo_box img の width:150px を上書きするため、クラス指定で高さを固定している。
   ========================================================================== */

.logo_box .logo {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
}

.logo_box img.logo10th {
	width: auto;
	height: 62px;
	vertical-align: middle;
	margin-left: 16px;
}

@media only screen and (max-width: 767px) {
	.logo_box img.logo10th {
		height: 52px;
		margin-left: 12px;
	}
}