/*
Theme Name: Shinohara san kura
Author: Vivace Factory
Author URI: http://vivacefactory.net/
Description: Blanc is simple, white, 100% responsive WordPress theme. Designed with the w3C latest HTML5 and CSS3, it's also set Microdata for Google's rich snippets. Breadcrumbs, related item lists, pagination are already prepared, and also it contains jQuery plugin settings of lightbox, image slider and input validation. This theme works with WordPress 4.1 or later.
Tags: responsive-layout, one-column, white, editor-style, custom-header, custom-background, custom-menu, featured-images
*/

@import url('https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&display=swap');

body, input, select, textarea, button, .button, h1, h2, h3, h4, h5, h6, .label {
		font-family: 'BIZ UDGothic',  "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Arial", "Helvetica", sans-serif;
	-ms-word-wrap: break-word;
	word-wrap: break-word;
}

/* = Selected Text
----------------------------------------------- */
::selection {
	background:#c3c2c1; /* Safari */
}

::-moz-selection {
	background:#c3c2c1; /* Firefox */
}

body{
	background:#FFFFFF;
}
p {
	font-family:'BIZ UDGothic',  "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Arial", "Helvetica", sans-serif;
    color: #212121;
    font-size: 1.0rem;
    line-height: 1.8rem;
}
p.line1{
	text-decoration: line-through;
}
a {
	color:#323232;
}
a:hover {
	color: #323232!important;
}
a:link, a:visited {
	-webkit-transition: .3s;
	-moz-transition: .3s;
	-o-transition: .3s;
	-ms-transition: .3s;
	transition: .3s;
	color:#323232;
}
h1 {
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
}
@media screen and (max-width:768px){
h1 {
	font-size: 1.65rem;
	font-weight: bold;
	text-align: center;
}
}
h2 {
	font-size: 1.75rem;
	font-weight: bold;
	text-align: center;
}

h3 {
		font-size: 1.5rem;
	font-weight: bold;
	text-align: left;
}
h4 {
	font-size: 1.25rem;
	font-weight: bold;
	text-align: left;
}

h5{
	font-size: 1.0rem;
	font-weight: bold;
	text-align: left;
}

/* Articles */

article h2 {
	font-size: 1.75rem;
	font-weight: bold;
	text-align: center;
	color: #252525;
	margin-bottom: 1.5rem;
}

article h3{
	font-size: 1.5rem;
	font-weight: bold;
	text-align: left;
	color: #252525;
	margin-bottom: 1.5rem;
}

article h4{
		font-size: 1.25rem;
	font-weight: bold;
	text-align: left;
	color: #252525;
	margin-bottom: 1.5rem;
}

article h5 {
	font-size: 1.0rem;
	font-weight: bold;
	text-align: left;
		color: #252525;
	margin-bottom: 1.5rem;
}
article p {
	font-size:1.0rem;	
	color:#252525;
	line-height: 1.8rem;
	}


/*PCでは無効（改行しない）*/
.sma{
    display: none;
}

/*スマートフォンでは有効（改行する）*/
@media screen and (max-width:768px) {
    .sma{
        display: block;
    }
}

.textAlighRight{
	text-align: right;
}

.topnavInfo{
	font-size: 0.9rem;
	text-align: right!important;
	line-height: 1.7rem;
}

#globalNavi {
	font-family:'BIZ UDGothic',  "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Arial", "Helvetica", sans-serif;
	width:100%;
	margin-top: 10px;
	margin-bottom: 10px;
	padding: 1.0rem;
	background-color:#FFFFFF;
box-shadow:0 2px 4px #eeeff1;
	z-index: 10000;
}

.headerLink {
	text-align: right;
	font-size: 0.95rem;
	line-height: 1.7rem;
	margin-bottom: 1.0rem;
}

.fixed {
	position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}


/* drop menu */
#dropmenu{
  list-style-type: none;
  width: 100%;
  height: 20px;
  margin: 0px auto 10px auto;
  padding: 0;
  background: #FFFFFF;
	z-index: 9000;
 }
#dropmenu li{
  position: relative;
  width: 16%;
  float: left;
  margin: 0;
  padding: 0;
  text-align: center;
}
#dropmenu li a{
  display: block;
  margin: 0;
  padding: 5px 0 5px;
  color: #252525;
  font-size: 0.95rem;
  font-weight: bold;
  line-height: 1.5;
  text-decoration: none;
}


#dropmenu li a:visited {
	color: #252525;
}

#dropmenu li:hover > a{
  background: #e6e0cd;
  color: #ffffff;
}
#dropmenu li:visited > a{
	color: #252525;
}
#dropmenu > li:hover > a{
  border-radius: 3px 3px 0 0;
}
#dropmenu li ul{
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  border-radius: 0 0 3px 3px;
}
#dropmenu li:last-child ul{
  left: -100%;
  width: 100%
}
#dropmenu li ul li{
  overflow: hidden;
  width: 100%;
  height: 0;
  color: #fff;
  -moz-transition: .2s;
  -webkit-transition: .2s;
  -o-transition: .2s;
  -ms-transition: .2s;
  transition: .2s;
}
#dropmenu li ul li a{
  padding: 13px 15px;
	color: #fff;
  background: #e6e0cd;
  text-align: left;
  font-size: 12px;
  font-weight: normal;
}
#dropmenu li:hover ul li{
  overflow: visible;
  height: 38px;
  border-top: 1px solid #6A6a6a;
  border-bottom: 1px solid #fff;
}
#dropmenu li:hover ul li:first-child{
  border-top: 0;
}
#dropmenu li:hover ul li:last-child{
  border-bottom: 0;
}
#dropmenu li:hover ul li:last-child a{
  border-radius: 0 0 3px 3px;
}

/* drop menu medium */
#dropmenu2{
  list-style-type: none;
  width: 100%;
  height: 20px;
  margin: 0px auto 10px auto;
  padding: 0;
  background: #FFFFFF;
	z-index: 1000;
 }
#dropmenu2 li{
  position: relative;
  width: 20%;
  float: left;
  margin: 0;
  padding: 0;
  text-align: center;
}
#dropmenu2 li a{
  display: block;
  margin: 0;
  padding: 5px 0 5px;
  color: #252525;
  font-size: 0.95rem;
  font-weight: bold;
  line-height: 1.5;
  text-decoration: none;
}


#dropmenu2 li a:visited {
	color: #252525;
}

