@charset "UTF-8";
/* common.css */

/* ポップアップ広告 */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.popup {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.75);
  z-index: 10000;
}
.popup-banner {
  width: 80%;
  max-width: 400px;
  text-align: center;
  margin: 0 auto;
  position: relative;
}
.popup-close {
  position: absolute;
  top: -15px;
  right: -15px;
  display: block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  padding-left: .1em;
  font-size: 1.5rem !important;
  border-radius: 50%;
  text-align: center;
  color: white;
  background-color: black;
  cursor: pointer;
}
.popup.open {
  display: flex;
  animation: fadeIn 0.7s;
}
/*========= h2下線マーカーアニメ ===============*/
.h2decoL span.anim {
  display: inline;
  position: relative;
  background-image: linear-gradient(90deg, #faf499, #faf499); /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 20%;
  transition: background .4s ease-in-out; /* マーカーを引く速度を調整 */
  font-weight: bold; /* ついでに太字にしたい場合 */
}
.h2decoL .anim.is-animated {
  background-size: 100% 20%; /* '30%'の部分は上で設定した太さに合わせる */
}
/* 集団個別・コースのマーカーのアニメ */
.heading_copy {
  position: relative;
  display: inline-block;
  background: none !important;
}
.heading_copy.is-animated strong::before {
  background: #2196c9;
  animation: bg-animated 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80%;
  margin-top: 5px;
  transform-origin: left center;
  z-index: -1;
}
.heading_copy strong {
  color: #fff;
  display: inline-block;
  position: relative;
  z-index: 1;
}
@keyframes bg-animated {
  0% {
    opacity: 0;
    transform: scaleX(0) translateX(-5%);
  }
  30% {
    transform: scaleX(1) translateX(0);
  }
  100% {
    transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}
/*========= all ===============*/
* {
	letter-spacing: .1em !important;
	box-sizing: border-box;
}
a:hover {
	color: inherit;
	text-decoration: none;
}
a.a_underLine {
    text-decoration: underline !important;
}
/*========= common ===============*/
body {
  width: 100%;
  margin: 0 auto;
  color: #4d4d4d;
}
/* font */
body,
h1,
h2,
h3,
h4,
h5,
h6,
div,
ol,
li,
p,
dt,
dd  {
    font-family: 'Noto Sans JP' !important;
}
/* blk */
.sp_blk { display:block !important; }
.pc_blk { display:none  !important; }

/* br */
.sp_br    { display:inline; }
.pc_br    { display:none;   }
.tab_br   { display:none;   }

/* flex_box */
.flex_box {
    display: flex;
    flex-wrap: wrap;
}
/* heading & li & p */
/* heading */
h1,
h2,
h3 {
	font-weight: bold;
	text-align:  center;
	line-height: 1.5em;
	letter-spacing: .1em;
	color: #2196c9;
}
h1,
h2 { font-size:20px; }
h3 { line-height:1.75em; }

h1.h1Top:before,
h1.h1Top:after  {
	content: "";
	width: 100%;
	height:  4px;
	display: block;
	background: repeat-x center center;
	background-size: contain;
}
h1.h1Top:before { margin-bottom:15px; background-image: url(/img/top/heading_T.png); }
h1.h1Top:after  { margin-top:   15px; background-image: url(/img/top/heading_B.png); }

.h2decoL {
	display: flex;
	align-items: center;
	justify-content: center;
}
.h2decoL:before {
	content: "";
	width:  100%;
	max-width: 50px;
	height: 46px;
	display: inline-block;
	margin-right: 10px;
	background: no-repeat center;
	background-size: contain;
}
.h2decoL span {
	background: linear-gradient(transparent 80%, #faf499 0%);
}
/* cont */
li,
p {
	text-align:justify;
	line-height: 2em;
}
p {
	font-size:14px;
	font-weight:bold;
}
.small,
small {
    font-size: 85% !important;
    line-height: 1 !important;
}
.hB_cont,
#sec_topNews .cont_title, { font-size:16px; }

.hB_cont { color:#4d4d4d; }
.blue    { color:#2196c9; }
.fnt_red { color:#ff0000; }

.cont_title {
	font-size: 16px;
	text-align: center;
	margin-bottom: 15px;
}
/* margin & pad */
/* mar */
.marS_B  { margin-bottom:10px !important; }
.marM_B  { margin-bottom:15px !important; }
.marL_B  { margin-bottom:20px !important; }
.marXL_B { margin-bottom:30px !important; }
/* mar(PCとSPで別) */
.marXL-L_B { margin-bottom:30px !important; }
.marM-L_B  { margin-bottom:15px !important; }
.marXL-M_B { margin-bottom:30px !important; }
/* pad */
.padS_TB  { padding:10px 0 !important; }
.padM_TB  { padding:15px 0 !important; }
.padL_TB  { padding:20px 0 !important; }
.padXL_TB { padding:30px 0 !important; }
.padS_T  { padding-top:10px !important; }
.padM_T  { padding-top:15px !important; }
.padL_T  { padding-top:20px !important; }
.padXL_T { padding-top:30px !important; }
.padS_B  { padding-bottom:10px !important; }
.padM_B  { padding-bottom:15px !important; }
.padL_B  { padding-bottom:20px !important; }
.padXL_B { padding-bottom:30px !important; }

/* btn */
.btn , .btn_g {
	width: 100%;
	max-width: 320px;
	letter-spacing: 0;
	margin-left:  auto;
	margin-right: auto;
	font-weight: bold;
	text-align: center;
}
.btn > a,
button.btn {
	width: 100%;
	display: inline-block;
	text-align: center;
	border-radius: 10px;
	padding: 20px;
	color: #fff;
	background-color: #2196c9;
}
.btn_g > a {
	width: 100%;
	display: inline-block;
	text-align: center;
	border-radius: 10px;
	padding: 20px;
	color: #fff;
	background-color: #87c13f;
}
.btn_arrow a,
button.btn_arrow {
	display: flex;
	position: relative;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	margin: 0 auto; 
	padding-left: 0;
}
.btn_arrow a:after,
button.btn_arrow:after {
	content: "";
	width:  17px;
	height: 25px;
	display: inline;
	position: absolute;
	right: 20px;
	background: url(/img/top/arrowR.svg) no-repeat center;
	background-size: contain;
}
/* wrap */
section > .wrap,
.various_contact > .wrap,
.form > .wrap {
	width: 92%;
	margin: 0 auto;
}
/* background-decoration */
/* ななめのボーダー */
.bg_border {
	background: repeating-linear-gradient(-45deg, #eef4f7, #eef4f7 2px, #fff 2px, #fff 5px);
}
/* 格子なチェック */
.bg_check {
background-image:
	repeating-linear-gradient(
	90deg,
	#dcf9f7 ,
	#dcf9f7 2px,
	transparent 2px,
	transparent 32px
	),
	repeating-linear-gradient(
	0deg,
	#dcf9f7 ,
	#dcf9f7 2px,
	#fff 2px,
	#fff 32px
	);
}
/* 単色ブルー */
.bg { background-color: #eff9ff !important; }

/* 背景に装飾をプラス */
.bg_deco:before,
.bg_deco:after  {
	content: "";
	display: block;
	position: absolute;
	background: no-repeat center;
}
/* cover */
.bgImg_fit {
	background: no-repeat center;
	background-size: cover;
}
/* div内の左右にダブルコーテーションの背景 */
.BGcoat {
	position: relative;
	z-index: 1:;
}
.BGcoat:before {
	content: "";
	display: block;
	width: 100%;
	height: 115%;
	position: absolute;
	background-position: left  0% top 2%,
						 right 0% top 3%;
	background-repeat:   no-repeat;
	background-size:     11%;
	z-index: -1;
}
/* PC画面でのみ、旗のsvgの背景画像を追加 */
/* PC画面でのみ、キラキラしたsvgの背景画像を追加 */
.BGflag,
.kiraDeco {
  position: relative;
  background-image: none;
  z-index: 1;
}
/* ページ内リンクの位置調整(ヘッダー分) */
/* PCのheader高さ66px + 余白30px */
.pageLink_position:before {
    content: "";
    display: block;
    height: 96px;
    margin-top: -96px;
}
/*========= common ===============*/
/* font */
body {
  width: 100%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  margin: 0 auto;
  color: #000;
}
/* blk */
header .sp_blk  { display:block; }
header .pc_blk  { display:none; }
header .flex_box.sp_blk  { display:block; }
header .flex_box.pc_blk  { display:none;  }
/* br */
header .sp_br    { display:inline; }
header .pc_br    { display:none; }
header .tab_br   { display:none; }
/* flex_box */
header .flex_box { display:flex; flex-wrap: nowrap; }

/*========= header ===============*/
header .nav_wrap.sp_menu { display:flex; }
header .nav_wrap.pc_menu { display:none;  }

header,
header .nav_wrap {
    width: 100%;
    height: 62px;
}
header#header {
    height: auto;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: .1em;
    position: fixed;
    border-top: 4px solid #2196c9;
    background: #fff;
    z-index: 10000;
    box-shadow: 0px 5px 5px -5px rgba(0,0,0,0.2);
}
header#header li { font-weight:bold !important; }

header .nav_wrap {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    background-color: #fff;
}
.header_logo,
.header_logo img {
    width:  100%;
    height: auto;
    max-width: 87px;
}
/* sp_nav 中身 */
nav#g-nav {
    padding-top: 62px; /* header分 */
}
/* max-width */
#g-nav-list {
    width: 100%;
    margin: 0 auto;
}





/*========= ナビゲーションのためのCSS ===============*/
#g-nav{
    position:fixed;
    z-index: 999;
	top:0;
    right: -120%;
	width:100%;
    height: 100vh;
	background:#fff;
    /*動き*/
	transition: right 0.6s;
}
/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
    right: 0;
}
/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
/* ナビゲーション */
/* ナビゲーション天地中央揃え
#g-nav ul {
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
} */

/* リストのレイアウト設定 */
#g-nav li{
	list-style: none;
    text-align: center;
}
#g-nav li a{
	color: #2196c9;
	text-decoration: none;
	padding:10px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
	/* border追加してみました */
    border-bottom: 1px dashed #2196c9;
    margin: 0 20px;
}
/* ハンバーガーメニュー内部項目hover&active */
#g-nav li a:hover,
#g-nav li a:active {
    background-color: rgba(33,150,201,.1);
}
/*========= ボタンのためのCSS ===============*/
.openbtn1{
	position:fixed;
	position: absolute;
    z-index: 9999;/*ボタンを最前面に*/
	top:0px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}
