@charset "UTF-8";

/* モーダル対応 */
/* これが無いとモーダルウィンドウ表示の際に余白が出る */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;/* paddingやmarginを含めない高さ幅 */
}
*:before, *:after {
  box-sizing: border-box;/* paddingやmarginを含めない高さ幅 */
}
/* クリックしたときの青い枠線・タップしたときの青い四角を消す */
*:focus {
  outline: none;
  }

/* fontawesome アイコン右の隙間を空ける */
i {
  padding-right: 0.3rem;
}

/* スクロールバーは常に表示 */
html {
 overflow-y: scroll;
 overflow: visible;
}



/* 行頭を1文字分空ける */
.indent_1rem{
	text-indent : 1rem;
  }

.margin-top_0rem {
  margin-top: 0;
}

.margin-top_1rem {
  margin-top: 1rem;
}

.margin-top_2rem {
  margin-top: 2rem;
}

.margin-bottom_0rem {
  margin-bottom: 0;
}

.margin-bottom_1rem {
  margin-bottom: 1rem;
}

.margin-bottom_2rem {
  margin-bottom: 2rem;
}

/* ----------------------------------------------------- */

/* 画面 幅に連動してリサイズ */
.resizeimage img {
  display: block;
  width: 100%;
  max-width: 1024px;
  text-align: center;
  margin: 0 auto;
  padding-bottom: 1rem;
  height: auto;
  }

/* ----------------------------------------------------- */

/* ドロワー ハンバーガークリックしたあとのブルー画面*/

/* 667px以上　1024px以下　の設定 */
/* 2カラムにする */
@media screen and (min-width:667px) and ( max-width:1024px) {
	.conDrawer .container {
		display: flex;
		max-width: 1024px;
		margin-left: auto;
		margin-right: auto;
	}
	.conDrawer .wrap	{
		flex: 1;
	}
  .conDrawer .wrap:first-child	{
		margin-right: 20px;
    margin-bottom: 10px;
	}
}

/* 小さい画面用(767px以下) の設定 */
@media (max-width: 767px) {
  .conDrawer .wrap	{
  }
  .conDrawer .wrap:first-child li	{
    /* border-top: solid 1px #666; */
  }
}

.conDrawer .modal{
  display: none;
  position: fixed;
  z-index: 999999;/* ドロワー全体を最上位レイヤーに */
  top: 0;
  left: 0;
}


/* ドロワー本体 */
.conDrawer .modal-content{
  position: fixed;
  z-index: 999999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  background: #006bb4;/* ブルー */
  overflow-y: auto;
  /* スマホ用スクロール */
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  /* ドロワーの大きさ */
  width: 100%;
  in-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
  min-height: calc(var(--vh, 1vh) * 100);/* スマホのアドレスバーを除いた実際の100vhをJSで取得する */
  border-radius: 0;
  border: none;
  color: #fff;
}

.conDrawer .modal-content a,
.conDrawer .modal-content a:visited {
  color: #fff;
}

.conDrawer .modal-content ul {
  font-size: 14px;
  line-height: 2;
}

.conDrawer .modal-content li {
  color: #fff;
  padding: 5px;
  border-bottom: solid 1px #fff;
}

.conDrawer .modal-content h2 {
  font-size: 9px;
  color: #fff;
}

.conDrawer .modal-content img {
  width: 100%;
}
.conDrawer .modal-content iframe {
  width: 100%;
}

/* ドロワー内ヘッダー（ブルー） *//* ドロワー内　閉じる */
.conDrawer .my_modal_header_Blue{
  margin-top:0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  vertical-align: middle;
  }

/* ヘッダーA:サイト名 */
.conDrawer .headA {
  display: block;
  padding: 0;
}

.conDrawer .headA img{
  width: 161px;
  height: 50px;
  padding:  12px 14px;
}

/* ドロワー内　閉じる */
.conDrawer .my_modal_close{
  position: absolute;
  width: 20px;
  height: 20px;
  right: 9px;
  top: 8px;
  cursor: pointer;
  color: #fff;
}
/* ドロワー内　閉じるアイコン */
.conDrawer .my_modal_close_icon{
  display: inline-block;
  width: 20px;
  height: 20px;
  position: relative;
  cursor: pointer;
  color: #fff;
}
.conDrawer .my_modal_close_icon a{
  font-size: 22px;
  color: #fff !important;
}
.conDrawer .my_modal_close_icon a .white{
  color: #fff;
}
/* ドロワー内　閉じるアイコン　ここまで */

/* ----------------------------------------------------- */