#dropmenu2 li:hover > a{
  background: #e6e0cd;
  color: #ffffff;
}
#dropmenu2 li:visited > a{
	color: #252525;
}
#dropmenu2 > li:hover > a{
  border-radius: 3px 3px 0 0;
}
#dropmenu2 li ul{
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  border-radius: 0 0 3px 3px;
}
#dropmenu2 li:last-child ul{
  left: -100%;
  width: 100%
}
#dropmenu2 li ul li{
  overflow: hidden;
  width: 100%;
  height: 0;
  color: #fff;
  -moz-transition: .2s;
  -webkit-transition: .2s;
  -o-transition: .2s;
  -ms-transition: .2s;
  transition: .2s;
}
#dropmenu2 li ul li a{
  padding: 13px 15px;
	color: #fff;
  background: #e6e0cd;
  text-align: left;
  font-size: 12px;
  font-weight: normal;
}
#dropmenu2 li:hover ul li{
  overflow: visible;
  height: 38px;
  border-top: 1px solid #6A6a6a;
  border-bottom: 1px solid #fff;
}
#dropmenu2 li:hover ul li:first-child{
  border-top: 0;
}
#dropmenu2 li:hover ul li:last-child{
  border-bottom: 0;
}
#dropmenu2 li:hover ul li:last-child a{
  border-radius: 0 0 3px 3px;
}

/*　ハンバーガーメニューボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 20px;
  top   : 10px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
	background: #ffffff;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #161616;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#474747;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#474747;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba( 255,255,255,0.9 );
  text-align: center;
  width: 100%;
  transform: translateX(100%);
  transition: all 0.8s;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
nav.globalMenuSp ul ul{
	display: block;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
	font-weight: bold;
	font-size:1.25rem;
	position:relative;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#e6e0cd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1.0rem 0;
  text-decoration :none;
}

/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
  opacity: 100;
  display: block;
   transform: translateX(0%);
}

/* 階層　*/
nav.globalMenuSp li.has-child2 ul,
nav.globalMenuSp li.has-child2 ul ul{
    position: relative;
  left:0;
  top:0;
  width:100%;
  visibility:visible;/*JSで制御するため一旦表示*/
  opacity:1;/*JSで制御するため一旦表示*/
  display: none;/*JSのslidetoggleで表示させるため非表示に*/
  transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}

nav.globalMenuSp ul li.has-child2::before{
  content:'';
  position: absolute;
  left:30px;
  top:20px;
  width:6px;
  height:6px;
  border-top: 2px solid #575757;
    border-right:2px solid #575757;
    transform: rotate(135deg);
}

nav.globalMenuSp ul ul li.has-child2::before{
    transform: rotate(135deg);
  left:30px;
}

nav.globalMenuSp ul li.has-child2.active::before{
    transform: rotate(-45deg);
}

nav.globalMenuSp li.has-child2 ul{
    /*絶対配置で位置を指定*/
  position: absolute;
  left:0;
  top:60px;
  z-index: 4;
    /*形状を指定*/
  background:#e6e0cd;
  width:100%;
    /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
    /*アニメーション設定*/
  transition: all .3s;
}

/*hoverしたら表示*/
nav.globalMenuSp li.has-child2:hover > ul,
nav.globalMenuSp li.has-child2 ul li:hover > ul,
nav.globalMenuSp li.has-child2:active > ul,
nav.globalMenuSp li.has-child2 ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

/*ナビゲーションaタグの形状*/
nav.globalMenuSp li.has-child2 ul li a{
  color: #fff;
  border-bottom:solid 1px rgba(255,255,255,0.6);
}

nav.globalMenuSp li.has-child2 ul li:last-child a{
  border-bottom:none;
}

nav.globalMenuSp li.has-child2 ul li a:hover,
nav.globalMenuSp li.has-child2 ul li a:active{
  background:#e6e0cd;
}

/* button */
/* black simple button */
a.btn_04 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 250px;
  height: 50px;
  position: relative;
  background: #222222;
  border: 1px solid #222222;
  box-sizing: border-box;
  padding: 0 25px 0 40px;
  color: #fff;
  font-size: 1.0rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}
a.btn_04:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 25px;
  margin-top: -6px;
}
a.btn_04:hover {
  background: #fff;
  color: #222222;
}
a.btn_04:hover:before {
  border-top: 2px solid #222222;
  border-right: 2px solid #222222;
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}
a.btn-sns {
  font-size: 1.2rem;
  line-height: 50px;

  width: 50px;
  height: 50px;
  padding: 0;

  letter-spacing: 0;

  color: #fff;
  border-radius: 50%;
}

a.btn-sns:hover {
  color: #fff;
}