/*×に変化*/	
.openbtn1 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
	background-color: #2196c9;
  	width: 45%;
}
.openbtn1 span:nth-of-type(1) {
	top:15px;	
}
.openbtn1 span:nth-of-type(2) {
	top:23px;
}
.openbtn1 span:nth-of-type(3) {
	top:31px;
}
.openbtn1.active span:nth-of-type(1) {
    top:  18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}
.openbtn1.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
/* 三本線の下の[menu] */
.openbtn1 {
    text-align: center;
}
.openbtn1:after {
    content: "menu";
    font-size: 10px;
    font-weight: bold;
    position: relative;
    top: 35px;
    left: 1px;
    color: #2196c9;
}





/*========= 縦書きメニュー(PC画面の右側でfixed) ===============*/
#navR_fixed#navR_fixed {
	position: fixed;
	top:  20%;
	right: 0;
	z-index: 1000;
	/* 文字を縦書きにする */
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#navR_fixed#navR_fixed ul {
	display: flex;
	white-space: nowrap;
}
#navR_fixed#navR_fixed li {
	font-size: 16px;
	font-weight: bold;
	position: relative;
	transform: translateX(-10px);
	color: #fff;
}
#navR_fixed#navR_fixed li:first-of-type {
	margin-bottom: 10px;
}
#navR_fixed#navR_fixed a {
	padding: 20px;
	border-radius: 12px 0 0 12px;
}
#navR_fixed#navR_fixed li:first-of-type a {
	background-color: #2196c9;
}
#navR_fixed#navR_fixed li:nth-of-type(2) a {
	background-color: #f6ab3b;
}