/* closeボタン */
.conDrawer .close_button {
  padding: 7px 15px;
  color: #fff;
  border: none;
  outline: none;
  background: none;
  font-size: 24px;
  opacity: 1;/* 0.5→1 (2023/10/13変更) */
  cursor: pointer;
}

.conDrawer .close_button a {
  color: #fff;
}

/* closeボタン ここまで */

/* ----------------------------------------------------- */

/* ドロワー内　コンテンツ表示 */
.conDrawer .my_modal_content{
  padding: 12px;
  color: #000;
  text-align: justify;
  text-justify: inter-ideograph;
}

.conDrawer .my_modal_content p .small{
  font-size: 0.9rem;
  vertical-align: top;
}

.conDrawer .my_modal_content li {
  list-style:none;

}
/* ドロワー内　コンテンツ表示　ここまで */

/* ドロワー ここまで */
/* トグルボタン　ここまで */
/* ----------------------------------------------------- */

/* 基本色 */
:root {
	--main-color: #5D9AB2;
	--accent-color: #BF6A7A;
	--dark-main-color: #c2bd6c;
	--text-bright-color: #fff;
	--icon-color: #fff;
	--icon-bk-color: #ddd;
	--gray-color: #ddd;
	--large-width: 1024px;
	--middle-width: 768px;
}

/* ----------------------------------------------------- */


/* iPhone対応　クリックしたときの青い枠線・タップしたときの青い四角を消す */
a {

  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}

/* リンクカラーの基本設定 */




/* tableの隙間をリセット */
table {
  border-collapse: collapse;
  border-spacing: 0;
  }

/* ----------------------------------------------------- */
/* 基本設定： フォントサイズ */

/* 768px以上 の設定 */
@media (min-width: 768px) {
	:root {
	  font-size: 16px;
	}
}

/* デバイス横向きで
画面の縦幅が 430px以下の場合の設定 */
@media only screen and (max-height: 430px) and (orientation: landscape) {
  :root {
    font-size: 14px;
  }
 }

 /* 767px以下 の設定 */
 @media (max-width: 767px) {
 	:root {
 	  font-size: 14px;
 	}
 }
/* ----------------------------------------------------- */

/* pの基本設定 */
p {
	margin-top: 0;
	margin-bottom: 1rem;
	padding: 0;
	font-size: 1rem;
	line-height: 1.7;
  }




/* 基本設定： ページ全体 */
body {
	font-family: 'HiraKakuPro-W3', "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;

  height: 100%;/* スクロールバーを出すため */
}



/* テキストカラー */
.text_red{
	color: #fd0000;
  }
.text_bk{
	color: #000;/* 不使用 */
  }
.text_white{
	color: #fff;/* 不使用 */
  }
.text_ccc{
	color: #ccc;/* 不使用 */
  }
.text_glay666{
	color: #666;/* 不使用 */
  }
/* テキストカラー　ここまで */


/* ----------------------------------------------------- */

/* ヘッダー */
header {
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  background-color: #fff;
  margin: auto;
}

header .container {
  margin: auto;
}

/* 現在地の設定 */
.current {
  pointer-events: none;
  cursor: default;
  color:#ccc;
}


  /* ヘッダー下　ボーダーのカ色 */



  @media (max-width: 1020px) {
    .headB img{
      padding: 7px 10px 7px 10px;
    }
  }


/* ブルー ライン */
  header .header_border_color {
  	position: relative;
  	border-bottom: 7px solid #006bb4;/* ブルー */
  }

/* グレー 不要になった*/
/*header .header_border_color::after {
    content: '';
    position: absolute;
    right: 0%;
    width: 203px;
    height: 7px;
    background-color: #ccc;
    }*/

  @media (max-width: 767px) {
  header .header_border_color {
  	display: none;
  }
  }