a.btn-sns--instagram {
  background: #d6249f;
  background: -webkit-linear-gradient(45deg, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
  background: linear-gradient(45deg, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

a.btn-sns--line {
  background: #00b900;
}

a.btn-sns--mail {
  background: #654B00;
}
/* LINE001 */
.button_line001 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 150px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 600;
}
.button_line001 a:before {
    position: absolute;
    bottom: 0px;
    left: 50%;
    content: '';
    width: 100%;
    height: 2px;
    background: rgba(0,0,0,.1);
    transform: translateX(-50%);
}
.button_line001 a:after {
    position: absolute;
    bottom: 0px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #000;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
}
.button_line001 a:hover {
    opacity: 0.7;
}
.button_line001 a:hover:after {
    transform: scale(1, 1);
}

.button-14 a {
  font-family: 'Noto Sans JP', serif;
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #ffffff;
  font-weight: 700;
  display: block;
  position: relative;
  box-sizing: border-box;
  max-width: 250px;
  text-align: center; 
  padding: 4px 16px 4px 0;
  margin: 24px;
  margin-inline: auto;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}

.button-14 a::before {
  content: "";
  display: block;
  position: absolute;
  width: 250px;
  height: 2px;
  background: #FFFFFF;
  bottom: 0;
  transition: all 0.3s;
}

.button-14 a::after {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 3px;
  background: #ffffff;
  rotate: 40deg;
  right: -4px;
  bottom: 10px;
  transition: all 0.3s;
}

.button-14 a:hover::after,
.button-14 a:hover::before {
  translate: 20px 0;
  transition: all 0.3s;
}

.button-15 a {
    background: #A5A5A5;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    line-height: 1.8;
    text-decoration: none;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button-15 a:before {
    content: "\f0e0";
    position: relative;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 12px;
    color: #333;
    transition: 0.3s ease-in-out;
}
.button-15 a:hover {
    background: #313131;
    color: #fff;
}
.button-15 a:hover:before {
    color: #fff;
}

.button-16 a {
    background: #796d5b;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 300px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    line-height: 1.8;
    text-decoration: none;
    color: #FFFFFF;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button-16 a:before {
    content: "\f3cf";
    position: relative;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 12px;
    color: #ffffff;
    transition: 0.3s ease-in-out;
}
.button-16 a:hover {
    background: #504C48;
    color: #fff;
}
.button-16 a:hover:before {
    color: #fff;
}

.button-17 a {
    background: #796d5b;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 300px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    line-height: 1.8;
    text-decoration: none;
    color: #FFFFFF;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button-17 a:before {
    content: "\f0e0";
    position: relative;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 12px;
    color: #ffffff;
    transition: 0.3s ease-in-out;
}
.button-17 a:hover {
    background: #313131;
    color: #fff;
}
.button-17 a:hover:before {
    color: #fff;
}


.headerLogo {
	margin-left:2.0rem;
	margin-top:1.0rem;
	margin-bottom:1.0rem;
	
}

.demo-toggle-title {
  margin-top: 0.5rem;
}

.topHeader {
	width:100%;
	height:0;
	padding-top:46.4%;
	background:url(../20241004/img/main_bg.jpg) 0 0 no-repeat;
	background-size:cover;
}

.vcard {
	display: initial;
	margin: 0;
	border: 0;
	padding: 0;
}


a:hover img:hover {
opacity: 0.6;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
-moz-opacity:0.7;                 /* FF lt 1.5, Netscape */
-khtml-opacity: 0.7; 
}


ul {
	margin-left: 1.5rem;
}
ol {
	margin-left: 1.8rem;
}
input, textarea {
	box-shadow: none!important;
}

a.anchor{
	display: block;
   margin-top:-100px;
   padding-top:100px;
}

/* Header */
#header h1 {
	font-family:  'Lato', "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;
}
#header a {
	color: #222;
}
.topContactRight {
	text-align: right;
	float: right;
}

.menuContents {
	text-align: center;
	font-size:1.0rem;
	margin-left: 1.0rem;
	margin-right:1.5rem;
}

/* header customise */

.headerBase {
		width:100%;
	background: url("img/header-bg.png") 0 0 no-repeat;
	background-size: cover;
		padding-bottom:40px;	
}

/*
.headerBase h1 {
	padding: 2.0rem;
  font-size: 2.0rem;;
  font-weight: bold;
  line-height: 1;
	color: #2C2C2C;
	text-align: center!important;
}
*/

.headerNews {
		width:100%;
	background: url("img/headerbg-news.jpg") 0 0 no-repeat;
	background-size: cover;
		padding-bottom:30px;	
}

.headerNews h1 {
	padding: 2.0rem;
  font-size: 2.0rem;;
  font-weight: bold;
  line-height: 1;
	color: #2C2C2C;
	text-align: left!important;
}


/* top page design */
.textbox {
        position: absolute;
        right: 50%;
    }
    .vertical {
        writing-mode: vertical-rl;
        text-orientation: mixed;
    }
    .vertical__part {
        text-orientation: upright;
    }

.topsection01 {
	margin-top: -30px;
	width: 100%;
	padding: 0;
	background-color: #ffffff;
	color: #252525;
}

@media screen and (max-width:768px) {
.topsection01 {
	width: 100%;
	margin: 0;
	padding: 0 1.0rem;
	color: #252525;
}
}


.video-slide {
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.video-slide video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topsectionNews {
	width: 100%;
	padding: 5.0rem;
	color: #252525;
}

.topsectionNews p {
	color: #252525;
	font-size: 1.0rem;
}

.topsectionNews h3 {
	color: #252525;
}

@media screen and (max-width:768px) {
	.topsectionNews {
	width: 100%;
	padding: 5.0rem 1.0rem;
	color: #252525;
	background-color: #ffffff;
}
}

.topsection02 {
	width: 100%;
	padding: 5.0rem;
	color: #252525;
	background-color: #ffffff;

}

.topsection02 p {
	color: #252525;
	font-size: 1.0rem;
}

.topsection02 h3 {
	color: #252525;
}

@media screen and (max-width:768px) {
	.topsection02 {
	width: 100%;
	padding: 5.0rem 1.0rem;
	color: #252525;
	background-color: #ffffff;
}
}
.topsection03 {
	width: 100%;
	padding: 5.0rem;
	color: #ffffff;
	background-color: #7b6f5b;
}

.topsection03 p{
	font-size: 1.0rem;
	color: #FFFFFF;
}
.topsection03 h2 {
	color: #ffffff!important;
}

.topsection03 h3 {
	color: #ffffff!important;
}

@media screen and (max-width:768px) {
	.topsection03 {
	width: 100%;
	padding: 5.0rem 1.0rem;
	color: #ffffff;
	background-color: #7b6f5b;
}
}
.topsection03 h4 {
	color: #252525;
	font-weight: bold;
	font-size: 1.15rem;
	text-align: center;
}

/* news box */
.columnBox {
	margin: 1.0rem;
	padding: 0.5rem;
}

/* expBox */
.expBox {
	background-color: #ffffff;
	box-shadow: 0px 0px 15px -5px #b0b0b0;
	border-radius: 10px;
	margin: 1.0rem;
	padding: 1.0rem;
}
.flow01{
	background-color: #F3F3F3;
	width: 100%;
	margin: 0;
	padding: 1.5rem;
	text-align: center;
}
.flow02{
	background-color: #D8D8D8;
	width: 100%;
	margin: 0;
	padding: 1.5rem;
	text-align: center;
}

/* ruleBox */
.ruleBox01{
	background-color: #F3F3F3;
	width: 100%;
	margin: 0;
	padding: 1.5rem;
	text-align: left;
}
.ruleBox02{
	background-color: #D8D8D8;
	width: 100%;
	margin: 0;
	padding: 1.5rem;
	text-align: left;
}
/* heading */

/* 蛍光色下線 */
.heading01 {
	display: inline;
	background-image: linear-gradient(rgba(0,0,0,0) 70%, rgba(255,192,211,1.00) 70%);
}

/*　左右に線 */
.heading03 {
  position: relative;
}
.heading03::before {
  content: '';
  width: 56px;
  height: 5px;
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: -30px;
  background-color: #07a30e;
}

/* 下線　２色 */
.heading02 {
	position: relative;
	text-align: center;
	border-bottom: 3px solid #f6f6f6;
}

.heading02::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 70px;
	height: 5px;
	background-color: #8A8A8A;
}

/* 英字とラインのCSS見出し */
.heading08 {
	font-size: 1.5rem;
}

.heading08 span {
	display: flex;
	align-items: center;
	color: #7b6f5b;
	font-size: 18px;
	text-transform: uppercase;
}

.heading08 span::before {
	content: '';
	display: inline-block;
	margin-right: 20px;
	width: 40px;
	height: 1px;
	background-color: #7b6f5b;
}

/* 数字と線の組み合わせ */
.heading11 {
	position: relative;
	font-size: 26px;
	text-align: center;
}

.heading11::before {
	content: attr(data-number);
	display: block;
	margin-bottom: 30px;
	color: #7b6f5b;
	font-size: 30px;
}

.heading11::after {
	content: '';
	position: absolute;
	top: 50px;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 20px;
	background-color: #7b6f5b;
}

/* 大文字サブタイトルと小文字タイトル */
.heading29 {
    color: #333333;
    font-weight: 400;
    font-size: 1.0rem;
    letter-spacing: .1em;
    text-align: center;
}

.heading29::before {
    display: block;
    font-weight: 700;
    font-size: 1.65rem;
    line-height: 1.5;
    letter-spacing: .02em;
    content: attr(data-label);
}

@media screen and (max-width:768px) {
	.heading29::before {
    display: block;
    font-weight: 700;
    font-size: 1.45rem;
    line-height: 1.5;
    letter-spacing: .02em;
    content: attr(data-label);
}
}

/* 下向き矢印付きタイトル */
.heading30{
     position: relative;
     display: inline-block;
     padding-bottom:0.5em;
     border-bottom: 1px solid black;
}
      
.heading30::before,
.heading30::after {
     position: absolute;
     top: 100%;
     left:50%;
     transform:translateX(-50%);
     content: '';
     border: 10px solid transparent;
}
 
.heading30::before {
     border-top: 10px solid black;
}
 
.heading30::after {
     margin-top: -1px;
     border-top: 10px solid white;
}
/* 王冠つきタイトル */
.heading35 {
    display: flex;
    align-items: center;
    gap: 0 7px;
    color: #333333;
}

.heading35::before {
    width: 1.25em;
    height: 1.25em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.00488 19H22.0049V21H2.00488V19ZM2.00488 5L7.00488 8L12.0049 2L17.0049 8L22.0049 5V17H2.00488V5Z' fill='%23ffb500'%3E%3C/path%3E%3C/svg%3E");
    content: '';
}
/* シェブロンリスト*/
.list-7 {
    list-style-type: none;
    padding: 1em;
}

.list-7 li {
    display: flex;
    align-items: center;
    gap: 0 10px;
    padding: .3em;
}

.list-7 li::before {
    transform: rotate(-45deg);
    width: .4em;
    height: .4em;
    border-bottom: 3px solid #666666;
    border-right: 3px solid #666666;
    content: '';
}

.title_text01 {
  position: relative;
	font-size: 1.0rem;
  font-weight:bold;
  text-align: center;
  margin: 0 auto 50px;
}
.title_text01 span {
  position: relative;
  z-index: 2;
}
.title_text01::before {
  content: attr(data-en);
  position: absolute;
  top: -2.8rem;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(47,47,47,0.20);
  font-size: 3.0rem;
  font-style:normal;
}

.title_text02 {
  font-size: 2.5rem;
  line-height: 1;
  text-align: center;
	font-weight: bold;
}
.title_text02 span {
  display: block;
  font-size: 0.98rem;
  margin-top: 20px;
}

@media screen and (max-width:768px) {
	.title_text02 {
  font-size: 1.75rem;
  line-height: 1;
  text-align: center;
	font-weight: bold;
}
}

.title_text03 {
  position: relative;
  font-weight:bold;
  text-align: center;
  margin: 0 auto 50px;
}
.title_text03::before {
  content: attr(data-number);
  display: block;
  margin-bottom: -45px;
  color:rgba(79,79,79,0.2);
  font-size: 50px;
}
.title_text03::after {
   content: '';
  position: absolute;
  top: 75px;
  left: 50%;
  transform: translateX(-50%);
  width: 15px;
  height: 1px;
  background-color: #252525;
}

.newsPage{
	font-family:'BIZ UDGothic',  "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Arial", "Helvetica", sans-serif;
	width: 100%;
	background-color: #fefbf0;
	margin: 0;
	padding: 1.0rem;
	color: #25255255;
}

.newsPage .newsBlock {
	padding: 3.0rem 1.0rem;
	border-bottom: solid 1px rgba(239,239,239,1.00);
}

.newsPage .newsBlock .newsBlockTitle {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 2.5rem;

}

.newsPage .newsBlock .newsEx{
	font-size: 0.95rem;
}
.pagesectionLesson {
	font-family:'BIZ UDGothic',  "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Arial", "Helvetica", sans-serif;
	width: 100%;
	margin-top: 1.0rem;
	padding-top: 1.0rem;
	padding-bottom:1.5rem;
	padding-right:1.0rem;
	padding-left:1.0rem;
	color: #252525;
	margin-bottom: 1.0rem;
	background: url("img/bg-dog01.png") no-repeat center bottom;
}

@media screen and (max-width:768px){
	.pagesectionLesson {
	font-family:'BIZ UDGothic',  "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Arial", "Helvetica", sans-serif;
	width: 100%;
	margin-top: 1.0rem;
	padding-top: 1.0rem;
	padding-bottom:1.5rem;
	padding-right:1.0rem;
	padding-left:1.0rem;
	color: #252525;
	margin-bottom: 1.0rem;
	background: url("img/bg-dog01s.png") no-repeat center bottom;
}
	
}
	
	

.pagesection1 {
	font-family:'BIZ UDGothic',  "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Arial", "Helvetica", sans-serif;
	width: 100%;
	margin-top: 1.0rem;
	padding-top: 1.0rem;
	padding-bottom:1.5rem;
	padding-right:1.0rem;
	padding-left:1.0rem;
	color: #252525;
	margin-bottom: 0;
	background-color:#ffffff!important;
}

.pagesection1 p{
	font-family:'BIZ UDGothic',  "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Arial", "Helvetica", sans-serif;
	color: #252525;
	line-height: 1.75rem;
	
}


.pagesection1 ul {
  padding: 0.5em 1em 0.5em 2.3em;
  position: relative;
}

.pagesection1 ul li {
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;
}

.pagesection1 ul li:before {
  
  font-family: "Font Awesome 5 Free";
  content: "\f14a";/*アイコンの種類*/
  position: absolute;
  left : 1em;/*左端からのアイコンまでの距離*/
  color: #2E2E2E;/*アイコン色*/
	font-weight: 900;
}

.photoCircle {
	margin-top: 20px;
	margin-bottom: 20px;	
}

.photoCircle h4 {
	font-family: 'Cinzel', serif;
	font-size:1.4rem;
	color:#333333;
	margin-bottom:15px;
	display:inline-block;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #666;
}

.voiceBox {
	margin: 0.5rem;
	padding: 0.5rem;
}

/* 吹き出し本体 - 普通の吹き出し */
.balloon1{
	color: #272727;
	font-size: 1.0rem;
  position: relative;
  padding: 20px;
  background-color: #fffafc;
  border-radius: 10px;         /* 角丸を指定 */
}
/* 三角アイコン - 普通の吹き出し */
.balloon1::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: -15px;
  top: 20px;
  border-right: 15px solid #fffafc;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}

/* archive */


.nav {
	padding-right:2.0rem;
	padding-top: .5rem;
	padding-bottom:0rem;
	    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
		background: #000000;
		  background-color: rgba( 255, 255, 255, 0.60 );

}

.nav a{
	color:#161616!important;
	font-size:0.95rem;
} 
.menu-wrap,
.menu-wrap ul[id^="menu-"]{
	margin-bottom: 0;
}

#header ul.sub-menu,
#header ul.children {
	display: none;
}
#header ul.sub-menu li:last-child,
#header ul.children li:last-child {
	border-bottom: none;
}
#header ul.sub-menu li >a:before,
#header ul.children li >a:before {
	content: '\f0da';
	margin: 0 4px 0 2px;
	font-family: 'FontAwesome';
}