/*========= 各種お問い合わせ ===============*/
.flex_box.contact_wrap {
	width: 100%;
	margin:  0 auto; 
	align-items: center;
	justify-content: space-between;
}
.contact_wrap > div:first-of-type a {
	padding: 13px 0;
}
.contact_wrap > div:nth-of-type(2) a {
	background-color: #87c13f;
}
.btn_half {
	width: 48%;
	margin: 0 0 15px;
}
.btn_half > a {
	width: 100%;
	height: 60px;
}
.phone_btn {
	max-width: 100%;
}
.phone_btn > a {
	width: 100%;
	height: auto;
	padding: 0;
}
.phone_btn > a img {
	width: 100%;
}
.contact_wrap .phone_btn > a {
	background-color: #e85e99;
}





/*========= フッターのためのCSS ===============*/
footer {
    width: 100%;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: .1em;
    margin-bottom: 48px; /* SP fixed分 */
    padding: 30px 0;
    color: #fff;
    background-color: #2196c9;
}

.footer_wrap {
    width: 90%;
    max-width: 550px;
    margin: 0 auto;
}

footer .cont_wrap,
footer .cont_wrap li {
    line-height: 1.7em;
    text-align: center;
}

.cont_wrap ul {
    margin-bottom: 15px; /* 20px */
}