/* ヘッダー： 大きい画面用(768px以上) の設定*/
@media (min-width: 768px) {
  header .container {
    margin-top: 12px;/*ヘッダーの上スペース空ける*/
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ヘッダー： 小さい画面用(767px以下) の設定 */
@media (max-width: 767px) {
  header {
    position: fixed;/*ヘッダー固定*/
  }
  header .container-small {
    margin-top:0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    vertical-align: middle;
  }
}

/* ----------------------------------------------------- */

/* ヘッダーA:サイト名 */
.headA {
  display: block;

}

.headA img{
  vertical-align: bottom;;/* ヘッダーの上下合わせ　重要*/
  width: 185px;
  height: 50px;
  padding: 13px 1rem 7px 1rem;
}


/* ヘッダーA:ロゴ　小さい画面用(767px以下)の設定 */
@media (max-width: 767px) {
  .headA img{
    width: 161px;
    height: 50px;
    padding:  12px 14px;
  }
}

/* ----------------------------------------------------- */

/* ヘッダーB：TEL */
.headB {
}

/*TEL下のグレーラインをコントロール*/
  /*基準としたい親要素*/
.headB .parent_glay_line {
    position: relative;
  }
.headB .child_glay_line {
    position: absolute;
    top: 50px;/*　headB img左上からの距離　*/
    left:0;/*　headB img左上からの距離　*/
    z-index: 1;/*　レイヤー上位に　*/
    border-bottom: 7px solid #999;
    width: 193px;
    height: 7px;
  }
/*TEL下のグレーライン　ここまで*/

/*TEL画像*/
.headB img{
  vertical-align: bottom;;/* ヘッダーの上下合わせ　重要*/
  width: 209px;
  height: 50px;
  padding: 9px 1rem 7px 0;
}

/* ヘッダーB：1020px以下 の設定 */
/*TEL画像*/


/* ヘッダーB：767px以下 の設定 */
/*TEL画像*/
@media (max-width: 767px) {
  .headB {
    display: none;/*　表示しない　*/
  }
}

/* ----------------------------------------------------- */

/* ヘッダーC： トグルボタン */
/* 768px以上　の設定 */
@media (min-width: 768px) {
  .menu_button {
    display: none;/* headC　トグルボタン　読み込まない */
  }
}

/* ヘッダーC：767px以下　の設定 */
@media (max-width: 767px) {
  .menu_button {
    padding: 7px 14px;
    color: #524f4e;/* ハンバーガーアイコンの色 */
    border: none;
    outline: none;
    background: none;
    font-size: 24px;
    opacity: 1;/* 0.5→1 (2023/10/13変更) */
    cursor: pointer;
  }
  .menu_button a {
    color: #666;
  }
  .menu_button:hover {
    opacity: 0.7;/* ホバー時の透過 */
  }
}

/* ----------------------------------------------------- */

/* ヘッダーD：グローバルナビ　*/
.headD {
  padding: 1rem 1rem;
  vertical-align: middle;
  background-color: #e9e8e8;
  margin: 0 auto;
  background-size:auto;
  max-width: 972px;
}
.background-color_wrap {
  background-color: #e9e8e8;
}

  /* 現在地の設定 */
.headD a .current {
    pointer-events: none;
    cursor: default;

  }

.headD .flex-box{
  display: flex;
  justify-content: space-between; /*均等に間隔をあける*/
  align-items: stretch;    /*全ての要素の高さを揃える*/
  align-content: space-between; /*均等に間隔をあける*/
  margin-top: 6px;
  margin-bottom: 8px;
}
.headD .flex-item {
  min-width: 6%;
  text-align: center;
}
.headD li{
  padding: 6px 0;
}
.headD a {
  color: #000;
  font-size: 14px;
  font-weight: 700;
}
.headD a:hover {
  color:#2968b2!important;
}
.headD a:link,
.headD a:visited,
.headD a:active,
.headD a:focus{
	color:#000;
}



/* ホバー時のアニメーション */
/* https://www.nxworld.net/css-hover-underline-animation-examples-and-sass-mixin.html */
.headD a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.headD a::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background: #2968b2;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
.headD a:hover::after {
  transform: scale(1, 1);
}
/* ホバー時のアニメーション ここまで */

/* ヘッダーD： 767px以下 の設定 */
@media (max-width: 767px) {
  .headD {
    display: none;/* headD読み込まない */
  }
}

/* ヘッダーD： 768px以上 の設定*/
@media (min-width: 768px) {
  .headD .flex-box {
    display: flex;
    max-width: 1024px;
    margin: 0 auto;
  }
}

/* ヘッダーD： 1020px以下の幅に縮まった場合 の設定*/
@media (max-width: 1020px) {
  .headD .flex-box {

  }
}

/*　iPad対応　画面サイズが768pxから840pxまではここを読み込む　*/
@media screen and (min-width:768px) and ( max-width:900px) {

  .headD a {
    font-size: 12px;
  }
  .headD li {
    min-width: 100px;
  }
}

/* ----------------------------------------------------- */
/* TOPイメージ */
.conTOP {
	display: flex;
	align-items: center;
	justify-content: center;
	background-repeat: no-repeat;
	background-position: center;
  background-size:1800px auto;/* 画像の最大横幅指定　autoで背景色を出す */
  margin: 0 auto;
  padding: 0 1rem;
  margin-bottom: 1rem;/* conTOPの下スペース */
}


/* SP用 TOPは不要*/
  /* @media (max-width: 767px) {
    .otherPhoto {
      background-image: url(../img/test.jpg);
    }
  } */

@media (min-width: 768px) {
  .conTOP {
    height: 50vh;/* 画面の50% */
    max-height: 460px;
  }
}

/* スマホ 縦　header分50px下げる */
  @media (max-width: 767px) {
    .conTOP {
      margin-top: 50px;
      height: 50vh;/* 画面の50% */
      max-height: 460px;
    }
  }

/* スマホ 横　スクリーンモード */
  @media (max-height: 430px) {
  	.conTOP {
      height:calc(100vh - 50px);/* 画面の100%　からヘッダ分を引く */
  	}
  }

/* スマホ 横　スクリーンモード ＋ 横768px以上になってしまう場合　画面の100%　からヘッダ分を引く*/
  @media screen and (max-height: 430px) and (min-width:768px) {
    .conTOP {
      height:calc(100vh - 118px);/* 画面の100% */
    }
  }

/* H1にワイド%を入れてはいけない */
.conTOP h1 {
	text-align: center;
  color: #fff;
  font-size: 2rem;
	line-height: 1.5;
  font-weight: 300;
	text-shadow:2px 2px 10px #522e12;
  margin: 0;

}

@media (min-width: 1024px) {
  .conTOP h1 {
	}
}

@media (max-width: 767px) {
  .conTOP h1 {
		font-size: 1.7rem;
	}
}
/* TOPイメージ　ここまで */

/* ----------------------------------------------------- */



/* ----------------------------------------------------- */



/* ----------------------------------------------------- */



/* ----------------------------------------------------- */



/* ----------------------------------------------------- */



/* ----------------------------------------------------- */



/* ----------------------------------------------------- */





/* ----------------------------------------------------- */

/* コンテンツ： テキストのみ　sc01量子空間催眠ＱＳＴについて、sc02メニュー&料金、sc03MAP・営業時間、sc04ご予約・お問い合わせ */
.conT {
	color: #000;
  margin: 0 auto;
  padding-top: 1rem;
	padding-bottom: 1rem;
	padding-left: 1rem;/* 左1文字分スペース */
	padding-right: 1rem;/* 左1文字分スペース */
  max-width: 1024px;
}

.conT .container{
	padding-bottom: 1rem;
  max-width: 1024px;
  margin: 0 auto;
}

/* 768px以上 の設定 */
@media (min-width: 768px) {
	.conT .container {

	}
}

.conT + .noPaddingTop{
  padding-top: 0;
}

/* 小さい画面用(767px以内) の設定 */
@media (max-width: 767px) {
  .conT {
    padding-top: 1rem;
  }
}


/* ページ h2左にグレー縦線 */
.conT .subh2 {
    text-align: left;
    border-left: 8px solid #ccc;
    padding: 12px;
    margin: 1rem auto 1rem 0;
}

.text-align_controll {
  text-align: center;
  margin: 0 auto;
  padding: 0 1rem;
}

.conT h2 {
  display: inline-block;
  text-align: left;
	margin-bottom: 1rem;
	font-size: 1.4rem;
  font-weight: 300;
  }

  @media (max-width: 430px) {
    .conT h2 {
      font-size: 1.3rem;
    }
  }


.conT h3 {
	margin-top: 1rem;
	font-size: 1.4rem;
}
.conT h3 span .smaller{
	margin-top: 0;
  font-size: 12px;
  color: #A00000;
	text-align: left;
}
.conT h3 .normal{
  font-size: 1.1rem;
	font-weight: normal;
}
.conT h4 {
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
	font-size: 1rem;
	text-align: center;
}
.conT h5 {
	margin-top: 0;
	margin-bottom: 2rem;
	font-size: 1rem;
  font-weight: normal;
	text-align: center;
}
.conT .circle img {
  display: block;
  width: 46px;
  height: 57px;
  margin: auto;
}
/* 小さい画面用(767px以下) の設定 */
@media (max-width: 767px) {
.conT .circle img {
  width: 35px;/* 0.75倍 */
  height: 43px;/* 0.75倍 */
}
}


/* 今のところ不使用 */
/* 図のキャプション */
.conT .cap {
	padding-top: 0.5rem;
	padding-bottom: 0.75rem;
	font-size: 14px;
	text-align: center;
}
/* モーダルのキャプション　Dolores Cannon （1931/04/15～2014/10/18）ここだけで使用 */
.conT .cap_modal {
	padding-top: 0;
	padding-bottom: 14px;
	font-size: 0.75rem;
	text-align: center;
}
/* 不使用？ */
.conT div .center {
	padding-top: 0;
	font-size: 1rem;
	text-align: center;
}
/* 不使用？ */
.conT .name {
	margin-top: 1rem;
	margin-bottom: 0.2rem;
	font-size: 1.75rem;
	text-align: center;
}
/* 不使用 */
.conT .prof {
	display: inline-block;
	padding-top: 2px;
	padding-bottom: 2rem;
	font-size: 12px;
	letter-spacing: 0.3em;
	border-top : 5px solid #999;
	text-align: center;
}
/* セクションナンバー画像　プロフィール除く（→conTT） */
.conT .sec_num img {
	display: block;
	align-items: center;
	justify-content: center;
	margin: auto;
	width: 20%;
}
/* 不使用 */
.conT .sec_num_short img {
	display: block;
	align-items: center;
	justify-content: center;
	margin: auto;
	width: 24%;
}
.conT li {
  line-height: 2;
}
.conT ul{
  list-style-type: circle;
  padding-left: 1rem;
}
.conT .small {
  font-size: 0.85rem;
}
.conT .big {
  font-size: 1.5rem;
}
.conT .textleft {
	padding-top: 10px;
  padding-left: 0.5em;
	display: inline-block;
	text-align: left;
}
.conT .textpack {
  text-indent: -1.5em;
  padding-left: 1em;
}
.conT .textlefty {
	padding-top: 0;
	display: inline-block;
	text-align: left;
}
.conT .textleft15 {
	display: inline-block;
	text-align: left;
	padding-left:1.4em;
	text-indent:-1.4em;
}
.conT a .btn{
	display: inline-block;
	margin-top: 5px;
	margin-bottom: 10px;
	padding: 10px 20px;
	border-radius: 6px;
	background-color: #5d9ab2;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
}
.conT a .btn:hover	{
	background-image: linear-gradient(
		rgba(255,255,255,0.2),
		rgba(255,255,255,0.2)
	);
}
/* 不使用？ */
.conT .secnumber {
	display: block;
	position: center;
}

/* 不使用 */
/* アコーディオン */
.conT .text_wrapper {
  position: relative;
  margin-bottom: 5px;
}
.conT .texts {
  height: 200px;
  /*　overflow: hidden;*/
}
.conT .show_more,
.conT .show_more2 {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 30px;
  padding-top: 60px;
  text-align: center;
  line-height: 30px;
  background: linear-gradient(180deg, rgb(255, 255, 255, 0) 0%, rgb(255, 255, 255, 1) 70%);
  cursor: pointer;
  transition: bottom 0.2s;
}
.conT .active {
	background: none;
  bottom: -30px;
	color: #666;
}
/* アコーディオン　ここまで */
/* 不使用 */

/* 不使用 */
/* conTでは不使用（→conB） */
.conT a.yoyaku {
	display: inline-block;
	margin-top: 5px;
	margin-bottom: 10px;
	padding: 10px 20px;
	border-radius: 30px;
	background-color: #fd0000;
	color: #fff;
	font-size: 1em;
	font-weight: bold;
	text-decoration: none;
}
.conT a.yoyaku:hover	{
	background-image: linear-gradient(
		rgba(255,255,255,0.2),
		rgba(255,255,255,0.2)
	);
}







/* ----------------------------------------------------- */


/* ----------------------------------------------------- */


/* ----------------------------------------------------- */

/* 3カラム https://whitewood-hp.com/web-tips/archives/4208*/
.column3{
  margin-bottom: 2rem;
}
.column3-wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
  /* 以降はレイアウトとは無関係です */
  padding-left: 1rem;
  padding-right: 1rem;
  margin: 0 auto;
  padding-bottom: 0;
    /* overflow: hidden; */
}

/* 小さい画面用(767px以下) の設定 */
@media (max-width: 767px) {
.column3-wrap{
}
}

.column3-wrap img{
  border: solid 1px #ccc;
}

.column3-inner{
  background:#fff;
  margin: 0 16px 16px 0;
  padding-bottom: 1rem;
	background-color: #fff;
	text-decoration: none;
  display: flex;
  flex-direction: column;
}



/* 768px以上 の設定　2カラム */
@media (min-width: 768px) {
  .column3-wrap{
    max-width:1024px;
  }
  .column3-inner{
    flex-basis:calc((100% - 1rem) / 2);
    max-width:calc((100% - 1rem) / 2);
    margin-top:1rem;
    margin: 0 1rem 1rem 0;
  }
/* 1段目だけ上下マージンを無くす */
  .column3-inner:nth-of-type(1),
  .column3-inner:nth-of-type(2){
    margin-top:0;
}

/* 最終行のアイテム数が2つの時、左右に振り分けられるのを防ぐ */
.column3-inner:nth-of-type(2n-1):nth-last-of-type(1){
  margin-right:auto;
  margin-left:0;
}

.column3-inner:nth-child(2n) {
  margin-right: 0;
}
}

/* 767px以下の設定　1カラム */
@media (max-width: 767px) {
.column3-inner{
  flex-basis:100%;
  max-width:100%;
  margin-top:20px;
  /* 以降はレイアウトとは無関係です */
  margin: 0 0 1rem 0;

}
/* 1段目だけ上下マージンを無くす */
.column3-inner:nth-of-type(1){
  margin-top:0;
}

/* 最終行のアイテム数が2つの時、左右に振り分けられるのを防ぐ */
.column3-inner:nth-of-type(2n-1):nth-last-of-type(1){
  margin-right:auto;
  margin-left:0;
}

.column3-inner:nth-child(2n) {
  margin-right: 0;
}
}
/* 3カラムテストここまで */

/* .conBBよりcolumn3へコピー */

.button {
  margin-top: auto;
}

.column3 .round_line5 {
	padding-top: 1rem;
	padding-right: 0px;
	padding-bottom: 1rem;
  display:flex;/*子要素に追加*/
  flex-direction: column;
  align-items: stretch;/*子要素に追加*/
  margin-top: 0.5rem;
  margin-bottom: 16px;
  padding: 1rem;
	border: solid 1px #666;
	border-radius: 8px;
	background-color: #fff;
	text-decoration: none;
}

.round_line5 {
  display: flex;
  flex-direction: column;
  padding: 1rem;
	border: solid 1px #999;
	border-radius: 8px;
	background-color: #fff;
	text-decoration: none;
  margin-bottom: 1rem;
}


.column3 .price,
.column3 .time {
  margin-bottom: 1.2rem;
}
.column3 .mark {
  margin-top: 0.4rem;
  margin-bottom: 1rem;
}




.column3 .titleH3 {
  position: relative;
}
.column3 .titleH3 h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0 auto;
  border: solid 1px #fff;
  padding: 1rem 0.5rem;
  font-weight: 300;
  font-size: 1.6rem;
  line-height: 1.3;
  background-color: rgba(0,0,0,0.4) ;
  text-shadow: rgba(0,0,0,0.4) 2px 2px 0;
  color: #fff;
  width: 90%;
  text-align: center;
  vertical-align: middle;
}
.column3 .titleH3 h3 .h3normal {
  font-weight: normal; /*太字やめ*/
  font-size: 1.15rem;
}
.column3 .titleH3bnr h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding: 0;
  font-weight: bold; /*太字に*/
  font-size: 1.4em;/*サイズ2倍*/
  line-height: 1.2;
  text-shadow: 1px 1px 1px #333;
  color: white;
  width: 96%;
  text-align: center;
}