#header a:hover, #header li:hover >a, #header li.current_page_item >a, #header li.current_page_ancestor >a {
	color: #ffffff;
}
#header li[class*="children"] > a:after {
	content: '\f0d7';
	margin-left: 4px;
	font-family: 'FontAwesome';
}
#header li[class*="children"] li {
	margin-left: .6rem;
	text-indent: -.6rem;
}

.header-bg {
	background-color: #FFF;	
}



/* full width image */
.topPhoto {
	width: 100%;
	text-align: center;
	margin-top: 0px;	
}

p.resizeimage img {
	width:100%;
	margin-bottom: 0px;
	padding-top: 0px;
}

/* slider */
.topSlide{
	margin-top:-2.0rem;
	margin-bottom:2.0rem;
}

/* page design customise */
/* Front-page */

.movesection{
	margin-top:0.5rem;
}


#cate-icon {
    clear: both;
    float: left;
	width:150px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    background-color: #2E1301;
    color: #FFF;
    padding: 2px 5px;
	margin-right: 10px;
	
}


/*カテゴリーをクラス名にして存在する数だけ用意します。*/
.news {
	display: inline-block;
  position: relative;
	width: 100px;
	text-align: center;
	padding-top: 0;
	padding-bottom: 0;
	color:#ffffff;
	font-size:0.8rem;
	background-color: #222222;
}
.activity {
	display: inline-block;
  position: relative;
	width: 100px;
	text-align: center;
	padding-top: 0;
	padding-bottom: 0;
	color:#ffffff;
	font-size:0.8rem;
	background-color: #222222;
}