.cont_wrap li {
   font-weight: bold; 
}


/* fotter_logo */
footer .cont_wrap {
    width: 100%;
}

img.footer_logo {
    width: 100%;
    height: auto;
    max-width: 160px;
    margin-bottom: 30px; /* 30px; */
}

/* map */
.logoMap {
    flex-wrap: wrap;
}

.map_wrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.map_wrap.maruyama {
    margin-bottom:  20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #fff;
}
.map_wrap.motomachi {
    margin-bottom: 40px;
}

.map_wrap ul {
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
}
.map_wrap li {
    text-align: center;
}
.map_wrap li.class_name {
    line-height: 1;
    margin-bottom: 20px;
}

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

.map iframe {
    width:  100%;
    height: 240px;
    height: min(45vw,275px);
}

.map_cont {
    font-size: 14px;
    width: 100%;
    font-weight: bold;
    line-height: 1.6em;
    text-align: center;
}

/* footer_nav */
.footer_nav,
.privacy {
    font-size: 12px;
}


.footer_nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 20px;
}


.footer_nav li {
    font-size: 12px;
    font-weight: bold !important;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    margin: 0 20px 10px 0; 
}

.privacy a {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 10px;
}

.footer_nav li:before,
.privacy a:before {
    content: "";
    width:   2px;
    height: 20px;
    display: inline-block;
    margin-right: 7px;
    background-color: #fff;
}


p.copy {
    font-size: 10px;
    text-align: center;
}

/* add */
.logoMap {
    justify-content: center;
}

.info_wrap,
.info_wrap ul,
.info_wrap li {
    width: 100%;
    text-align: center;
}
.info_wrap {
    margin-bottom: 25px;
}
.map_wrap {
    margin-bottom: 30px;
}





/*========= SP_画面下部分に追従するFiexedアイコン ===============*/

#menu_SPfixed {
    width: 100%;
    letter-spacing: .1em;
    display: flex;
    position: fixed;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    bottom: 0;
}