.column3 table {
  width: 100%;
}
.column3 table th {
  white-space: nowrap;
  width: 9rem;
}
.column3 .textpack {
  text-indent: -1em;
  padding-left: 1em;
}
.column3 th, td{
  font-weight: normal;
  text-align: left;
  height: 1.7em;
  vertical-align: middle;
}
.column3 th::after{
  content: ""
}
.column3 .small {
  font-size: 0.75rem;
  vertical-align: middle;
  line-height: 1.5em;
  font-weight: normal;
}

/*　カード　お知らせ　日付*/
.column3 .smalltitle {
  font-size: 0.75rem;
  vertical-align: middle;
  line-height: 0;
  font-weight: normal;
  margin-top: 0.8rem;
  margin-bottom: 1.5rem;
  text-align: center;
}
.column3  h2 {
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  text-align: center;
}

.column3 .line {
  border: solid 1px #ccc;
  padding: 1rem;
}

/*　カード　お知らせ　タイトル小さめに*/
.column3  .news_title{
  font-size: 1.3rem;
}

/*　カード　お知らせ　タイトル小さめに*/
.background_News{
  background-color: #fffecf;
}




.column3 h2 .zero {
  margin-top: 0;
	margin-bottom: 0;
}

.column3 h4 {
	font-size: 1rem;
	text-align: left;
  padding-bottom: 4px;
}
.column3 h5 {
  font-size: 0.75rem;
  vertical-align: middle;
  margin-top: 0.2rem;
 	margin-bottom: 0.2rem;
  line-height: 1em;
  font-weight: normal;
 }