.event {
	display: inline-block;
  position: relative;
	width: 100px;
	text-align: center;
	padding-top: 0;
	padding-bottom: 0;
	color:#ffffff;
	font-size:0.8rem;
	background-color: #222222;
}

.voice-pianolesson{
	display: inline-block;
  position: relative;
	width: 100px;
	text-align: center;
	padding-top: 0;
	padding-bottom: 0;
	color:#ffffff;
	font-size:0.8rem;
	background-color: #222222;
}

.voice-noutore{
	display: inline-block;
  position: relative;
	width: 100px;
	text-align: center;
	padding-top: 0;
	padding-bottom: 0;
	color:#ffffff;
	font-size:0.8rem;
	background-color: #222222;
}
.eyecatch {
	overflow:hidden;
}

.eyecatch img {
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.5s;	
}

.eyecatch img:hover{
-moz-transform: scale(1.1,1.1);
-webkit-transform: scale(1.1,1.1);
-o-transform: scale(1.1,1.1);
-ms-transform: scale(1.1,1.1);
}


/* page customise */


.photoShadow {
	box-shadow: 2px 2px 4px gray;
}


/* 補足情報 */
.point	{
	position: relative;
	margin: 40px 0 30px;
	padding: 25px 20px 20px;
	border-radius: 10px;
	background-color: #e2ffff;
	font-size: 14px;
	clear: both
}

.point:before	{position: absolute;
	left: 15px;
	top: -15px;
	content: '\f0eb';
	z-index: 2;
	width: 32px;
	height: 32px;
	padding-top: 3px;
	border-radius: 16px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #0096e0;
	color: #ffffff;
	font-family: 'FontAwesome';
	font-size: 26px;
	line-height: 1;
	text-align: center}

.point:after	{position: absolute;
	left: 32px;
	top: -8px;
	z-index: 1;
	content: 'POINT';
	padding: 3px 10px 3px 20px;
	border-radius: 5px;
	background-color: #0096e0;
	color: #ffffff;
	font-family: Verdana, Helvetica, sans-serif;
	font-weight: bold;
	line-height: 1}
	
/* 情報詳細 */
.information{
margin:2em 0;
position: relative;
padding: 0.5em 1.5em;
border-top: solid 2px #674d46;
border-bottom: solid 2px #674d46;
}
.information:before, .information:after{
content: '';
position: absolute;
top: -10px;
width: 2px;
height: -webkit-calc(100% + 20px);
height: calc(100% + 20px);
background-color: #674d46;
}
.information:before {left: 10px;}
.information:after {right: 10px;}
.information p {
margin: 0;
padding: 0;
}

/* 注意書き */
.attention	{
	position: relative;
	margin: 40px 0 30px;
	padding: 20px;
	border-radius: 10px;
	border: 2px dotted #000066;
	background-color: #ffffff;
	font-size: 1.0rem;
	clear: both
}

.attention:before	{position: absolute;
	left: 20px;
	top: -15px;
	content: '\f071';
	background-color: #ffffff;
	color: #000066;
	font-family: 'FontAwesome';
	font-size: 26px;
	line-height: 1}