#menu_SPfixed div { width:100%; }

#menu_SPfixed > div:nth-of-type(1) { background-color:#fa5099; }
#menu_SPfixed > div:nth-of-type(2) { background-color:#74c315; }
#menu_SPfixed > div:nth-of-type(3) { background-color:#ffa700; }

#menu_SPfixed a {
    width: 100%;
    height: 55px;
}

#menu_SPfixed > div:first-of-type a {
    transform: translateX(-5px);
}
#menu_SPfixed > div:first-of-type span {
    margin-right: 10px;
}

#menu_SPfixed a p {
    line-height: 1.2em;
    font-weight: bold !important;
}

.SPfixed_box a {
    width:  100%;
    height: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content:center;
    font-size: 13px;
    text-align: center;
    font-weight: bold;
    padding: 5px;
    color: #fff;
}

.SPfixed_box a > span {
    width: 20%; /* firefox対策 */
    height: auto;
    display: inline-block;
    margin-right: 15px;
}

.SPfixed_box img {
    width: 100%;
    max-width: 27px;
}































/* ------------ media screen ------------ */
@media screen and (min-width: 550px) {
	/*==== common ====*/
	/* br */
	.tab_br { display:inline; }

	section > .wrap,
	div > .wrap,
	.form > .wrap {
		max-width: 550px;
		margin-left:  auto;
		margin-right: auto;
	}
	/*==== お知らせ ====*/
	.news_box .news_cont { width:100%; }
}