.column3 h6{
	margin-top: 0.3em;
	margin-bottom: 0;
	font-size: 1.3rem;
	text-align: left;
}
.column3 h6 .smalltime{
	font-size: 1rem;
  font-weight: bold;
  vertical-align: middle;
}
.column3 div .topspace {
  display: block;
  margin-top: 0;
  margin-bottom: 0;
}


.margin_bottom_0 {
  margin-bottom: 0;
}

.column3 div .top_60px {
	margin-top: 60px;
}
.column3 div .bottom_50px {
	margin-bottom: 50px;
}
.column3 div .para {
	margin-top: 12px;
	margin-bottom: 16px;
	font-size: 0.9em;
	line-height: 1.7em;
	text-align: left;
  text-align: justify;
  text-justify: inter-ideograph;
}
.column3 div .paraheigt {
	margin-top: 20px;
	font-size: 0.9em;
	line-height: 1.7em;
	text-align: left;
  text-align: justify;
  text-justify: inter-ideograph;
}
.column3 div .paratop {
	margin-top: 12px;
	margin-bottom: 18px;
	font-size: 0.9em;
	line-height: 1.7em;
	text-align: left;
  text-align: justify;
  text-justify: inter-ideograph;
}
/* step ステップ *//* qst_english_testでは点線区切り */
.column3 li {
  list-style: none;
  margin: 10px 0;
  padding: 10px;
	font-size: 1em;
	line-height: 1.3em;
	text-align: left;
  width: auto;
  background-color: #c7e1fc;
  border: 1px solid #afadad;
  border-radius: 5px;
}
.column3 .nolink{
  color: #666;
  list-style: none;
  margin: 10px 0;
  padding: 10px;
  font-size: 1em;
  line-height: 1.3em;
  text-align: left;
  width: auto;
  background-color: #acabab;
  border: 1px solid #afadad;
  border-radius: 5px;
}
.column3 .formBlue{
  list-style: none;
  margin: 10px 0;
  padding: 10px;
  font-size: 1em;
  line-height: 1.3em;
  text-align: left;
  width: auto;
  background-color: #99ccff;
  border: 1px solid #afadad;
  border-radius: 5px;
}