/* Breadcrumbs */
.breadcrumbs {
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 1.0rem;
	color: #ffffff;
	list-style: none;
	background-color: #252525;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}
.breadcrumbs a{
	color: #ffffff;
}

.breadcrumbs>* {
	margin: 0;
	float: left;
	font-size: 0.875rem;
	text-transform: uppercase;
}
.breadcrumbs>*:before {
	content: '\f105';
	color: #aaa;
	margin: 0 0.75rem;
	position: relative;
	top: 1px;
	font-family: 'FontAwesome';
}
.breadcrumbs>*:first-child:before {
	content: '';
	margin: 0;
}
/* Articles */

.singleNewsTitle {
	margin: 2.0rem 2.0rem;
}

.singleNewsTitle h2 {
	text-align: left;
	font-weight: bold;
	font-size: 1.75rem;
}
.singleNewsContents {
	width:90%;
	color: #252525;
	padding: 3.0rem 3.0rem;
	margin: 2.0rem 1.0rem;
	background: #ffffff;
}

@media screen and (max-width:768px) {
	.singleNewsContents {
	width:90%;
	color: #252525;
	padding: 3.0rem 1.0rem;
	margin: 2.0rem 1.0rem;
	background: #ffffff;
}
}

.singleNewsContents p{
	font-family:'BIZ UDGothic',  "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Arial", "Helvetica", sans-serif;
	color: #252525;
	line-height: 1.75rem;
}

.blogBox{
	margin: 1.0rem;
	padding: 0;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
	background-color: #ffffff;
}

.blogBox .blogContents {
	padding: 0.8rem 1.0rem;
}

.blogDate{
	color: #434343;
	font-size: 0.85rem;
}

.blogBox .blogContents h4 {
	font-weight: bold;
	font-size:1.15rem;
}

.newsBox {
	margin: 1.0rem;
	padding: 0;
}

.newsBox .newsBoxContents a {
	color: #ffffff;
}

.newsDate {
	color: #ffffff;
	font-size: 0.85rem;
}
.box30 {
	width:100%;
    margin-top:0;
	margin-bottom:1.0rem;
    background: #f5f3f3;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}
.box30 h3 {
    font-size: 1.2em;
    background: #efefef;
    padding: 4px;
    text-align: center;
    color: #391d11;
    font-weight: bold;
	border-bottom: #391d11 solid 1px;
    letter-spacing: 0.05em;
}
.box30 p {
    padding: 0px 10px;
    margin: 0;
}

/* 一部だけ線の色を変える */
.box2-7 {
    margin: 0 auto 2em; /* 外側の余白（上下と中央配置） */
    padding: 2em;                 /* 内側余白 */
    border: 3px solid #eee;      /* 線の太さ（3px）、種類（実線）、色（#eee） */
    position: relative;           /* 配置（基準となる位置） */
    z-index: 0;                   /* 他の要素との重なり順（0は通常の順番） */
}

.box2-7:before {
    border-top: 3px solid #07a30e;  /* 上辺の線の色（#8293AA） */
    border-left: 3px solid #07a30e; /* 左辺の線の色（#8293AA） */
    content: '';                    /* 擬似要素にコンテンツなし */
    display: block;                 /* 擬似要素をブロック表示 */
    position: absolute;             /* 配置（親要素から絶対的に位置を指定） */
    top: -3px;                      /* 上から-3pxずらす */
    left: -3px;                     /* 左から-3pxずらす */
    width: 20px;                    /* 幅20px */
    height: 20px;                   /* 高さ20px */
    z-index: 1;                     /* 重なり順（前面に表示） */
}

/* pタグの余白 */
.box2-7 p {
    margin: 0;
}
.singleContents {
	margin: 0;
	padding: 2.0rem 1.0rem;
	font-weight: normal;
	font-size: 1.0rem;
}

.singleContents h4{
    margin:  0;                 /* デフォルトCSS打ち消し */
    position:  relative;        /* 位置調整 */
    font-weight:  normal;       /* 文字の太さ調整 */
    font-size: 1.6rem;            /* 文字サイズ指定 */
    text-align:  center;        /* 文字位置指定 */
    padding: 20px 0 15px;       /* 余白指定 */
    border-top: solid 1px;      /* 線指定 */
    border-bottom:  solid 1px;  /* 線指定 */
    width:  320px;              /* 幅指定 */
    margin: 0 auto 35px;        /* 周りの余白指定 */
}

/* Postmeta */
.inline-postmeta {
	color: #777;
	font-size: .95rem;
}
.inline-postmeta>li>* {
	display: inline-block;
}

/* Article navigation links */
.navlink {
	border-top: 1px dotted #ddd;
	padding-top: 1rem;
}
.navlink > span {
	width: 50%;
}
.navlink-meta {
	display: block;
}
.navlink-prev {
	padding-right: .25rem;
	text-align:left;
}
.navlink-next {
	padding-right: .25rem;
	text-align:left;
}

/* page links */
#page-links {
	margin-bottom: 1rem;
	line-height: 2rem;
}
#page-links a {
	text-decoration: none;
}
#page-links span {
	padding: 3px 13px;
	background: #ffffff;
	color: #fff;
}
#page-links a span {
	background: transparent;
	color: #777;
}
#page-links a span:hover {
	background: #F4EFE3;
}

/* Archives */
.archive-title > span {
	font-size: 80%;
}
article.archive {
	border-bottom: 1px dotted #ddd;
	padding-top: .875rem;
	padding-bottom: .875rem
}
article.archive:first-child {
	border-top: 1px dotted #ddd;
}
.sticky {
	padding-right: .875rem;
	padding-left: .875rem;
	background: #f7f7f7;
}
.attachment-thumbnail {
	border: 1px solid #f1f1f1;
	padding: 5px;
	background: #fff;
}
article.archive .inline-postmeta {
	margin-left: 0;
	font-size: .875rem;
}
article.archive .inline-list>li {
	margin-left: 0;
	margin-right: 1rem;
}
.more, .more a {
	margin-bottom: 0;
}

/* Pagination */
.pagination {
	margin: 2rem 0 0;
}
.screen-reader-text {
	display: none;
}
.page-numbers	{
	list-style-type: none;
	margin: 0 0 2rem;
	padding: 0;
	text-align: center;
}
.page-numbers li {
	display: inline-block;
	margin: 0 0 5px;
	line-height: 2em;
}
.page-numbers li:first-child {
	margin-left: 0;
}
.page-numbers li a,
.page-numbers li span {
	display: block;
	padding: 0 1em;
}
.page-numbers li span.current {
	background: #0096e0;
	color: #fff;
	cursor: default;
}
.page-numbers a:hover {
	background: #F4EFE3;
}

/* Images */
.aligncenter {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 1rem auto;
}
.alignleft {
	float: left;
	max-width: 100%;
	height: auto;
	margin: 0 1rem 1rem 0;
}
.alignright {
	float: right;
	max-width: 100%;
	height: auto;
	margin: 0 0 1rem 1rem;
}
.alignnone {
	margin: 0 auto 1rem;
}
.wp-caption,
.gallery-caption {
	max-width: 100%;
	height: auto;
}
.wp-caption-text {
	margin-top: 3px;
	color: #888;
	font-size: .75rem;
	font-style: italic;
	text-align: center;
}
.wp-caption-text a, *[itemprop="articleBody"] a {
	text-decoration: underline;
}

/* Password protected posts */
label[for^="pwbox"] {
	float: left;
}
label[for^="pwbox"] > input[type="password"] {
	width: 12rem;
}
label[for^="pwbox"] + input[type="submit"] {
	height: 2.3125rem;
	margin-top: 1.26rem;
	border: 0;
	background: #777;
	color: #fff;
	cursor: pointer;
}
label[for^="pwbox"] + input[type="submit"]:hover {
	background: #222;
}

/* Texts */
.text-black	{ color: #222; }
.text-gray	{ color: #777; }
.text-green	{ color: #269951; }
.text-blue	{ color: #256A84; }
.text-red	{ color: #D35034; }
.text-yellow{ color: #ffff00; }
.text-wine { color: #690202 ; }
.font-opensans { font-family: 'Noto Sans','Open Sans',  "メイリオ", Meiryo, sans-serif; }
.font-awesome	{ font-family: 'FontAwesome'; }
.font-bold	{ font-weight: bold; }
.font-bigger	{ font-size: 125%; }
.font-smaller	{ font-size: 75%; }
.font-half	{ font-size: 50%; }
.font-300 {font-size:300%;
			font-weight: bold;}


/* Buttons */
.button.black {
	background-color: #555;
	border-color: #444;
	color: #fff;
}
.button.black:hover, .button.black:focus {
	background: #222;
}

/* Tables */
table{
  margin:0 auto;
  border-radius:10px;
  -webkit-border-radius:10px;
  -moz-border-radius:10px;
  border:1px solid #666!important;
  border-spacing: 0;
  overflow:hidden;
}
td,th{
  border-bottom:1px solid #666;
}
td,th{
  padding:10px;
}
th{
  background:#EFEFEF;
}
table tbody tr:last-child th,
table tbody tr:last-child td{
  border-bottom: none;
}
th + th,td{
  border-left:none;
}

.tbl-r02 th {
  background: #7b6f5b;
  border: solid 1px #ccc;
  color: #fff;
  padding: 10px;
}
.tbl-r02 td {
　border: solid 1px #ccc;
  padding: 10px;
}
 
@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .tbl-r02 {
    width: 80%;
  }
  .tbl-r02 th,
  .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}

.tbl-lesson th {
  background: #7b6f5b;
  border: solid 1px #ccc;
  color: #fff;
	font-weight: bold;
	text-align: center;
  padding: 2.0rem 1.0rem;
}
.tbl-lesson td {
　border: solid 1px #7b6f5b;
  padding: 10px;
	font-weight: normal;
	background: rgba(235,235,235,1.00);
}

@media screen and (max-width: 640px) {
   .tbl-lesson {
    width: 100%;
  }
  .tbl-lesson th,
  .tbl-lesson td {
　　border-bottom: none;
    display: block;
    width: 100%;
	  padding: 1.0rem;
  }
}

/* table01 */
#table01 tr {
  border-bottom: 1px solid #b5b1b1;
}

#table01 th,
#table01 td {
  padding: 24px 1.0rem;
  border: none;
}

#table01 th {
  width: 30%;
}

/* sp */
@media only screen and (max-width: 480px) {
  #table01 th,
  #table01 td {
    width: 100%;
    display: block;
  }

  #table01 th {
    width: 100%;
  }

  #table01 td {
    padding-top: 0;
  }
}