@media screen and (min-width: 769px) {
    /*==== common ====*/
    /* blk */
    .sp_blk { display:none  !important;  }
    .pc_blk { display:block !important; }
    .flex_box.sp_blk  { display:none; }
    .flex_box.pc_blk  { display:flex !important; }

    /* br */ 
    .sp_br    { display:none;   }
    .pc_br    { display:inline; }
    .tab_br   { display:none;   }

    /* heading & li & p */
    /* heading */
    h1,
    h2 { font-size:40px; }

    h1 {
    	max-width: 805px;
    	letter-spacing: .1em;
    	margin-left: auto;
    	margin-right: auto;
    }
	h1:before,
	h1:after  { height:8px; }

    h1 .sp_br { display:inline; }

	.h2decoL:before {
		max-width: 80px;
		height: 82px;
		margin-right: 20px;
	}

	h2.marL_B { margin-bottom:40px !important; }

	/* pなど */
	li,
	p  { font-size:16px; }

    .cont_title { font-size:25px; }
    .hB_cont    { font-size:26px; }
    
    body,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    div,
    ol,
    li,
    p,
    dt,
    dd  {
        font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",'Noto Sans JP', Meiryo, sans-serif !important;
    }

	/* margin & pad */
	/* mar */
	.marXS_B { margin-bottom:10px !important; }
	.marS_B  { margin-bottom:20px !important; }
	.marM_B  { margin-bottom:40px !important; }
	.marL_B  { margin-bottom:60px !important; }
	.marXL_B { margin-bottom:80px !important; }
	
	/* mar(PCとSPで別) */
    .marXL-L_B { margin-bottom:60px !important; }
    .marM-L_B  { margin-bottom:60px !important; }
    .marXL-M_B { margin-bottom:40px !important; }
    
	/* pad */
	.padXS_TB { padding-top:10px !important; padding-bottom:10px !important; }
	.padS_TB  { padding-top:20px !important; padding-bottom:20px !important; }
	.padM_TB  { padding-top:40px !important; padding-bottom:40px !important; }
	.padL_TB  { padding-top:60px !important; padding-bottom:60px !important; }
	.padXL_TB { padding-top:80px !important; padding-bottom:80px !important; }

	.padXS_T { padding-top:10px !important; }
	.padS_T  { padding-top:20px !important; }
	.padM_T  { padding-top:40px !important; }
	.padL_T  { padding-top:60px !important; }
	.padXL_T { padding-top:80px !important; }

	.padXS_B { padding-bottom:10px !important; }
	.padS_B  { padding-bottom:20px !important; }
	.padM_B  { padding-bottom:40px !important; }
	.padL_B  { padding-bottom:60px !important; }
	.padXL_B { padding-bottom:80px !important; }

	/* btn */
	.btn > a , .btn_g > a {
		font-size: 24px;
	}

	.btn.btnWid > a {
		max-width: 340px;
	}
	/* wrap */
	section > .wrap,
	#sec_first > .wrap,
	.form > .wrap {
		width: 92%;
		margin-left:  auto;
		margin-right: auto;
	}

	/* main直下 */
	#mv {
		max-width: 1200px;
		margin-left:  auto;
		margin-right: auto;
	}

	section > .wrap,
	div > .wrap,
	.form > .wrap {
		max-width: 1100px;
		margin-left:  auto;
		margin-right: auto;
	}

	.wid800 {
		max-width: 800px;
		margin-left:  auto;
		margin-right: auto;
	}
	
	/* background-decoration */
    /* PC画面でのみ、旗のsvgの背景画像を追加 */
    .BGflag:before {
        content: "";
        width:  100vw;
        height: 100%;
        max-width: 1300px;
        display:  block;
        position: absolute;
        background-size:   45%;
        background-repeat: no-repeat;
        background-position: left top;
        top: -150px;  /* section上余白60px + 隠したい分 */
        left:  calc(50% - 50vw);
        z-index: -1;
      }
      /* PC画面でのみ、キラキラしたsvgの背景画像を追加 */
      .kiraDeco:before {
        content: "";
        width:  100%;
        height: 105%;
        display: block;
        position: absolute;
        background-size:   45%;
        background-size: 110px,65px;
        background-repeat: no-repeat;
        background-position: left bottom 35%, left 35% bottom;
        top:   0;
        left: -8%;
        z-index: -1;
      }




	/*==== 各種お問い合わせ ====*/
	#various_contact .flex_box {
		flex-wrap: nowrap;
	}
	#various_contact .btn_half {
		max-width: 300px;
		margin-bottom: 0;
	}
	#various_contact div:nth-of-type(2) {
		margin-left:  20px;
		margin-right: 20px;
	}
	#various_contact .btn_half > a,
	#various_contact .phone_btn > a {
		height: 12.5vw;
		max-height: 100px;
	}
	#various_contact .btn_half > a {
		max-width: 300px;
		max-height: 100px;
		border-radius: 16px;
	}
	#various_contact .btn_half > a {
		padding: 35px 0;
	}
	#various_contact .contact_wrap > div:first-of-type a {
		padding: 24px 0;
	}
	#various_contact .phone_btn {
		width: 100%;
		max-width: 465px;
	}
	#various_contact .phone_btn > a,
	#various_contact .phone_btn img {
		max-width: 465px;
		height: 100px;
	}





	/*==== footer ====*/
	footer {
		margin-bottom: 0 !important; /* SP fixed分 */
		padding: 60px 0;
	}
	footer p  {
		font-size: 16px;
	}
	.footer_wrap {
		max-width: 1100px;
	}
	footer .cont_wrap li {
		text-align: left;   
	}
	.flex_box {
		display: flex;
		justify-content: space-between;
	}
	.row-reverce {
		flex-direction: row-reverse;
	}
	.flex_box.logoMap {
		display: flex;
		flex-wrap: nowrap;
		margin-bottom: 50px;
	}
	.footer_nav,
	.privacy {
		font-size: min(1.4vw,14px);
	}
	footer .cont_wrap {
		width: 100%;
		max-width: 160px;
	}
	.footer_nav {
		width: 60%;
	}
	.footer_nav ul {
		margin-bottom: 0;
	}
	.footer_nav li {
		font-size: min(1.4vw,14px);
		margin-right:  20px;
		margin-bottom: 20px;
	}
	.footer_nav li:last-of-type {
		margin-right: 0;
	}
	.privacy {
		width: calc(40% - 20px);
	}
	.privacy a {
		margin-bottom: 20px;
	}
	footer .cont_wrap {
		font-size: min(1.6vw,16px);
		text-align: left;
	}
	footer .cont_wrap ul {
		line-height: 2em;
		margin-bottom: 0;
	}
	footer .cont_wrap ul li {
		font-size: min(1.6vw,16px);
	}
	/* logo */
	img.footer_logo {
		margin-bottom: 60px;
	}
	.cont_wrap {
		margin-right: min(5vw,50px);
	}
	/* map */
	.class_flex {
		width: calc(100% - min(18%,160px) - min(5vw,50px));
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
	}
	.class_flex > * {
		width: calc(50% - min(1vw,15px));
	}
	.map_wrap {
		width: calc(63% - 20px);
		display: flex;
		flex-wrap: wrap;
		flex-direction: column-reverse;
		margin-bottom: 0;
	}
	.map_wrap.maruyama,
	.map_wrap.motomachi {
		margin-bottom:  0;
		padding-bottom: 0;
		border-bottom:  0;
	}
	.map_wrap li {
		font-size: min(1.6vw,16px);
		text-align: left;
	}
	.map_wrap li.class_name {
		font-size: min(1.8vw,18px);
	}
	.map {
		margin-bottom: 0px;
	}
	.map_cont {
		font-size: min(1.56vw,16px);
		text-align: center;
		margin-bottom: 15px;
	}
	.map iframe {
		width:  100%;
		height: 275px;
	}
	/* privacy */
	p.copy {
		font-size: 12px;
		text-align: left;
	}
	/* add */
	.logoInfo {
		width: calc(37% - 20px);
		justify-content: flex-start;
	}
	.info_wrap,
	.info_wrap ul,
	.info_wrap li {
		width: auto;
		font-size: min(1.7vw,16px);
		text-align: left;
	}




	/*==== SP_画面下部分に追従するFiexedアイコン ====*/
	#menu_SPfixed {
			display: none;
	}

}