.column3 .button {
  width:100%;
  margin-top: auto;
}


.column3 .button a {
  margin-top: auto;
  display: block;
  padding: 1rem;
  background-color: #001ce4;
  color: #fff;
}

.column3 .button .nolink_glay {
  margin-top: auto;
  display: block;
  padding: 1rem;
  background-color: #999;
  color: #fff;
}

.column3 .button a:hover	{
	text-decoration: underline;
}
.column3 .button a:visited {
  color: #fff;
}
.column3 a.smallfont{
	text-align: center;
  font-size: 0.9rem;
}
/*　カード　文字下の画像　縦サイズ切り取り指定*/
.column3 img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center top;

}
.column3 .map {
  position: relative;
	margin:0;
	padding-top: 100%;
	height: 0;
	/*　overflow: hidden;*/
}
.column3 .map iframe{
	position: absolute;
  z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.column3 i{
	margin-right: 0.3rem;

}


.newmark {
	display: inline-block;
	width: auto;
	margin-top: 5px;
	margin-bottom: 0;
	padding: 4px 10px;
	border-radius: 1.5em;
	background-color: #fd0000;
	color: #fff;
	font-size: 0.7em;
	font-weight: bold;
	text-decoration: none;
}

/* 不使用 */
/* お知らせ */
.column3 .wrapper {
  position:relative;
  display:inline-block;
	background: #000;/* 背景を黒にする */
}
.column3 .filter-img {
  display: block;
  opacity: .6;/* 画像の透明度 */
  filter: blur(1px);/* 画像のぼかし */
}
.column3 .label {
	width: auto;
  position:absolute;
  color:white;
	font-size: 14px;
	line-height: 1.8;
	text-align: left;
  padding:10px 15px;
}
.column3 .label-left-top{
  left:0px;
  top:0px;
}
.column3 div .center {
	text-align: center;
}
.column3 div .centering {
  display: block;
	text-align: center;
}
.column3 .centertext {
  font-size: 0.75rem;
	text-align: center;
}
.column3 .redtext {
	color: #ff0000;
}
/* お知らせ　ここまで */
/* 不使用 */

/* 大きい画面用(768px以上) の設定 */
@media (min-width: 768px) {
	.column3 .container {
		display: flex;
		max-width: 1024px;
		margin-left: auto;
		margin-right: auto;
	}

	.column3 .round_line5	{
		flex: 1;
    /* display: block;　これを入れるとbuttunが下付きにならない */
	}
  .column3 .round_line5:first-child	{
		margin-right: 1rem;
	}

}

/* 小さい?画面用(820px以下) の設定 */
/* 画像上の文字（約2時間半） */
@media (max-width: 820px) {
.column3 .titleH3 h3 .h3normal {
  font-weight: normal; /*太字やめ*/
  font-size: 0.9rem;
  }
}

/* 小さい画面用(767px以下) の設定 */
@media (max-width: 767px) {
  .column3 > .round_line5	{

  }
  .column3 .round_line5:first-child	{

    /*経営者向けタイトルの上のスペースを空ける*/
  }
}

/* 大きい画面用(400px以上) の設定 */
@media (max-width: 430px) {
  .column3 .titleH3 h3 {
    font-size: 1.4rem;
  }
}

/* .conBBよりcolumn3へコピーここまで */





.conBB {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  /* 以降はレイアウトとは無関係です */
	background-color: #ccc;
	color: #000;
  padding-left: 1rem;
	padding-right: 1rem;
}

.conBB .map {
  position: relative;
	margin:0;
	padding-top: 100%;
	height: 0;
	/*　overflow: hidden;*/
}
.conBB .map iframe{
	position: absolute;
  z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ----------------------------------------------------- */
/*スマホのみbrを効かせる*/
@media screen and (min-width: 600px){
  .br-sp {
    display: none;
  }
}

/*PCのみbrを効かせる*/
@media screen and (max-width: 767px){
  .br-PC {
    display: none;
  }
}

/*iPhoneSEのみbrを効かせる*/
@media screen and (min-width: 400px){
  .br-spSE {
    display: none;
  }
}

/* Googleカレンダー埋め込み　ここから */
/* 基本設定 */
.googleCalendar {
  position: relative;
  padding-bottom: 70%;
  padding-top: 10px;
  height: 0;
  /*　overflow: hidden;*/
  }
.googleCalendar iframe,
.googleCalendar object,
.googleCalendar embed {
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  width: 100%;
  height: 100%;
  }
/* PCの設定 */
@media (max-width: 1024px) {
.googleCalendar {
  position: relative;
  padding-bottom: 80%;  /* 高さ */
  padding-top: 30px;
  height: 0;
  /*　overflow: hidden;*/
  }
}
/* iPadでの高さ */
@media (max-width: 768px) {
.googleCalendar {
  position: relative;
  padding-bottom: 90%;  /* 高さ */
  padding-top: 30px;
  height: 0;
  /*　overflow: hidden;*/
  }
}
/* スマホでの高さ1 */
@media (max-width: 680px) {
.googleCalendar {
  position: relative;
  padding-bottom: 100%;  /* 高さ */
  padding-top: 30px;
  height: 0;
  /*　overflow: hidden;*/
  }
}
/* スマホでの高さ2 */
@media (max-width: 580px) {
.googleCalendar {
  position: relative;
  padding-bottom: 155%;  /* 高さ */
  padding-top: 30px;
  height: 0;
  /*　overflow: hidden;*/
  }
}
/* Googleカレンダー埋め込み　ここまで */

/* ----------------------------------------------------- */

/* フッター　*/
#footer {
	text-align: center;
	padding: 24px 0.2rem 0.5rem 0.2rem;
	color:#666;
	background-color: #e9e8e8;
	zoom:1;
  margin: 0px auto;
}

#footer	.container {
	display: block;
  margin: 0px auto;
}

#footer h2{
	text-align: center;
	margin-top: 24px;
	font-size:16px;
  font-weight: normal;
}

#footer a:hover {
  color:#2968b2!important;
}

#footer a:link,
#footer a:visited,
#footer a:active,
#footer a:focus{
	color:#000;
}

/* ホバー時のアニメーション */
/* https://www.nxworld.net/css-hover-underline-animation-examples-and-sass-mixin.html */
#footer a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
#footer a::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background: #2968b2;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
#footer a:hover::after {
  transform: scale(1, 1);
}
/* ホバー時のアニメーション ここまで */

#footer ul {
  text-align: center;
  padding: 0;
  margin: 0;
}

#footer ul li {
  font-size: 14px;
  font-weight: 700;
	padding:0 20px;
	border-right:1px solid #666;
	display:inline;
}
@media (max-width: 500px) {
  #footer ul li {
	   padding:0 10px;
   }
 }

#footer ul li.firstChild {
	border-left:1px solid #666;
}

#footer ul li a,
#footer ul li a:visited,
#footer ul li a:hover,
#footer ul li a:active {
color:#000;
text-decoration:none;
}


#footer #copyright {
	margin-top: 6px;
  margin-bottom: 10px;
  font-size: 10px;
  text-align: center;
}