/* Comments */
#comments, #respond {
	margin: 0 0 1rem;
	padding: 2% 3%;
	font-size: .875rem;
}
#comments > h3, #respond > h3 {
	margin-bottom: 2rem;
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: bold;
}
#comments {
	background: #FAFAFF;
}
.comment-body {
	margin-bottom: 1rem;
	border-bottom: 1px solid #ddd;
}
.comment-meta {
	margin-bottom: .875rem;
}
.comment-author img {
	float: left;
	margin-right: .5rem;
}
.comment-metadata {
	font-size: 80%;
}
.bypostauthor b {
	color: #D35034;
}
.bypostauthor b:after {
	content: '\f005';
	margin-left: .125rem;	
	font-family: 'FontAwesome';
}
.reply {
	margin-bottom: .5rem;
	font-size: .875rem;
}

#respond {
	background: #f3f3f3;
}
#commentform label {
	display: inline-block;
}
.required {
	color: #D35034;
}
.comments_pagination a{
	display: inline-block;
}
.comments_pagination a:hover {
	background: #F4EFE3;
}
.comments_pagination .page-numbers{
	padding: .3rem .7rem;
	font-size: .875rem;
}
.comments_pagination .current {
	background: #0096e0;
	color: #fff;
}
.form-submit input {
	margin-bottom: 0;
}

/* Widgets */
.widget {
	margin-bottom: 1.5rem;
	padding: 10px;
}
.widget h1 {
	margin-top: 0;
	font-family:'BIZ UDGothic',  "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Arial", "Helvetica", sans-serif;
}
.widget ul {
	margin-left: 0;
	list-style: none;
}
.widget ul li {
	font-size:0.98rem;
	padding: 0 1rem;
	text-indent: -1rem;
}
.widget ul li:before {
	content: '\f0da';
	margin: 0 .5rem 0 2px;
	font-family: 'FontAwesome';
}
/* Widget calendar */
#wp-calendar {
	text-align: center;
}
#wp-calendar caption {
	border: 1px solid #ddd;
	border-bottom: none;
	padding: .25rem 0;
	background: #EAEAEA;
}
/* Widget Posts */
.post-date {
	margin-left: 6px;
	font-size: .875rem;
}
/* Widget RSS */
.rss-date, .rssSummary, .widget_rss cite {
	font-size: .875rem
}
.rssSummary {
	text-indent: 0;
}
.widget_rss cite {
	display: block;
	margin-bottom: .5rem;
	border-bottom: 1px dashed #ddd;
	text-indent: 0;
}

/* Footer */


#footer {
	padding-top:2.0rem;
	margin-top:0;
	width: 100%;
	text-align:left;
	color:#252525;
	margin-bottom:0;
	background-color: #ffffff!important;
}

#footer p {
	text-align: left!important;
	color: #252525;
	font-size:0.9rem;
}

#footer a{
	color:#252525;	
	text-align: left;
}

#footer .ftAddress {
	text-align: center;
	color: #252525;
	font-size: 1.15rem;
	line-height: 1.7rem;
}
.footerSitemap {
	width: 100%;
	background: url("img/bg-dog02.png") repeat-x center top;
	padding: 10.0rem 1.0rem 1.0rem;
	color: #252525;
	margin-top:2.0rem;
	margin-bottom:0;
}
@media screen and (max-width:768px){
	.footerSitemap {
	width: 100%;
	background: url("img/bg-dog02s.png") repeat-x center top;
	padding: 10.0rem 1.0rem 1.0rem;
	color: #252525;
	margin-top:2.0rem;
	margin-bottom:0;
}
}


.footerSitemap p {
	text-align: center;
	text-align: left!important;
	color: #252525;
	font-size:0.9rem;
	font-weight: bold;
}


.footerSitemap ul li{
	    line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;
}

.footerSitemap ul li:before{
	 font-family: "Font Awesome 5 Free";
  content: "\f0da";/*アイコンの種類*/
  position: absolute;
  left : 2em;/*左端からのアイコンまでの距離*/
 color: #252525;/*アイコン色*/
	font-weight: 900;
	
}

/* Page top button */
/***追従するトップへ戻るボタン***/
#page-top {
    position: fixed;
    right: 5px;
    bottom: 20px;
    height: 50px;
    text-decoration: none;
    font-weight: bold;
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 1.5rem;
    color: #626262;
    padding: 0 0 0 35px;
    border-top: solid 1px;
}
#page-top::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}
/***トップへ戻るボタンここまで***/

/* External media links */
.moveWrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.moveWrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media only screen and (max-width: 48.001em) {
	.home .flex-viewport li {
		max-height: 150px;
	}
	.flex-title {
		padding: 10% 1.5rem .5rem;
		font-size: 1.75rem;
		line-height: 1;
	}
	.nav {
		margin-bottom: 0;
		border: 2px solid transparent;
		background: #000000;
		  background-color: rgba( 255, 255, 255, 0.60 );
		box-sizing: border-box;
		-moz-box-sizing: border-box;
	}
	.nav-button {
		margin-bottom: 0;
		padding: .35rem 0;
	}
	.menu-wrap {
		display: none;
	}
	#header .menu-item >a {
		display: block;
		background:#ffffff;
		border-top: 1px dashed #ccc;
		padding: .35rem;
	}
	#header .menu-item:hover,
	#header .menu-item:hover {
		background: #ffffff;
	}
	.flexslider {
	margin-bottom: 2rem;
	}
	.flex-control-nav {
		bottom: -2rem;
	}
	.alignright, .alignleft {
		float: none;
		display: block;
		margin-right: auto;
		margin-left: auto;
	}
	.page-top {
		right: 1%;
		bottom: 1%;
		width: 2rem;
		line-height: 2rem;
		font-size: .875rem;
	}
	
	/* ハンバーガーメニュー　2020.3.17 */