@media screen and (min-width: 995px) {
    /* ページ内リンクの位置調整(ヘッダー分) */
    /* PCのheader高さ89px + 余白60px */
    .pageLink_position:before {
        height: 149px;
        margin-top: -149px;
    }
    /* div内の左右にダブルコーテーションの背景 */
	.BGcoat:before {
		background-position: left  0% bottom 0%,
							 right 0% top    5%;
	}
	/*==== common ====*/
	/* blk  */
	header .sp_blk  { display:none; }
	header .pc_blk  { display:block; }
	header .nav_wrap.sp_menu { display:none;  }
	header .nav_wrap.pc_menu { display:flex; }

	/* br */
	header .sp_br    { display:inline; }
	header .pc_br    { display:none; }
	header .tab_br   { display:none; }

	/*==== header ====*/
	header,
	header .nav_wrap {
		height: 85px;
	}

	header {
		height: auto;    
	}

	header .nav_wrap {
		justify-content: space-between;
		margin-left: auto;
		margin-right: auto;
		padding-right:  0;
	}

	.header_logo,
	.header_logo img {
		max-width: 115px;
	}

	header nav {
		display: flex;
		align-items: center;
	}

	.header_RT {
		align-items: center;
	}

	/* header右端のボタン */
	.navBtn {
		width: 125px;
		height: 85px;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #fff !important;
	}
	.navBtn:hover {
		color: #fff !important;
	}
	.navBtn.contactBtn {
		background-color: #87c13f;
	}
	.navBtn.privateBtn {
		background-color: #e85e99;
	}
	/* メニューコンテンツ */
	header .PCmenu li {
		font-size: 14px;
		margin-right: 40px;
		font-size: min(1.2vw,14px);
		margin-right: min(2vw,40px);
	}
}