.menu{
    height: 20px;
    position: fixed;
    right: 20px;
    top: 10px;
    width: 30px;
    z-index: 99;
}
.menu__line{
    background: #1E1E1E;
    display: block;
    height: 2px;
    position: absolute;
    transition:transform .3s;
    width: 100%;
}
.menu__line--center{
    top: 9px;
}
.menu__line--bottom{
    bottom: 0;
}
.menu__line--top.active{
    top: 8px;
    transform: rotate(45deg);
}
.menu__line--center.active{
    transform:scaleX(0);
}
.menu__line--bottom.active{
    bottom: 10px;
    transform: rotate(135deg);
}

/*フルスクリーンナビゲーション　2020.3.17 */
.gnav{
    background: rgba(255,255,255,0.95);
    display: none;
    height: 100%;
	top:0;
    position: fixed;
    width: 100%;
    z-index: 98;
}
.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;
}
.gnav__menu {
	font-family:'BIZ UDGothic',  "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Arial", "Helvetica", sans-serif;
	list-style: none;

}
.gnav__menu__item{
    margin: 30px 0;
}
.gnav__menu__item a{
    color: #000;
    font-size: 1.4rem!important;
    font-weight: bold;
    padding: 20px;
    text-decoration: none;
    transition: .5s;
}
.gnav__menu__item a:hover{
    color: #666;
}

.gnav__menu__item a:visited{
    color: #666;
}

/* 下矢印 */
.init-bottom:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 15px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}



}

@media only screen and ( min-width: 48.000em ) {
	/* Header */
	#header {
	margin-bottom: 0px;
	}
	
	
	
	/* Archives */
	.archive-title {
		margin: 0 0 1.5rem;
		font-size: 2.2rem;
	}
	article.archive h1 {
		margin-top: 0;
	}
	.attachment-thumbnail {
		float: left;
		margin: 0 1rem 1rem 0;
	}
	/* Widget */
	.widget h1 {
	font-size: 1.2rem;
	color: #252525;
		line-height: 1.75rem;

	}
}
@media only screen and ( min-width:64.063em ) {
	.home .flex-viewport li {
		max-height: none;
	}
	.post-date {
		vertical-align: text-top;
	}
}
@media screen and (max-width: 769px){
	html #wpadminbar {
		top: -46px;
	}
}




/*スクロールダウン全体の場所*/
.scrolldown4{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  bottom:1%;
  right:50%;
    /*矢印の動き1秒かけて永遠にループ*/
  animation: arrowmove 1s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
      0%{bottom:1%;}
      50%{bottom:3%;}
     100%{bottom:1%;}
 }

/*Scrollテキストの描写*/
.scrolldown4 span{
    /*描画位置*/
  position: absolute;
  left:-20px;
  bottom:10px;
    /*テキストの形状*/
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 矢印の描写 */
.scrolldown4:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 0;
    right: -6px;
    /*矢印の形状*/
    width: 1px;
    height: 20px;
    background: #eee;
    transform: skewX(-31deg);
}

.scrolldown4:after{
  content:"";
    /*描画位置*/
  position: absolute;
  bottom:0;
  right:0;
    /*矢印の形状*/
  width:1px;
  height: 50px;
  background:#eee;
}





.wpcf7-submit {
font-size: 17px;
padding: 3px 25px;
background: #e9e9e9;
color: #363B3F;
border-radius: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-top: none;
border-right: none;
border-left: none;
border-bottom: solid 4px #dcdcdc;
}

.wpcf7-submit:hover {
background-color: #dcdcdc;
color: #dc143c;
}

/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
	overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
	display: inline-block;

}

/*左右のアニメーション*/
.rightAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
	animation-name:slideTextX100;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
  from {
	transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
	animation-name:slideTextX-100;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
  from {
	transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.mw_wp_form [type=submit] {
	font-weight: bold;
	margin: 10px auto;
	color: #FFFFFF; /* ボタンのテキストの色 */
	background: #000000;
	padding: 1.0rem 4.0rem;
	box-shadow: 0px 1px 3px rgba(0,0,0,.5); /* ボタンの影の設定 */
	border: 0; /* ボタンの枠線の設定 */
	border-radius: 2px; /* ボタンの角の丸みの設定 */
 }
.mw_wp_form [type=submit]:hover {
	background: #474747; /* マウスカーソルを上に乗せた時のボタンの色 */
	color: #fff; /* マウスカーソルを上に乗せた時のボタンのテキストの色 */
	box-shadow: 0px 1px 3px rgba(0,0,0,.5);/* マウスカーソルを上に乗せた時のボタンの影の設定 */
 }

/* contents slider */
.swiper-container {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  width: 320px!important;
  height: auto!important;
  overflow: visible;
  text-align: center;
  font-size: 18px;
  background: #fff;
  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.swiper-slide img{
  width: 100%;
  height: auto;
}

.swiper-slide p{
	color: #252525;
}

.swiper-slide h4 {
	color: #252525;
	font-size: 1.15rem;
	font-weight: bold;
	text-align: center;
}

.mainvisual {
  overflow-x: hidden;
}

/*-- 関連記事エリア --*/
.random {
  padding: 0px;
  margin: 0px;
  text-align: center;/*記事エリア及びタイトルを中央揃え*/
}

.random ul {
  padding: 0px;
  margin: 0px;
  width: 250px;
  display: inline-block;/*横並びでブロック配置*/
}

.random li {
  float: left;
  position: relative;
  list-style: none;
}

.kanren-title span {/*記事タイトル*/
  background: #fff;/*背景色*/
  font-weight: bold;/*文字を太字に*/
  color: #494949;/*文字色*/
  font-size: 12px;/*文字サイズ*/
  padding-top: 3px;
  margin-top: -10px;
  float: left;
  text-align: left;
  line-height: normal;
  width: 230px;/*タイトルエリアの幅*/
}

.hp-title {
  color: #a7a7a7;
  margin-top: -5px;
  float: left;
}

.random li img {/*アイキャッチ画像*/
  width: 250px;/*画像幅*/
  height: 140px;/*画像の高さ*/
}

.random ul li:last-child {
  margin-top: 10px;
  margin-left: 10px;
}

.voiceBox {
	margin: 0.5rem;
	padding: 0.5rem;
}

/* 吹き出し本体 - 普通の吹き出し */
.balloon1{
	color: #272727;
	font-size: 1.0rem;
  position: relative;
  padding: 20px;
  background-color: #fffafc;
  border-radius: 10px;         /* 角丸を指定 */
}
/* 三角アイコン - 普通の吹き出し */
.balloon1::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: -15px;
  top: 20px;
  border-right: 15px solid #fffafc;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}