@charset "utf-8";
/*========================================
北海道専門 家庭教師ソウガクLP CSS

モバイルファースト設計
  〜599px：スマホ
  〜360px：画面サイズが小さいスマホ
  400px～：画面サイズが大きいスマホ
  600px～：タブレット
  1,025px～：PC
  1,500px～：大型モニターPC
  1,920px～：4KモニターPC
========================================*/

/*----スマホ用と各デバイス共通CSS======================================================================================================================================================--*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700;900&display=swap');

html {
	font-size: 14px;
}

body {
	color: #333;
	line-height: 1.7;
	font-family: 'Roboto', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}






/********* PCのときだけ改行になる　<br class="br-pc">　**********/
/* デフォルト：非表示（SP） */
.br-pc { display: none; }

/* PCだけ改行させる */
@media (min-width: 992px){
  .br-pc { display: block; }
}

/********* スマホのときだけ改行になる　<br class="br-sp">　**********/
/* デフォルト：非表示（PC） */
.br-sp { display: none; }

/* スマホ（991px以下）のときだけ改行 */
@media (max-width: 991.98px){
  .br-sp { display: block; }
}
















.pp-note a {
  color: #0066cc;         /* 青色 */
  text-decoration: underline;  /* 下線 */
}

.pp-note a:hover {
  color: #004999;         /* ホバー時に少し濃く（任意） */
}




















.font-serif {
	font-family: "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}

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

.a-opacity:hover {
	opacity: 0.9;
	cursor: pointer;
}

img {
	max-width: 100%;
	width: auto;
	height: auto;
}

.pc-none {
	display: block;
}

.sp-none {
	display: none;
}

br.sp-only {
	display: inline-block;
}

br.pc-only {
	display: none;
}

.fw-bold {
	font-weight: bold;
}


.mk-yellow {
	background: linear-gradient(rgba(255, 249, 133, 0) 60%, #FFF985 50%);
}

.mb-05rem {
	margin-bottom: 0.5rem;
}

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

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

.mb-3rem {
	margin-bottom: 3rem;
}

.mb-4rem {
	margin-bottom: 4rem;
}

.mb-5rem {
	margin-bottom: 5rem;
}

/*------- フッターを下部に固定する処置 --------*/

html,
body {
	height: 100%;
	min-height: max-content;

}

#wrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100%;
	/*
	background-image: url(../images/bg_dot.png);
	background-size: 12px 12px;
	*/
}

#wrap.no-bg {
	background-image: none;
}

main {
	flex: auto;
	/*margin-top: 70px;*/
}

/*--------------------------------
ヘッダー
--------------------------------*/
#header {
	z-index: 100;
	/*position: fixed;*/
	top: 0;
	right: 0;
	left: 0;
	/*padding: 15px 0;*/
	background-color: rgba(255, 255, 255, 0.9);
	display: flex;
	align-items: center;
	height: 70px;
	box-shadow: 0px 5px 10px -5px rgba(31, 85, 163, 0.15);
}

#header .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 70px;
	padding: 0 15px 0 10px;
}

#header .logo-box {
	display: flex;
	align-items: center;
	width: 35%;
	max-width: 130px;
}

#header .logo-box a {
	width: 100%;
}


#header .right-box {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 50px;
}

#header .pc-nav {
	display: none;
}

#header .tel-box {
	display: none;
	flex-direction: column;
	justify-content: center;
	margin-right: 10px;
}

#header .tel-box .number {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	color: #1B2C70;
}

#header .tel-box .number::before {
	content: "";
	display: inline-block;
	height: 1em;
	width: 0.6em;
	margin-right: 0.03em;
	vertical-align: middle;
	background-image: url(../images/icon-tel-navy.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center top 30%;
}

#header .tel-box .time {
	font-size: 0.7rem;
	font-weight: normal;
	text-align: center;
	line-height: 1;
}

#header .tel-btn {
	display: block;
	width: 50px;
	height: 100%;
	margin-right: 6px;
	border: 2px solid #1b2c70;
	border-radius: 7px;
	background-image: url(../images/icon-tel-navy.svg);
	background-repeat: no-repeat;
	background-size: auto 80%;
	background-position: center center;
	box-shadow: 0px 3px 4px -2px rgba(50, 50, 50, 0.2);

}

#header .cta-btn {
	display: flex;
	align-items: center;
	height: 100%;
	margin-right: 10px;
	/*padding: 0 0.5rem;*/
	padding: 0 1.5rem;
	font-size: 0.9rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.1;
	/*background-color: #eb673d;*/
	background-color:#007af6;
	border-radius: 7px;
	box-shadow: 0px 3px 4px -2px rgba(50, 50, 50, 0.2);

}



/*--------------------------------
モバイルメニュー
--------------------------------*/
/* ハンバーガーボタンのデザイン */
.mobile-nav_button {
	z-index: 300;
	position: relative;
	/*top: 3px;*/
	width: 3rem;
	height: 3rem;
	background-color: transparent;
	border: none;
	cursor: pointer;
}

/* ハンバーガーボタン内の線 */
.mobile-nav_button>span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3rem;
	height: 3px;
	background-color: #1B2C70;
	transform: translateX(-50%);
}

.mobile-nav_button>span:first-child {
	transform: translate(-50%, calc(-50% - 1rem));
	transition: transform 0.3s ease;
}

.mobile-nav_button>span:nth-child(2) {
	transform: translate(-50%, -50%);
	transition: opacity 0.3s ease;
}

.mobile-nav_button>span:last-child {
	transform: translate(-50%, calc(-50% + 1rem));
	transition: transform 0.3s ease;
}

/* 展開時のデザイン */

.mobile-nav_button.active>span {
	background-color: #fff;
}


.mobile-nav_button.active>span:first-child {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.mobile-nav_button.active>span:nth-child(2) {
	opacity: 0;
}

.mobile-nav_button.active>span:last-child {
	transform: translate(-50%, -50%) rotate(45deg);
}

/* ハンバーガーメニュー展開時の挙動 */
body.active {
	height: 100%;
	overflow: hidden;
}

.mobile-nav.active {
	opacity: 1;
	visibility: visible;
}

.mobile-nav.active .nav-inner {
	transform: translateY(0);
}

/*ドロワーメニュー*/
.mobile-nav {
	z-index: 200;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	transition: opacity 0.3s ease;
	opacity: 0;
	visibility: hidden;

}

.mobile-nav .nav-inner {
	position: relative;
	width: 100%;
	/*height: 100vh;*/
	height: 100%;
	padding-top: 5rem;
	padding-bottom: 5rem;
	margin: 0 0 0 auto;
	/*background-color: #1b2c70;*/
	background-color:#00bcd1;
	overflow: scroll;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	-webkit-overflow-scrolling: touch;
}

.mobile-nav .nav-inner ul.links {
	width: 85%;
	margin: 0 auto 1.5rem;
}

.mobile-nav .nav-inner ul.links li {
	display: block;
	position: relative;
	padding: 1em 0 1em 18px;

}

/*
.mobile-nav .nav-inner ul.links li:first-child {
	border-top: 1px solid #fff;
}
*/
.mobile-nav .nav-inner ul.links li a {
	display: inline-block;
	font-size: 1.2rem;
	color: #fff;
	line-height: 1.4;
	font-weight: bold;
}

.mobile-nav .nav-inner ul.links li a::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	margin-bottom: 0.2em;
	margin-left: -14px;
	margin-right: 6px;
}


/*
.mobile-nav .nav-inner ul.links li::before {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 2px;
	width: 5px;
	height: 5px;
	border-top: 2px solid #1B2C70;
	border-right: 2px solid #1B2C70;
	transform: rotate(45deg);
}
*/
.mobile-nav .nav-inner ul.links input {
	transition: all .5s ease;
	opacity: 0;
	display: none;
}

.mobile-nav .nav-inner ul.links li.sub {
	padding: 0;
}

.mobile-nav .nav-inner ul.links li.sub>ul {
	position: relative;
	overflow: hidden;
	max-height: 0;
	margin-left: 1rem;
	/*border: 2px solid #999;*/
	border-top: none;
	-webkit-transition: max-height 0.2s;
	transition: max-height 0.2s;
}

.mobile-nav .nav-inner ul.links li.sub>ul li:last-child {
	border-bottom: none;
}

.mobile-nav .nav-inner ul.links li.sub::before {
	content: none;
}

.mobile-nav .nav-inner ul.links li.sub label {
	position: relative;
	display: block;
	padding: 1em 0 1em 18px;
	margin-left: 0;
	font-size: 1.2rem;
	color: #fff;
	line-height: 1.4;
	font-weight: bold;

}

.mobile-nav .nav-inner ul.links li.sub label::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	margin-bottom: 0.2em;
	margin-left: -14px;
	margin-right: 6px;

}

.mobile-nav .nav-inner ul.links li.sub input:checked~ul {
	max-height: 60em;
}

.mobile-nav .nav-inner ul.links li.sub input:checked+label::before {
	transform: rotate(135deg);
}

.mobile-nav .nav-cta-box {
	width: 85%;
	margin: 0 auto 1.5rem;
	padding: 1rem 1.5rem;
	background-color: #fff;
	border-radius: 5px;
}

.mobile-nav .nav-cta-box .here-trial {
	display: block;
	margin-bottom: 0.6rem;
	font-size: 1.2rem;
	color: #333;
	text-align: center;
	font-weight: bold;
}


.mobile-nav .nav-cta-box .btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 65px;
	padding-left: 20px;
	font-size: 1.4rem;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.05em;
	border-radius: 9999px;
	background-repeat: no-repeat;
	background-position: left 17px center;
	box-shadow: 0px 5px 6px -2px rgba(50, 50, 50, 0.3);
}

.mobile-nav .nav-cta-box .btn::before {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 16px;
	width: 8px;
	height: 8px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
}

.mobile-nav .nav-cta-box .btn.form {
	background-color: #eb673d;
	background-image: url(../images/icon-mail-white.svg);
	background-size: 27px auto;
}

.mobile-nav .nav-cta-box .btn.line {
	margin-bottom: 10px;
	background-color: #06c755;
	background-image: url(../images/icon-line-white.svg);
	background-size: 27px auto;
}

.mobile-nav .here-tel {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 1.2rem;
	color: #fff;
	text-align: center;
}

.mobile-nav .btn-tel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 75%;
	height: 65px;
	margin: 0 auto 4rem;
	color: #fff;
	border-radius: 9999px;
	background-color: #1b2c70;
	border: 1px solid #fff;
	box-shadow: 0px 5px 6px -2px rgba(50, 50, 50, 0.5);
}

.mobile-nav .btn-tel .number {
	font-size: 1.9rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
}

.mobile-nav .btn-tel .number::before {
	content: "";
	display: inline-block;
	height: 1em;
	width: 0.7em;
	margin-right: 0.1em;
	vertical-align: middle;
	background-image: url(../images/icon-tel-white.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center top 30%;
}

.mobile-nav .btn-tel .time {
	font-size: 0.8rem;
	font-weight: normal;
}



/*--------------------------------
フッター
--------------------------------*/
#footer {
	background-color: #fff;
	border-top: 1px solid #e0e0e0;
	padding-bottom: 100px;
}


#footer .inner {
	padding-top: 2.5em;

}

#footer .left-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 85%;
	margin: 0 auto;
}

#footer .logo-box {
	display: block;
	width: 40%;
	max-width: 130px;
	margin-bottom: 2rem;
}

#footer ul.link {
	width: 100%;
	margin-bottom: 1.5rem;
}

#footer ul.link li {
	position: relative;
	margin-bottom: 0.8rem;
	padding-left: 1.1em;

}

#footer ul.link li::before {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 2px;
	width: 8px;
	height: 8px;
	/*border-top: 2px solid #1B2C70;
	border-right: 2px solid #1B2C70;*/
	border-top: 2px solid #00bcd1;
	border-right: 2px solid #00bcd1;
	transform: rotate(45deg);
}

#footer ul.link a {
	font-size: 1rem;
}

#footer .copyright-box {
	text-align: center;
}

footer .copyright-box small {
	font-size: 0.9rem;
}



























/* デスクトップでは非表示 */
.mobile-cta { display: none; }

/* ボタン色（必要に応じて変更） */
:root{
  --cta-blue: #1e67d6;   /* 青ボタン */
  --cta-yellow: #f6b800; /* 黄ボタン */
  --cta-text: #fff;
}

/* スマホのみ表示（閾値はお好みで） */
@media (max-width: 767px){

	.mobile-cta{
    position: fixed;
    z-index: 9999;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    gap: 8px;
    padding: 8px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
    background: linear-gradient(to top, rgba(255,255,255,.95), rgba(255,255,255,.7));
    backdrop-filter: blur(6px);
    box-shadow: 0 -6px 20px rgba(0,0,0,.12);
  }

  .mobile-cta .cta{
    flex: 1 1 50%;
    text-align: center;
    text-decoration: none;
    color: var(--cta-text);
    font-weight: 700;
    line-height: 1.2;
    border-radius: 10px;
    padding: 12px 10px;             /* 2行タイトルでも確実にタップしやすい高さ */
    min-height: 56px;               /* タップ領域確保 */
    display: grid;
    place-items: center;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    transition: transform .05s ease, opacity .2s ease;
  }

  .mobile-cta .cta--primary{ background: var(--cta-blue); }
/* .mobile-cta .cta--accent { background: var(--cta-yellow); color:#FFF; }*/
.mobile-cta .cta--accent { background: #ff9c00; color:#FFF; }
	
  .mobile-cta .cta:active{ transform: translateY(1px); }
  .mobile-cta .cta:focus-visible{
    outline: 3px solid rgba(0,0,0,.2);
    outline-offset: 2px;
  }
}





















	
/* =========================
   ヒーロー（FV）と画像切替
   ========================= */
.fv-box{
  position: relative;
  background-color: #ffffff;
}

.eye-catch img{ 
  display:block; 
  width:100%; 
  height:auto; 
}

/*.eye-catch .pc-box{ display:none; }
@media (min-width: 992px){
  .eye-catch .sp-box{ display:none; }
  .eye-catch .pc-box{ display:block; }
}*/

/* =========================
   オーバーレイCTA（共通）
   ========================= */
.cta-overlay{
  position: absolute;
  left: 50%;
  bottom: 22px;                   /* 画像の下端からの距離 */
  transform: translateX(-50%);
  width: min(94vw, 1000px);       /* はみ出し防止＋最大幅 */
  z-index: 5;
  pointer-events: none;           /* 透明部分は背面にクリックを通す */
}

.cta-overlay .cta-box2{
  pointer-events: auto;           /* CTA内部はクリック可 */
  padding: 0;
  background: rgba(255, 255, 255, 0.8); /* 白 + 透過80% */
  border-radius: 18px;
  box-shadow: 0 12px 30px -10px rgba(0,0,0,.25);
  overflow: hidden;
}

.cta-box2 .box{
  margin: 0;
  padding: 22px 20px;
  background: transparent;        /* 二重の白背景回避 */
  border-radius: 0;
}

/* タイトル文言 */
.cta-box2 .here-trial{
  display: block;
  margin-bottom: .6rem;
  font-size: 1.2rem;
  color: #333;
  text-align: center;
  font-weight: 700;
}

/* =========================
   CTAボタン（専用クラス）
   ========================= */
.cta-box2 .cta-btn{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70px;

  /* 横幅調整（スマホ基準は100%に） */
  width: 100%;              
  min-width: 0;             
  max-width: 100%;          
  margin: 0 auto;           /* 中央寄せ */

  font-size: 1.4rem;
  color: #fff;
  font-weight: 700;
  letter-spacing: .05em;
  border-radius: 9999px;
  text-decoration: none;
  background-repeat: no-repeat;
  background-position: left 30px center;
  box-shadow: 0 10px 16px -6px rgba(0,0,0,.25);
  cursor: pointer;
  box-sizing: border-box;
}

/*.cta-box2 .cta-btn::after {
  content:"";
  position:absolute;
  top:0; bottom:0; right:18px;
  margin:auto;
  width:7px; height:7px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform: rotate(45deg);
}*/




.cta-box2 .cta-btn::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 16px;
	width: 8px;
	height: 8px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(135deg);
}








.cta-box2 .cta-btn + .cta-btn{ margin-top: 16px; }

/* 色バリエーション */
.cta-box2 .cta-btn.form   { background-color:#007af6; } /* ブルー */
.cta-box2 .cta-btn.nagare { background-color:#ff9c00; } /* オレンジ */

/* =========================
   PCレイアウト（横並び）
   ========================= */
@media (min-width: 992px){
  .cta-box2 .box{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    align-items: center;
  }
  .cta-box2 .here-trial{
    grid-column: 1 / -1;
    margin-bottom: .2rem;
    font-size: 1.4rem;
  }
  .cta-box2 .cta-btn + .cta-btn{ margin-top: 0; }

  /* PCでは従来通り固定幅 */
  .cta-box2 .cta-btn{
    width: auto;
    min-width: 400px;
    max-width: 400px;
  }
}

/* =========================
   スマホ表示（～991px）
   ========================= */
@media (max-width: 991.98px){
  .cta-overlay{
    /*bottom: calc(18px + env(safe-area-inset-bottom, 0));*/
	  bottom: calc(-30px + env(safe-area-inset-bottom, 0));
    left: 50%;
    transform: translateX(-50%);
    width: calc(100vw - 24px - env(safe-area-inset-left,0) - env(safe-area-inset-right,0));
    max-width: 520px;
    padding-left: env(safe-area-inset-left, 0);
    padding-right: env(safe-area-inset-right, 0);
  }

  .cta-overlay .cta-box2{
    background: #fff;
    border-radius: 16px;
    padding: 18px 16px;
    box-shadow: 0 12px 28px -10px rgba(0,0,0,.22);
  }

  .cta-box2 .box{
    display: block;
    padding: 16px;
  }

  .cta-box2 .here-trial{
    margin: 4px 0 14px;
    font-size: 1.2rem;
    color: #2b2b2b;
  }

  .cta-box2 .cta-btn{
    height: 64px;
    font-size: 1.2rem;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .cta-box2 .cta-btn::after{
/*    right: 18px;
    width: 7px; 
    height: 7px;
    border-width: 2px;*/
  }

  /* 画像に隠れないよう下に余白 */
  .fv-box{ padding-bottom: 180px; }
}





























/*体験授業の内容ボタン*/
.btn-center {
  text-align: center;
  margin: 30px 0; /* 上下の余白はお好みで */
}

.btn-trial {
  display: inline-block;
  padding: 14px 40px;              /* ボタンサイズ */
  background-color: #00bcd4;       /* シアン系背景 */
  color: #fff;                     /* 白文字 */
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  border-radius: 8px;              /* 角丸 */
  box-shadow: 4px 6px 12px rgba(0, 0, 0, 0.25); /* 影 */
}

























/*--------------------
アイキャッチ
--------------------*/
.fv-box {
	/*background-color: #1b2c70;*/
	background-color: #ffffff;
}

/*.eye-catch .sp-box {
	background-color: #1b2c70;
	background-image: url(../images/eye-catch2_sp_photo.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
}*/

.eye-catch .sp-box {
	/*background-color: #1b2c70;*/
	background-image: url(../images/eye-catch_sp_photo_online.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
}



.eye-catch .pc-box {
	display: none;
}

/*--------------------
CTA
--------------------*/
.cta-box {
	padding: 2rem;
	/*background-color: #f1f2f6;*/
	background-color: #edfafc;/*オンライン*/
	
	/*margin: 100px 0px;*/
}

.cta-box .box {
	margin-bottom: 1rem;
	padding: 1.5rem;
	background-color: #fff;
	border-radius: 7px;
}

.cta-box .box:last-child {
	margin-bottom: 0;
}

.cta-box .here-trial {
	display: block;
	margin-bottom: 0.6rem;
	font-size: 1.2rem;
	color: #333;
	text-align: center;
	font-weight: bold;
}


.cta-box .btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 70px;
	/*padding-left: 20px;*/
	font-size: 1.4rem;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.05em;
	border-radius: 9999px;
	background-repeat: no-repeat;
	background-position: left 30px center;
	box-shadow: 0px 5px 6px -2px rgba(50, 50, 50, 0.3);
}

.cta-box .btn::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 16px;
	width: 8px;
	height: 8px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(135deg);
}





.cta-box .btn.form {
	/*background-color: #eb673d;*/
	background-color: #007af6;/*オンライン*/
	/*background-image: url(../images/icon-mail-white.svg);
	background-size: 27px auto;*/
	margin: 20px 0px;
}

.cta-box .btn.nagare {
	/*background-color: #eb673d;*/
	background-color: #ff9c00;/*オンライン*/
	/*background-image: url(../images/icon-mail-white.svg);
	background-size: 27px auto;*/
	margin: 20px 0px;
}





.cta-box .btn.line {
	margin-bottom: 10px;
	background-color: #06c755;
	background-image: url(../images/icon-line-white.svg);
	background-size: 27px auto;
}

.cta-box .here-tel {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
}

.cta-box .btn.tel {
	display: flex;
	flex-direction: column;
	padding-left: 0;
	background-color: #fff;
	border: 1.5px solid #1b2c70;
	box-shadow: 0px 5px 5px -2px rgba(50, 50, 50, 0.3);
}

.cta-box .btn.tel .number {
	font-size: 1.9rem;
	font-weight: bold;
	color: #1b2c70;
	line-height: 1;
	letter-spacing: 0.05em;
}

.cta-box .btn.tel .number::before {
	content: "";
	display: inline-block;
	height: 1em;
	width: 0.7em;
	margin-right: 0.1em;
	vertical-align: top;
	background-image: url(../images/icon-tel-navy.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center top 30%;
}

.cta-box .btn.tel .time {
	font-size: 0.8rem;
	font-weight: normal;
	color: #1b2c70;

}

/*--------------------
各セクションのタイトル
--------------------*/

.section-title {
	position: relative;
	/*margin-bottom: 2rem;*/
	margin-bottom: 4rem;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	margin-top: 100px;/*追加*/
}

/*.section-title::before {
	background-color: #263e9e;
	bottom: -4px;
	content: "";
	height: 5px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 60px;
}*/


.section-title::after{
	position: absolute;
	content: "";
	bottom: -1.4rem;
	left: 50%;
	transform: translateX(-50%);
	width: 180px;
	height: 15px;
	background-image: url(../images/title-under-dot.svg);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: contain;
}


.section-lead-text {
	margin-bottom: 2rem;
	font-size: 1.1rem;
	text-align: center;
}












/*見出し下の説明テキスト*/
.lead-text {width: 95%; max-width: 1200px; margin: 0 auto 2rem; font-size: 1.0rem; font-weight: bold; text-align: center;}

/* 600px〜：タブレット用CSS */
@media screen and (min-width: 600px) {
.lead-text {	width: 85%;}
}

/* 1025px〜：PC用CSS */
@media screen and (min-width: 1025px) {
.lead-text {font-size: 1.2rem;}
/*.lead-text br {display: none;}*/
}





























/************************************************************************************************************************/


/* ====== ソウガクの特徴 ====== */
.features {padding: 0px 16px 8px;}
.features__inner {max-width: 1000px;/* 幅を固定 */ margin-inline: auto;}
.feature {display: grid; grid-template-columns: auto 1fr; align-items: start; column-gap: 22px; row-gap: 8px; padding-block: 28px;}

/* バッジ（「特徴」） */
.feature__badge {display: inline-flex; align-items: center; gap: 10px; padding: 16px 22px; background: #00bcd1; color: #fff; border-radius: 12px; position: relative; top: 2px; white-space: nowrap;}
.feature__badge .ja {font-weight: 700; font-size: clamp(22px, 2.2vw, 22px); letter-spacing: .04em;}
.feature__badge .num {display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding-inline: 10px; font-weight: 800; font-size: clamp(18px, 2.4vw, 24px); background: rgba(255, 255, 255, 0.16); border: 2px solid rgba(255, 255, 255, 0.65); border-radius: 999px; line-height: 1;}

/* 本文側 */
.feature__body {min-width: 0; /* テキストのはみ出し防止 */}
.feature__title {margin: 0 0 12px; color: #333333; font-size: clamp(20px, 3.2vw, 28px); font-weight: 800; line-height: 1.35; letter-spacing: .02em;}
.feature__desc {margin: 0; color: #333333; /* 本文色 */ font-size: clamp(15px, 1.6vw, 17px); line-height: 1.95;}

/* セクション間の余白（デザイン通り大きめ） */
.feature + .feature { margin-top: 18px; border-top: 1px solid transparent;}

/* ====== Responsive ====== */
@media (max-width: 780px) {
.feature {grid-template-columns: 1fr; row-gap: 14px; padding-block: 10px;}
.feature__badge {width: fit-content; padding: 14px 18px; border-radius: 10px;}
}




/*こんなお悩みありませんか？の画像*/
.worries-message01-section {background: #ffffff; padding: 0px;}
.worries-message01-inner {max-width: 1000px;/* 固定幅 → 最大幅 */ width: 100%;/* 画面幅に合わせる */ margin: 0 auto; text-align: center;}
.worries-message01-inner img {max-width: 100%;/* はみ出さないように */ height: auto; display: block; margin: 0 auto;/* センター寄せ */ padding: 100px 10px;}
@media (max-width: 780px) {
.worries-message01-inner img {padding: 20px 10px;}	
}


/* 教師自動スクロール上メッセージ */
.section-text {background: #edfafc; padding: 40px 20px; text-align: center;}
.section-text__inner p { font-size: 1.6rem; font-weight: 600; line-height: 1.8; color: #333; margin: 0;}
.section-text__inner .marker {/* background: #fff15a;*/ background: linear-gradient(transparent 65%, #fff15a 0%); font-weight: 700; padding: 0 4px;}
@media (max-width: 780px) {
.section-text__inner p { font-size: 1.3rem;}
}


/*でも・・・の画像*/
.worries-message02-section {background: #ffffff; padding: 0px;}
.worries-message02-inner {max-width: 1000px;/* 固定幅 → 最大幅 */ width: 100%;/* 画面幅に合わせる */ margin: 0 auto; text-align: center;}
.worries-message02-inner img {max-width: 100%;/* はみ出さないように */ height: auto; display: block; margin: 0 auto;/* センター寄せ */ padding: 10px 10px;}
@media (max-width: 780px) {
.worries-message02-inner img {padding: 20px 10px;}	
}


/*比較表の画像*/
.comparison-section {background: #ffffff; padding: 0px;}
.comparison-inner {max-width: 1000px;/* 固定幅 → 最大幅 */ width: 100%;/* 画面幅に合わせる */ margin: 0 auto; text-align: center;}
.comparison-inner img {max-width: 100%;/* はみ出さないように */ height: auto; display: block; margin: 0 auto;/* センター寄せ */ padding: 0px 10px;}


/*体験授業の内容の画像*/
.trial-contents-section {background: #ffffff; padding: 0px;}
.trial-contents-inner {max-width: 700px;/* 固定幅 → 最大幅 */ width: 100%;/* 画面幅に合わせる */ margin: 0 auto; text-align: center;}
.trial-contents-inner img {max-width: 100%;/* はみ出さないように */ height: auto; display: block; margin: 0 auto;/* センター寄せ */ padding: 0px 30px;}































/*--------------------------------
料金
--------------------------------*/
#page-fee .section-title {
	margin-bottom: 2.5rem;
}

#page-fee section {
	margin-bottom: 5rem;
}

#page-fee .fee-page-title {
	margin-bottom: 1rem;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

#page-fee .fee-forte-box {
	width: 94%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 1.5rem;
	background-color: #fdf2f0;
}

#page-fee .fee-forte-box .forte-columns {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	line-height: 1.3;
}

#page-fee .fee-forte-box .forte-columns li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 48%;
	height: 115px;
	margin-bottom: 10px;
	background-color: #fff;
	border-radius: 7px;
}

#page-fee .fee-forte-box .forte-columns .item-name {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2.8em;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}

#page-fee .fee-forte-box .forte-columns .fee {
	font-size: 1.8rem;
	font-weight: bold;
	color: #ec6d80;
}

#page-fee .fee-forte-box .fee-desc-box .img-box {
	text-align: center;
}

#page-fee .fee-forte-box .fee-desc-box .img-box img {
	width: 65%;
	max-width: 250px;
}

#page-fee .fee-forte-box .fee-desc-box .text-box p {
	padding-top: 0.5rem;
	font-size: 1.1rem;
	font-weight: bold;
}

#page-fee .fee-forte-box .fee-desc-box .text-box p span {
	font-size: 0.7em;
	vertical-align: top;
	font-weight: normal;
}

#page-fee .price-desc-box {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 1rem;
}

#page-fee .price-desc-box .text-box {
	margin-bottom: 1rem;
}

#page-fee .price-desc-box .img-box {
	text-align: center;
}

#page-fee .price-desc-box .img-box img {
	width: 60%;
	max-width: 250px;
}

#page-fee .price-box {
	width: 94%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 1.5rem 0.5rem 1.5rem 0.5rem;
	background-color: #edfafc;
}

#page-fee .price-box .price-box-title {
	margin-bottom: 1rem;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}

#page-fee .price-box .price-wrap {
	margin-bottom: 3px;
}

#page-fee .price-box .price-table {
	width: 100%;
	min-width: 680px;
	height: 100%;
	margin-bottom: 10px;
	background-color: #fff;
}

#page-fee .price-box .price-table,
#page-fee .price-box .price-table th,
#page-fee .price-box .price-table td {
	padding: 6px;
	text-align: center;
}

#page-fee .price-box .price-table tr td:last-child {
	text-align: left;
}

#page-fee .price-box .price-table td,
#page-fee .price-box .price-table th{
	border-bottom: 1px solid #e5e5e5;
}

#page-fee .price-box .price-table tr:last-child td {
	border-bottom: none;
}


#page-fee .price-box .price-table th,
#page-fee .price-box .price-table td {
	border-right: 1px solid #e5e5e5;
	font-weight: bold;
}
#page-fee .price-box .price-table th:last-child,
#page-fee .price-box .price-table td:last-child{
	border-right: none;
}
#page-fee .price-box .price-table tr:first-child th {
	font-size: 1.2rem;
	text-align: center;
}

#page-fee .price-box .price-table tr:first-child th .number {
	font-size: 1.5em;
}

#page-fee .price-box .price-table tr:first-child th .week {
	font-size: 0.8em;
}

#page-fee .price-box table.price-table tr:not(:first-child) th {
	height: 100%;
}
#page-fee .price-box .price-table td.bg-transparence{
	background-color: #edfafc;
	border-right: none;
	border-bottom: none;
}
#page-fee .price-box table.price-table tr:not(:first-child) th .one-min {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 6px 7px;
	font-size: 1rem;
	color: #fff;
	border-radius: 4px;

}

#page-fee .price-box table.price-table tr:not(:first-child) th .one-min .inner {
	display: flex;
	align-items: center;
	height: 100%;
	text-align: center;
	min-height: 65px;
}
#page-fee .price-box table.price-table tr:not(:first-child) th .one-min .min-number {
	font-size: 1.6rem;
	vertical-align: middle;
	padding-bottom: 0.2em;
}
#page-fee .price-box table.price-table tr:not(:first-child) td:nth-child(n+2):nth-child(-n+3) .price-number {
	font-size: 1.9rem;
	line-height: 1;
}
#page-fee .price-box table.price-table tr:not(:first-child) td:nth-child(n+2):nth-child(-n+3) .tax-price {
	display: block;
	font-size: 0.8rem;
	line-height: 1;
	font-weight: normal;
}

#page-fee .price-box table.price-table tr.min-25 th .one-min {
	background-color: #00bcd1;
}

#page-fee .price-box table.price-table tr.min-25 td .price-number,
#page-fee .price-box table.price-table tr.min-25 td .yen,
#page-fee .price-box table.price-table tr.min-25 td .tax-price{
	color: #00bcd1;
}

#page-fee .price-box table.price-table tr.min-50 th .one-min {
	background-color: #4eb840;
}

#page-fee .price-box table.price-table tr.min-50 td .price-number,
#page-fee .price-box table.price-table tr.min-50 td .yen,
#page-fee .price-box table.price-table tr.min-50 td .tax-price{
	color: #4eb840;
}

#page-fee .price-box table.price-table tr.min-75 th .one-min {
	background-color: #6a7ccc;
}

#page-fee .price-box table.price-table tr.min-75 td .price-number,
#page-fee .price-box table.price-table tr.min-75 td .yen,
#page-fee .price-box table.price-table tr.min-75 td .tax-price{
	color: #6a7ccc;
}

#page-fee .price-box table.price-table tr:not(:first-child) td:last-child {
	font-weight: normal;
	font-size: 0.9rem;
}

#page-fee .price-box table.price-table td .recommend {
	width: 8em;
	margin: 0 auto;
	padding: 5px 0 4px;
	font-size: 0.8rem;
	line-height: 1;
	border-radius: 9999px;
	background-color: #ffd000;
}

#page-fee .price-box .price-one-box {
	display: flex;
	align-items: center;
	width: 100%;
	min-width: 680px;
	margin-bottom: 5px;
	padding: 10px 5px;
	background-color: #fff;
}

#page-fee .price-box .price-one-box .one-price {
	margin-right: 0.5rem;
	font-size: 1.2rem;
	font-weight: bold;
	white-space: nowrap;
}

#page-fee .price-box .price-one-box .price-number,
#page-fee .price-box .price-one-box .yen,
#page-fee .price-box .price-one-box .tax-price{
	color: #ec6378;
}

#page-fee .price-box .price-one-box .price-number {
	font-size: 1.5em;
}
#page-fee .price-box .price-one-box .tax-price{
	font-size: 0.9rem;
	font-weight: normal;
}
#page-fee .price-box .price-one-box .one-min {
	display: flex;
	height: 2em;
	align-items: center;
	justify-content: center;
	width: 6em;
	margin-right: 0.5rem;
	font-size: 1.2rem;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.02em;
	background-color: #ec6378;
	border-radius: 4px;
}
#page-fee .price-box .price-one-box .desc {
	font-size: 0.85rem;
}

#page-fee .price-box .text-note {
	text-align: right;
	font-size: 0.8rem;
}
#page-fee .discount-box {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}
#page-fee .discount-box .discount-title span{
	display: inline-block;
	margin-bottom: 0.2rem;
	padding: 0.2em 0.8em;
	background-color: #00bcd1;
	font-size: 1.2rem;
	font-weight: bold;
	color: #fff;
	border-radius: 5px;
}
#page-fee .discount-box .text-box{
	margin-bottom: 2rem;
}
#page-fee .discount-box .text-box .note{
	font-size: 0.8em;
}



/*----画面サイズが大さいスマホ用CSS======================================================================================================================================================--*/
@media screen and (min-width: 400px) {

	/*--------------------------------
料金
--------------------------------*/
	#page-fee .price-box .price-table,
	#page-fee .price-box .price-one-box {
		width: 730px;
	}


	/*↓画面サイズが大さいスマホ用CSS閉じタグ*/
}


/* 600px〜：タブレット用CSS ======================================================================================================================================================--*/
@media screen and (min-width: 600px) {

	/*--------------------------------
料金
--------------------------------*/
#page-fee .fee-forte-box,
#page-fee .price-box{
	width: 90%;
}
#page-fee .price-box{
	padding: 2rem;
}

#page-fee .price-box .price-table,
#page-fee .price-box .price-one-box {
	width:100%;
	min-width: 800px;
}

	/*↓600px〜：タブレット用CSS 閉じタグ*/
}


/* 1025px〜：PC用CSS======================================================================================================================================================---*/
@media screen and (min-width: 1025px) {


	/*--------------------------------
料金
--------------------------------*/
	#page-fee section {
		margin-bottom: 6rem;
	}

	#page-fee .fee-forte-box {
		padding: 2.5rem;
	}

	#page-fee .fee-forte-box .forte-columns li {
		width: 24%;
	}

	#page-fee .fee-forte-box .fee-desc-box {
		display: flex;
		justify-content: space-between;
	}

	#page-fee .fee-forte-box .fee-desc-box .img-box {
		width: 30%;
		padding-right: 2%;
	}

	#page-fee .fee-forte-box .fee-desc-box .img-box img {
		width: 100%;
	}

	#page-fee .fee-forte-box .fee-desc-box .text-box {
		display: flex;
		align-items: center;
		width: 70%;
	}
	#page-fee .price-desc-box{
		display: flex;
	}
	#page-fee .price-desc-box .text-box {
		display: flex;
		width: 70%;
		align-items: center;
		font-size: 1.1rem;
	}
	#page-fee .price-desc-box .img-box {
		width: 28%;
	}
	#page-fee .price-desc-box .img-box img{
		width: 100%;
	}
	#page-fee .price-box .price-table, #page-fee .price-box .price-one-box{
		justify-content: center;
	}


/*↓1025px〜：PC用CSS 閉じタグ*/
}



















































/*--------------------
新）添う学
--------------------*/
#sou-gaku {
	padding-top: 3rem;
	background-color: #f9f9f9;
}

#sou-gaku .future-is {
	margin-bottom: 1rem;
	font-size: 2.55rem;
	color: #1b2c70;
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
}

#sou-gaku .sou-gaku-is {
	margin-bottom: 1rem;
	font-size: 1.5rem;
	color: #1b2c70;
	text-align: center;
	font-weight: bold;
	line-height: 1.6;
}

#sou-gaku .sou-gaku_text-img {
	display: block;
	width: 45%;
	max-width: 230px;
	margin: 0 auto;
}

#sou-gaku .sou-gaku_text-box {
	padding-top: 1rem;
	background-image: url(../images/sou-gaku_bg-img.png);
	background-repeat: no-repeat;
	background-size: auto 90%;
	background-position: right 50% bottom 0;
}

#sou-gaku .sou-gaku_text-box .text-box {
	padding: 1.5rem 5% 2.5rem;
	background-color: rgba(249, 249, 249, 0.83);
}

#sou-gaku .sou-gaku_text-box .text-box p {
	font-size: 1.1rem;
}



/*--------------------
新）喜びの声
--------------------*/
#voice2 {
	margin-bottom: 2rem;
	padding: 5rem 0 2rem;
	background-image: url(../images/voice2_bg.jpg);
	background-size: 100%;
	background-position: top center;
	background-repeat: no-repeat;
	background-color: #fdf3f0;
}

#voice2 .voice2-title-box {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 1rem;
}

#voice2 .student-photo-upper {
	position: absolute;
	z-index: 5;
	width: 70px;
	height: auto;
	bottom: 0;
}

#voice2 .student-photo-upper.photo-left1,
#voice2 .student-photo-upper.photo-right2 {
	display: none;
}

#voice2 .student-photo-upper.photo-left2 {
	left: 0;
}

#voice2 .student-photo-upper.photo-right1 {
	right: 0;
}

#voice2 .voice2-title {
	position: relative;
	z-index: 10;
	font-size: 2.1rem;
	font-weight: bold;
	text-align: center;
	color: #f84545;
	line-height: 1.4;
}

#voice2 .voice2-scroll {
	display: flex;
	margin-bottom: 35px;
}

#voice2 .voice2-scroll .column {
	width: 90%;
	margin: 10px 7px;
	padding: 1rem;
	background-color: #fff;
	text-align: center;
	border: 1px solid #ffeee8;
	box-shadow: 0px 0px 16px -3px rgba(160, 32, 41, 0.2);
}

#voice2 .voice2-scroll .thoughts-title {
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	height: 3em;
	/*font-size: 1.2rem;*/
	font-size: 0.9rem;/*オンライン*/
	line-height: 1.4;
	font-weight: bold;
	color: #f84545;
	margin: 15px 0px;
}

#voice2 .voice2-scroll .thoughts-img {
	margin-bottom: 0.2rem;
}

#voice2 .voice2-scroll .thoughts-img img {
	display: block;
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
}

#voice2 .voice2-scroll .thoughts-name {
	/*font-size: 0.9rem;*/
	font-size: 0.7rem;
}

#voice2 .student-photo-bottom-box {
	display: flex;
	justify-content: space-between;
	width: 98%;
	max-width: 1200px;
	margin: 0 auto 3rem;
}

#voice2 .student-photo-bottom-box .student-photo-bottom {
	text-align: center;
}
#voice2 .student-photo-bottom-box .student-photo-bottom:nth-last-child(-n+2){
	display: none;
}

#voice2 .student-photo-bottom-box .student-photo-bottom img {
	width: 90%;
}

#voice2 .results-title-box {
	position: relative;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 1.5rem;
}

#voice2 .results-title-box .results-title-photo {
	position: absolute;
	bottom: -23px;
	z-index: 1;
	width: 80px;
	height: auto;
}

#voice2 .results-title-box .results-title-photo.photo-right {
	right: 0;
	width: 70px;
}

#voice2 .results-title-box .results-title {
	position: relative;
	z-index: 10;
	margin-bottom: 2rem;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	color: #f84545;
	line-height: 1.4;
}

#voice2 .results-img-box {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

#voice2 .results-img-box .results-img-photo {
	display: none;
}

#voice2 .results-img-box .inner-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 80%;
	margin: 0 auto;
	text-align: center;
}

#voice2 .results-img-box .inner-box .column {
	width: 48%;
	margin-bottom: 25px;
	text-align: center;
}









/*札幌の「内情」を知らない指導は遠回りセッション*/


/* detour セクション内の画像は最大1000px、横幅いっぱいで可変 */
#detour img {
  width: 100%;
  max-width: 900px;
  height: auto;
  display: block;
  margin: 0 auto; /* 中央寄せ */
}














/*--------------------
新）北海道専門家庭教師だからこそできるサービス・強み
--------------------*/
#hokkaido {
	margin-bottom: 6rem;
}

#hokkaido .hokkaido-inner {
	width: 92%;
	margin: 0 auto;
	padding: 1rem 0;
}

#hokkaido .hokkaido-title {
	margin-bottom: 1.6rem;
	font-size: 1.8rem;
	color: #1b2c70;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	font-family: "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}

#hokkaido .hokkaido-title span {
	display: block;
}

#hokkaido .strong-icon-box {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2rem;
}

#hokkaido .strong-icon-box .box {
	position: relative;
	width: 48%;
	padding: 1.7rem 0 1.2rem;
	background-color: #1b2c70;
	border-radius: 5px;
}

#hokkaido .strong-icon-box .number {
	position: absolute;
	left: 50%;
	top: -1em;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4em;
	height: 2em;
	font-size: 1rem;
	font-weight: bold;
	color: #1b2c70;
	background-color: #ffea00;
	border-radius: 9999px;
}

#hokkaido .strong-icon-box .text {
	font-size: 1.25rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
}

#hokkaido .strong-icon-box .text span {
	display: block;
}

#hokkaido .strong-texts-box {
	padding-bottom: 1rem;
	background-image: url(../images/service-strength_bg-hokkaido.png);
	background-repeat: no-repeat;
	background-size: 70% auto;
	background-position: right 5% bottom 0;

}

#hokkaido .strong-texts-box .box {
	margin-bottom: 1.5rem;
}

#hokkaido .strong-texts-box .box:last-child {
	margin-bottom: 0;
}

#hokkaido .strong-texts-box .strong-title {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 0.5rem;
}

#hokkaido .strong-texts-box .strong-title .number {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3.2em;
	height: 1.6rem;
	margin-right: 0.3rem;
	padding: 0 0.3em;
	font-size: 1rem;
	font-weight: bold;
	color: #1b2c70;
	background-color: #ffea00;
	border-radius: 3px;
}

#hokkaido .strong-texts-box .strong-title .title {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: bold;
	color: #1b2c70;
	line-height: 1;

}

#hokkaido .strong-texts-box .texts p {
	font-size: 1rem;
}

#hokkaido .arrow-box {
	width: 45px;
	margin: 0 auto 0.8rem;
}

#hokkaido .free-book-box {
	margin-bottom: 1.2rem;
	padding: 1.2rem 0 0.7rem;
	background-color: #f2f3f9;
	border-radius: 5px;
}

#hokkaido .free-book-box .free-title {
	margin-bottom: 0.5rem;
	font-size: 1.2rem;
	font-weight: bold;
	color: #1b2c70;
	text-align: center;
}

#hokkaido .free-book-box .free-title span {
	display: block;
}

#hokkaido .free-book-box .free-title span.sogaku {
	font-size: 1.6rem;
	line-height: 1.4;
}

#hokkaido .free-book-box .free-title span.back-color {
	text-align: center;
}

#hokkaido .free-book-box .free-title span.back-color span {
	display: inline-block;
	padding: 0.35em 0.7em;
	margin-bottom: 3px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.06em;
	color: #fff;
	background-color: #1b2c70;
}

#hokkaido .free-book-box .text-box {
	margin-bottom: 1rem;
	padding: 0 1rem;
}

#hokkaido .free-book-box .text-box p {
	margin-bottom: 0.8em;
}

#hokkaido .free-book-box .text-box p:last-child {
	margin-bottom: 0;
}

#hokkaido .free-book-box .text-box p .highlight {
	font-weight: bold;
	background: linear-gradient(rgba(255, 249, 133, 0) 60%, #ffea00 50%);
}

#hokkaido .campaign-box .moreover {
	text-align: center;
}

#hokkaido .campaign-box .moreover span {
	position: relative;
	text-align: center;
	font-weight: bold;
	line-height: 1.3;
	font-size: 1.3rem;
}

#hokkaido .campaign-box .moreover span::before,
#hokkaido .campaign-box .moreover span::after {
	position: relative;
	display: inline-block;
	content: "";
	background: #1b2c70;
	width: 2px;
	height: 1.2em;
	margin: 0 0.5em;
	margin-top: -0.2em;
	vertical-align: middle;
}

#hokkaido .campaign-box .moreover span::before {
	transform: rotate(-30deg);
}

#hokkaido .campaign-box .moreover span::after {
	transform: rotate(30deg);
}

#hokkaido .campaign-box .campaign-bnr {
	display: block;
	width: 95%;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}

#hokkaido .assured-box {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#hokkaido .assured-box .assured-title {
	display: inline-block;
	margin-bottom: 0.4rem;
	padding: 0.1em 0.5em;
	font-size: 1.3rem;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.15em;
	background-color: #f95f24;
	border-radius: 5px;
}

#hokkaido .assured-box .assured-text {
	font-size: 1.2rem;
	font-weight: bold;
	color: #f84500;
	line-height: 1.7;
}


/*--------------------
新）家庭教師紹介
--------------------*/
#tutor2 {
	margin-bottom: 7rem;
}

#tutor2 .sogaku-tutors {
	margin-bottom: 0.5rem;
	font-size: 1.7rem;
	font-weight: bold;
	text-align: center;
	color: #1B2C70;
}

#tutor2 .tutors-support {
	margin-bottom: 1.5rem;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}

#tutor2 .tutor-choice-text-box {
	margin-bottom: 0.15rem;
	text-align: center;

}

#tutor2 .tutor-choice-text-box span {
	position: relative;
	padding: 1rem 1rem;
	font-size: 1.3rem;
	font-weight: bold;
	text-align: center;
}

#tutor2 .tutor-choice-text-box span::before,
#tutor2 .tutor-choice-text-box span::after {
	position: absolute;
	top: 0.8rem;
	height: 1.8rem;
	content: '';
}

#tutor2 .tutor-choice-text-box span::before {
	border-left: solid 2px #1B2C70;
	left: 0;
	transform: rotate(-30deg);
}

#tutor2 .tutor-choice-text-box span::after {
	border-right: solid 2px #1B2C70;
	right: 0;
	transform: rotate(30deg);
}

#tutor2 .tutor-choice-box {
	display: flex;
	justify-content: space-between;
	width: 92%;
	max-width: 600px;
	margin: 0 auto 1rem;
}

#tutor2 .tutor-choice-box .column {
	width: 49%;
	padding: 0.5em;
	background-color: #1B2C70;
	font-size: 1.2rem;
	color: #fff;
	font-weight: bold;
	text-align: center;
	border-radius: 5px;
	line-height: 1.4;
}

#tutor2 .tutor-choice-box .column .highlight {
	display: block;
	color: #f4d923;
}

#tutor2 .tutor2-scroll {
	display: flex;
}

#tutor2 .tutor2-scroll .column {
	width: 90%;
	margin: 10px 7px 15px;
	padding: 1rem;
	background-color: #fff;
	/*border: 1px solid #ffeee8;*/
	border: 1px solid #00bcd1;/*オンライン*/
	/*box-shadow: 0px 2px 16px -3px rgba(31, 85, 163, 0.15);*/
	/*box-shadow: 0px 0px 16px -3px rgba(160, 32, 41, 0.2);*/
}

#tutor2 .tutor2-scroll .comment-title {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 3.8em;
	margin-bottom: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	color: #fff;
	/*background-color: #1B2C70;*/
	background-color: #00bcd1;/*オンライン*/
	border-radius: 5px;
}

#tutor2 .tutor2-scroll .comment-title span {
	display: block;
}

#tutor2 .tutor2-scroll .comment-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 7px 6px 0 6px;
	/*border-color: #1B2C70 transparent transparent;*/
	border-color: #00bcd1 transparent transparent;
	translate: -50% 100%;
}

#tutor2 .tutor2-scroll .photo-box {
	margin-bottom: 0.3rem;
}

#tutor2 .tutor2-scroll .photo-box img {
	display: block;
	width: 110px;
	margin: 0 auto;
	border-radius: 5px;

}

#tutor2 .tutor2-scroll .tutors-name {
	display: block;
	margin-bottom: 0.2rem;
	font-size: 0.9rem;
	text-align: center;
}

#tutor2 .tutor2-scroll .comment p {
	font-size: 0.9rem;
}

/*--------------------
講師動画
--------------------*/
#tutor {
	padding: 2rem 0 2rem;
	margin-bottom: 5rem;
}

#tutor .tutor-lead-text {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 1rem;
	font-size: 1.3rem;
	font-weight: bold;
}

#tutor .movie-contents {
	width: 90%;
	max-width: 960px;
	text-align: center;
	margin: 0 auto;
}

#tutor .movie-contents video {
	width: 100%;
}

#tutor .movie-contents .tutor-name {
	font-size: 1.2rem;
	font-weight: bold;
}

#tutor .movie-contents .tutor-name span:first-child {
	margin-right: 0.5em;
}





/*--------------------
新）ソウガクの学習最適化ツール
--------------------*/
#support {
	margin-bottom: 4rem;
}

#support .support-worry-text-box {
	text-align: center;
}

#support .support-worry-text-box span {
	position: relative;
	padding: 0.9em 0.8rem 0;
	font-size: 1.1rem;
	font-weight: bold;
	text-align: center;
}

#support .support-worry-text-box span::before,
#support .support-worry-text-box span::after {
	position: absolute;
	top: 0.8rem;
	height: 1.6rem;
	content: '';
}

#support .support-worry-text-box span::before {
	border-left: solid 2px #1B2C70;
	left: 0;
	transform: rotate(-30deg);
}

#support .support-worry-text-box span::after {
	border-right: solid 2px #1B2C70;
	right: 0;
	transform: rotate(30deg);
}


#support .five-support {
	margin-bottom: 0.5rem;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	color: #f84500;
	line-height: 1;
}

#support .five-support .number {
	font-size: 1.4em;
}

#support .five-support .small {
	font-size: 0.8em;
}

#support .support-message {
	width: 90%;
	margin: 0 auto 1rem;
	font-weight: bold;
}

#support .support-message br {
	display: none;
}

#support .all-free {
	margin-bottom: 1.3rem;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	color: #f84500;
	line-height: 1.4;
}

#support .all-free .large {
	font-size: 1.3em;
}

#support .use-free_sp {
	margin-bottom: 1rem;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.1;
}

#support .use-free_sp .number {
	display: inline-block;
	font-size: 1.9em;
	color: #f84500;
	transform: translateY(2px);
}

#support .tool-box {
	display: flex;
	flex-direction: column-reverse;
	width: 94%;
	max-width: 1000px;
	margin: 0 auto 1.5rem;
	padding: 1.5rem 1rem;
	background-color: #fdf3f0;
}

#support .tool-box.bottom-img {
	margin-bottom: 0;
}

#support .tool-box-add-img {
	display: flex;
	justify-content: space-between;
	width: 94%;
	max-width: 1000px;
	margin: 0 auto 1.5rem;
	padding: 0 1rem 1.5rem 1rem;
	background-color: #fdf3f0;
}

#support .tool-box-add-img.column3 .column {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 32%;
}

#support .tool-box-add-img.column2 .column {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 48%;
}

#support .tool-box-add-img.column3 .column .img-title {
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-align: center;
}

#support .tool-box-add-img.column3 .column img {
	width: 100%;
}


#support .tool-box .main-img-box {
	text-align: center;
}

#support .tool-box .main-img-box img {
	width: 84%;
}

#support .tool-box .mother-box {
	margin-bottom: 0.5rem;
}

#support .tool-box .mother-box .worry-text {
	position: relative;
	margin-bottom: 8px;
	padding: 0.5em 0;
	font-size: 1.1rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	color: #fff;
	background-color: #1B2C70;
	border-radius: 5px;
}

#support .tool-box .mother-box .worry-text span {
	display: block;
}

#support .tool-box .mother-box .worry-text::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 7px 6px 0 6px;
	border-color: #1B2C70 transparent transparent;
	translate: -50% 100%;
}

#support .tool-box .mother-box .mother-img {
	text-align: center;

}

#support .tool-box .mother-box .mother-img img {
	width: 75px;
}

#support .tool-box .arrow {
	position: relative;
	margin-bottom: 1rem;
	text-align: center;
}

#support .tool-box .arrow::after {
	content: "";
	position: absolute;
	top: -3px;
	left: 50%;
	z-index: 1;
	border-style: solid;
	border-width: 32px 100px 0 100px;
	border-color: #ffded9 transparent transparent;
	transform: translateX(-50%);

}

#support .tool-box .arrow span {
	position: relative;
	z-index: 10;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	color: #fa5a41;
}

#support .support-number {
	display: inline-block;
	margin-bottom: 8px;
}

#support .support-number .inner {
	padding: 0.5em 0.7em;
	background-color: #fa6e41;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1;
	color: #fff;
}

#support .tool-name-box {
	margin-bottom: 7px;
	padding: 2px 0 2px 6px;
	border-left: 8px solid #263e9e;
}

#support .tool-name-box .desc {
	font-size: 0.85rem;
	font-weight: bold;
	color: #1B2C70;

}

#support .tool-name-box .name {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.3;
}

#support .tool-name-box .name .large {
	font-size: 1.25em;
}

#support .tool-name-box .name .small {
	font-size: 0.7em;
}

#support .tool-text-box {
	margin-bottom: 1rem;
}
#support .tool-text-box p {
	font-size: 1.1rem;
}


/*--------------------
ソウガクの4つの安心
--------------------*/

#reliable {
	margin-bottom: 6rem;
}

#reliable .reliable-title {
	font-size: 2.1rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.05em;
}

#reliable .reliable-title .color {
	color: #f84500;
}

#reliable .reliable-title .number {
	font-size: 1.7em;
}

#reliable .reliable-lead-text {
	margin-bottom: 1rem;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}

#reliable .reliable-scroll {
	display: flex;
	width: 100%;
	max-width: 1600px;
	margin-left: auto;
	margin-right: auto;
}

#reliable .reliable-scroll .column {
	width: 90%;
	/*margin: 10px 7px 15px;*/
	margin: 10px 15px 15px;/*オンライン*/
	padding: 1.5rem 1.5rem;
	background-color: #fff;
	/*border: 1px solid #ffeee8;*/
	/*box-shadow: 0px 0px 16px -3px rgba(160, 32, 41, 0.2);*/
	box-shadow: 0px 0px 16px -3px rgba(0, 0, 0, 0.2);/*オンライン*/
	border-radius: 10px;
}

#reliable .reliable-scroll .column .number {
	display: block;
	/*width: 5em;*/
	width: 7em;/*オンライン*/
	margin: 0 auto 0.5rem;
	padding: 0.2em 0;
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
	color: #fff;
	letter-spacing: 0.1em;
	/*background-color: #fa6e41;*/
	background-color: #00bcd1;/*オンライン*/
	border-radius: 5px;
}

#reliable .reliable-scroll .column .title {
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	/*color: #f84500;*/
	color: #00bcd1;/*オンライン*/
}

#reliable .reliable-scroll .column .title span {
	display: block;
}

#reliable .reliable-scroll .column .img-box img {
	display: block;
	width: 60%;
	/*max-width: 160px;*/
	max-width: 200px;
	margin: 0 auto;
}

#reliable .reliable-scroll .column .text-box p {
	font-size: 1rem;
}

/*--------------------
古い）北海道専門家庭教師だからこその強み
--------------------*/
/*
#hokkaido .campaign-box .moreover {
	text-align: center;
}

#hokkaido .campaign-box .moreover span {
	position: relative;
	text-align: center;
	font-weight: bold;
	line-height: 1.3;
	font-size: 1.3rem;
}

#hokkaido .campaign-box .moreover span::before,
#hokkaido .campaign-box .moreover span::after {
	position: relative;
	display: inline-block;
	content: "";
	background: #1b2c70;
	width: 2px;
	height: 1.2em;
	margin: 0 0.5em;
	margin-top: -0.2em;
	vertical-align: middle;
}

#hokkaido .campaign-box .moreover span::before {
	transform: rotate(-30deg);
}

#hokkaido .campaign-box .moreover span::after {
	transform: rotate(30deg);
}
#hokkaido .campaign-box .campaign-bnr{
	display: block;
	width: 95%;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}
*/




/*--------------------
料金 ver2
--------------------*/
#fee2 {
	padding: 3.5rem 0 2.5rem;
	background-color: #f2f3f9;

}

#fee2 .fee2-lead-text {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 1.5rem;
	font-size: 1.2rem;
	font-weight: bold;
}

#fee2 .fee2-lead-text br {
	display: none;
}

#fee2 .fee-inner {
	width: 90%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

#fee2 .fee-tile {
	margin-bottom: 1rem;
	padding: 1.5rem;
	background-color: #fff;
	box-shadow: 0px 2px 16px -3px rgba(31, 85, 163, 0.15);
	border-radius: 7px;
}

#fee2 .fee-tile-2boxes {
	margin-bottom: 2rem;
}

#fee2 .fee-inner-title {
	margin-bottom: 1rem;
	text-align: center;
}

#fee2 .fee-inner-title span {
	display: block;
	width: 100%;
	padding: 0.35em 0;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	color: #fff;
	letter-spacing: 0.05em;
	background-color: #1b2c70;
}

#fee2 .fee-ex-title {
	display: block;
	margin-bottom: 1rem;
	font-size: 1.3rem;
	font-weight: bold;
	text-align: center;
}

#fee2 .price-boxes .box {
	margin-bottom: 2rem;
}

#fee2 .price-boxes .box .year-title_pc {
	display: none;
}

#fee2 .price-boxes .box .box-inner {
	display: flex;
	justify-content: center;
}

#fee2 .price-boxes .box .img-box {
	width: 28%;
	margin-right: 2%;
	text-align: right;
}

#fee2 .price-boxes .box .img-box img {
	width: 90%;
	max-width: 110px;
}

#fee2 .price-boxes .box .text-box {
	display: flex;
	flex-direction: column;
	justify-content: center;

}

#fee2 .price-boxes .box .text-box .year-title_sp {
	margin-bottom: 5px;
}

#fee2 .price-boxes .box .text-box .year-title_sp span {
	display: inline-block;
	padding: 0.35em 0.7em;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.06em;
	color: #fff;
	background-color: #1b2c70;
	border-radius: 5px;
}

#fee2 .price-boxes .box .text-box .price {
	font-weight: bold;
	font-size: 1rem;
}

#fee2 .price-boxes .box .text-box .price .month {
	font-size: 1.2em;
	line-height: 1;
}

#fee2 .price-boxes .box .text-box .price .numeral {
	margin-left: -3px;
	font-size: 3em;
	line-height: 1;
	color: #fa5a41;
}

#fee2 .price-boxes .box .text-box .price .yen {
	font-size: 1.2em;
	line-height: 1;
}

#fee2 .price-caution {
	font-size: 0.8rem;
	text-align: right;
	margin-bottom: 0.4rem;
}

#fee2 ul.price-note {
	list-style: disc;
	margin-left: 1.5em;
	font-size: 1rem;
}

#fee2 .discount-title {
	display: inline-block;
	margin-bottom: 0.3rem;
	padding: 0.1em 0.5em;
	font-size: 1.2rem;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.1em;
	background-color: #fa6e41;
	border-radius: 5px;
}

#fee2 .discount-list {
	margin: 0 0 1rem 1.5em;
	font-size: 1rem;
	list-style: disc;
}

#fee2 .grade-up {
	font-size: 1.1rem;
	font-weight: bold;
}



#fee2 .text-yen0-box {
	display: flex;
	width: 100%;
	margin-bottom: 0.5rem;
}

#fee2 .text-yen0-box .text-box {
	display: flex;
	width: 76%;
}

#fee2 .text-yen0-box .text-box table.types {
	width: 100%;
	height: 100%;
}

#fee2 .text-yen0-box .text-box table.types,
#fee2 .text-yen0-box .text-box table.types td {
	border: 4px solid #f2f3f9;
}

#fee2 .text-yen0-box .text-box table.types td {
	padding: 0.3em 0.1em;
	text-align: center;
	vertical-align: middle;
	font-size: 1.2rem;
	font-weight: bold;
	color: #1b2c70;
}

#fee2 .text-yen0-box .yen0-box {
	display: flex;
	align-items: flex-end;
	width: 22%;
}

#fee2 .text-yen0-box .yen0-box .zero-yen {
	text-align: right;
	font-weight: bold;
	vertical-align: baseline;
}

#fee2 .text-yen0-box .yen0-box .zero-yen .zero {
	font-size: 6.5rem;
	color: #fa5a41;
	line-height: 5rem;

}

#fee2 .text-yen0-box .yen0-box .zero-yen .yen {
	margin-left: -5px;
	font-size: 1.2rem;
	line-height: 1;
}

#fee2 .text-yen0-box .text-box .text {
	font-size: 1rem;
	font-weight: bold;
	color: #1b2c70;
}

#fee2 .desc-text {
	font-size: 1rem;
}

#fee2 .fee-reason-title {
	margin-bottom: 0.8rem;
	padding-top: 1.2rem;
	font-size: 1.7rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}


#fee2 .fee-reason-title span.marker {
	background: linear-gradient(rgba(255, 249, 133, 0) 60%, #ffea00 50%);
}

#fee2 .fee-reason-title span.marker span {
	display: inline-block;
}

#fee2 .fee-reason-boxes {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 1.5rem;
}

#fee2 .fee-reason-boxes .fee-tile {
	width: 48%;
	padding: 1rem 0.5rem 1rem;
	border-radius: 1rem;

}

#fee2 .fee-reason-boxes .fee-reason-number {
	display: block;
	margin-bottom: 0.5rem;
	text-align: center;
}

#fee2 .fee-reason-boxes .fee-reason-number span {
	display: inline-block;
	padding: 0.5em 0.5em;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #fff;
	background-color: #1b2c70;
	border-radius: 5px;
}

#fee2 .fee-reason-boxes .text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 4.5em;
	font-size: 1.3rem;
	text-align: center;
	line-height: 1.5em;
	font-weight: bold;
}

#fee2 .select-box .fee-tile .mother-box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.5rem;
}

#fee2 .select-box .fee-tile .mother-img {
	width: 15%;
}

#fee2 .select-box .fee-tile .mother-img img {
	width: 100%;
}

#fee2 .select-box .fee-tile .mother-text {
	width: 85%;
}

#fee2 .select-box .fee-tile .mother-text .ballon {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 3em;
	padding-left: 8px;
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	color: #fff;
	background-color: #1B2C70;
	border-radius: 5px;
}

#fee2 .select-box .fee-tile .mother-text .ballon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: -10px;
	border-style: solid;
	border-width: 6px 7px 6px 0;
	border-color: transparent #1B2C70 transparent;
	translate: 100% -50%;
}


/*--------------------
他社との比較
--------------------*/
#comparison {
	padding: 4rem 0;

}

#comparison .comparison-lead-text {
	width: 90%;
	margin: 0 auto 1rem;
	font-size: 1.1rem;
}

#comparison .comparison-box {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 1rem;
	padding: 2rem 1rem;
	border: 1px solid #f0f0f0;
	background-color: #fff;
	border-radius: 7px;
	box-shadow: 0px 2px 16px -3px rgba(31, 85, 163, 0.15);
}

#comparison .comparison-box figcaption {
	margin-bottom: 1rem;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}

#comparison .comparison-box .comparison-img {
	display: block;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}




/*--------------------
古い）講師紹介
--------------------*/
/*
#tutor {
	padding: 2rem 0 2rem;
}

#tutor .tutor-lead-text {
	width: 90%;
	margin: 0 auto 1rem;
	font-size: 1.3rem;
	font-weight: bold;
}

#tutor .movie-contents {
	width: 90%;
	max-width: 960px;
	text-align: center;
	margin: 0 auto;
}

#tutor .movie-contents video {
	width: 100%;
}

#tutor .movie-contents .tutor-name {
	font-size: 1.2rem;
	font-weight: bold;
}

#tutor .movie-contents .tutor-name span:first-child {
	margin-right: 0.5em;
}

*/


/*--------------------
FAQ
--------------------*/
#faq {
	/*padding: 4rem 0 7rem;*/
}

.faq-list {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;

}

.faq-box {
	margin-bottom: 15px;
	border-radius: 7px;
	background-color: #fff;
	border: 1px solid #f0f0f0;
	box-shadow: 0px 2px 16px -3px rgba(31, 85, 163, 0.15);
}

.faq-box summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 1.2em 1.5em 1.2em 2.7em;
	font-size: 1.1rem;
	font-weight: bold;
	cursor: pointer;
	list-style: none;
}

.faq-box summary::-webkit-details-marker {
	display: none;
}

.faq-box summary::before,
.faq-box p::before {
	position: absolute;
	left: 0.5rem;
	font-size: 1.3rem;
}

.faq-box summary::before {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	/*color: #263e9e;*/
	color: #00bcd1;/*オンライン*/
	/*background-color: #e5e8f3;*/
	background-color: #d3eef2;
	border-radius: 50%;
	content: "Q";
}

.faq-box summary::after {
	transform: translateY(-25%) rotate(45deg);
	width: 12px;
	height: 12px;
	margin-left: 10px;
	/*border-bottom: 3px solid #1b2c70;
	border-right: 3px solid #1b2c70;*/
	border-bottom: 3px solid #00bcd1;
	border-right: 3px solid #00bcd1;
	content: '';
	transition: transform .5s;
}

.faq-box[open] summary::after {
	transform: rotate(225deg);
}

.faq-box p {
	position: relative;
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 0 1em 1em 3em;
	transition: transform .5s, opacity .5s;
}

.faq-box[open] p {
	transform: none;
	opacity: 1;
}

.faq-box p::before {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	font-weight: bold;
	color: #eb673d;
	background-color: #fdede8;
	border-radius: 50%;
	content: "A";
}




















/*-----------------------------------------------------------------------------------------------------------------------------------------------
運営方針
------------------------------------------------------------------------------------------------------------------------------------------------*/

#management-policy {
	margin-bottom: 6rem;
}

#management-policy .management-policy_text-box {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 1rem;
	border: 2px dotted #00bcd1;
}

#management-policy .management-policy_text-box {
	font-weight: bold;
}

#management-policy .management-policy_text-box {
	font-size: 0.9rem;
}


#management-policy ul, ol {
	list-style-type: disc;
	color: #333333;
	padding: 0.5em 0 0.5em 1.5em;
}

#management-policy ul li, ol li {
  line-height: 1.5;
  padding: 0.5em 0;
}	
	




















/*--------------------
無料体験授業の流れ
--------------------*/
#flow {
	margin-bottom: 6rem;
}

#flow .flow-lead-text {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 1rem;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
}

#flow .flow-box {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 1rem;
}

#flow .flow-box .column {
	position: relative;
	margin-bottom: 20px;
	padding: 1rem;
	background-color: #fff;
	/*border: 1px solid #ffeee8;
	box-shadow: 0px 0px 16px -3px rgba(160, 32, 41, 0.2);*/
	box-shadow: 0px 0px 16px -3px rgba(0, 0, 0, 0.2);/*オンライン*/
	border-radius: 10px;
}

#flow .flow-box .column::after {
	content: "";
	position: absolute;
	bottom: -5px;
	left: 50%;
	border-style: solid;
	border-width: 13px 15px 0 15px;
	/*border-color: #fa6e41 transparent transparent;*/
	border-color: #00bcd1 transparent transparent;/*オンライン*/
	translate: -50% 100%;
}

#flow .flow-box .column:last-child::after {
	content: none;
}

#flow .flow-box .column .inner-box {
	display: flex;
	flex-direction: column;
}

#flow .flow-box .column .title-box {
	width: 15rem;
	margin: 0 auto 0.6rem;
	padding: 0.5rem 0 0.1rem;
	text-align: center;
	/*background-color: #fa6e41;*/
	background-color: #00bcd1;/*オンライン*/
	border-radius: 5px;
}

@media (max-width: 780px) {
#flow .flow-box .column .title-box {width: 100%;}	
}



#flow .flow-box .column .step-number {
	display: block;
	width: 6em;
	margin: 0 auto 0.1rem;
	font-weight: bold;
	/*color: #fa6e41;*/
	color: #00bcd1;/*オンライン*/
	background-color: #fff;
	border-radius: 5px;
}

#flow .flow-box .column .step-title {
	font-size: 1.3rem;
	font-weight: bold;
	color: #fff;
}

#flow .sogaku-trial-tutor {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 1rem;
	font-size: 1.1rem;
	font-weight: bold;
}

#flow .notice-box {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 1rem;
	border: 2px dotted #fa6e41;
}

#flow .notice-box .main-text {
	font-weight: bold;
}

#flow .notice-box .note-text {
	font-size: 0.9rem;
}





/*--------------------
無料体験授業のお申込み
--------------------*/
#trial {
	padding: 2rem 0 1.5rem;
}

#trial .trial-lead-text {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 1rem;
	font-size: 1rem;
}

#trial .trial-btns {
	width: 70%;
	margin: 0 auto 2.5rem;
}

#trial .btn-go {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 0.8rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	border-radius: 7px;
	background-repeat: no-repeat;
	background-position: left 17px center;
	box-shadow: 0px 5px 5px -2px rgba(50, 50, 50, 0.2);
}


#trial .btn-go.line,
#trial .btn-go.form {
	position: relative;
	height: 55px;
	padding-left: 10px;
	font-size: 1.3rem;
	color: #fff;
}

#trial .btn-go.line {
	background-color: #06c755;
}

#trial .btn-go.form {
	background-color: #eb673d;
}

#trial .btn-go.line span,
#trial .btn-go.form span {
	position: absolute;
	display: flex;
	align-items: center;
	height: 30px;
	line-height: 1;

}

#trial .btn-go.line span::before,
#trial .btn-go.form span::before {
	position: absolute;
	content: "";
	background-repeat: no-repeat;
	background-position: left center;
}

#trial .btn-go.line span::before {
	left: -35px;
	width: 30px;
	height: 30px;
	background-image: url(../images/icon-line-white.svg);
	background-size: 30px auto;
}

#trial .btn-go.form span::before {
	left: -30px;
	width: 25px;
	height: 20px;
	background-image: url(../images/icon-mail-white.svg);
	background-size: 25px auto;
}

#trial .btn-go::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 14px;
	width: 8px;
	height: 8px;
}


#trial .btn-go.line::after,
#trial .btn-go.form::after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(135deg);
}


#trial .trial-box {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto 1rem;
	padding: 2.5rem 1rem 3rem;
	border: 1px solid #f0f0f0;
	background-color: #fff;
	border-radius: 7px;
	box-shadow: 0px 2px 16px -3px rgba(31, 85, 163, 0.15);

}


#trial .title-line,
#trial .title-form {
	margin-bottom: 0.6rem;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}

#trial .title-line {
	color: #05b84f;
}

#trial .title-form {
	/*color: #fa6e41;*/
	color: #333333;
}

#trial .mobile-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 90%;
	height: 90px;
	max-width: 400px;
	margin: 0 auto 0.3rem;
	padding-left: 25px;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 0.02em;
	color: #fff;
	background-color: #06c755;
	border-radius: 7px;
	box-shadow: 0px 5px 5px -2px rgba(50, 50, 50, 0.2);
}

#trial .mobile-btn span {
	position: relative;
	display: flex;
	align-items: center;
	height: 30px;
	line-height: 1;
}

#trial .mobile-btn span::before {
	position: absolute;
	content: "";
	left: -40px;
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-position: left center;
	background-image: url(../images/icon-line-white.svg);
	background-size: 35px auto;
}

#trial .pc-line-box {
	display: none;
}

#trial .form-lead-text {
	margin-bottom: 0.5rem;
	font-size: 1rem;
	text-align: center;
}

#trial #form {
	max-width: 1000px;
	margin: 0 auto;
}

/*---- フロー -----*/
.form-flow {
	display: flex;
	justify-content: space-between;
	width: 90%;
	max-width: 900px;
	/*height: 50px;*/
	height: 65px;
	margin: 0 auto 2.4rem;
	list-style: none;
}

.form-flow li {
	width: calc(100% / 3);
	background: #f2f2f2;
	line-height: 50px !important;
	text-align: center;
	position: relative;
	font-size: 1.1rem;
	font-weight: bold;
	color: #737373;
}

.form-flow li:not(:first-child):not(:last-child) {
	padding: 0 0 0 10px;
}

.form-flow li::before,
.form-flow li::after {
	content: "";
	width: 0;
	height: 0;
	display: block;
	position: absolute;
}

.form-flow li::before {
	border: solid 32px transparent;
	border-right: solid 18px transparent;
	border-left: solid 18px #fff;
	top: -7px;
	left: 0;
	z-index: 1;
}

.form-flow li::after {
	border: solid 25px transparent;
	border-left: solid 14px #f2f2f2;
	border-right: solid 14px transparent;
	top: 0;
	right: -28px;
	z-index: 2;
}

.form-flow li:first-child::before,
.form-flow li:last-child::after {
	content: none;
}

.form-flow li.current {
	/*background: #fa6e41;*/
	background: #00bcd1;/*オンライン*/
	color: #FFF;
}

.form-flow li.current::after {
	/*border-left: solid 14px #fa6e41;*/
	border-left: solid 14px #00bcd1;
}

.form-flow.navy li.current {
	background-color: #1b2c70;
}

.form-flow.navy li.current::after {
	border-left: solid 14px #1b2c70;
}


/*-------サンクスページ--------*/

#page-thanks {
	margin-bottom: 4rem;
}

#page-thanks .form-flow {
	max-width: 740px;
	margin-bottom: 2rem;
}

#page-thanks .thanks-title {
	margin-bottom: 1.5rem;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
}

#page-thanks .call-number {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 1rem;
	font-size: 1.3rem;
	font-weight: bold;
}

#page-thanks .sogaku-time-tel {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 1rem;
	font-size: 1.1rem;
}

#page-thanks .time-tomorrow {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 2rem;
	font-size: 1.1rem;
}

#page-thanks .btn-go-top {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 75%;
	max-width: 340px;
	margin: 0 auto;
	height: 55px;
	font-size: 1.2rem;
	font-weight: bold;
	color: #fff;
	background-color: #1b2c70;
	border-radius: 7px;
	box-shadow: 0px 5px 6px -2px rgba(50, 50, 50, 0.3);
}

#page-thanks .btn-go-top::before {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 14px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}






/* サンクスページ：案内ボックス */
.thanks-boxes {
    max-width: 900px;
    margin: 24px auto 32px;
    display: grid;
    gap: 20px;
}

@media (min-width: 768px) {
    .thanks-boxes {
        grid-template-columns: 1fr 1fr;
    }
}

.thanks-box {
    background: #fff;
    border-radius: 12px;
    padding: 20px 22px;
    border: 2px solid #e4edf9;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

/* 体験授業ボックスを少しだけ強調（色はお好みで調整） */
.thanks-box--trial {
    border-color: #1e67d6;
    background: #f5f9ff;
}

.thanks-box__title {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.thanks-box__text {
    font-size: 1.4rem;
    line-height: 1.9;
}













/*--------------------------------
下階層
--------------------------------*/

/*-------下階層共通--------*/
#page-under #header-box {
	margin-bottom: 3rem;
	padding-top: 8px;
	background-color: #f2f2f2;
}

#page-under #header-box .page-title {
	height: 150px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
	font-weight: bold;
}

/*-------会社概要--------*/
#page-company {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 4rem;
}

#page-company .section-title {
	margin-bottom: 1.1rem;
	padding-bottom: 0.4em;
	font-size: 1.4rem;
	font-weight: bold;
	color: #1b2c70;
	text-align: center;
	background: linear-gradient(90deg, #eb673d 0% 50%, #1b2c70 50%);
	background-repeat: no-repeat;
	background-size: 4rem 4px;
	background-position: bottom;
}

#page-company .company-table-box {
	width: 90%;
	max-width: 800px;
	margin: 0 auto 3rem;
}

#page-company .company-table-box table {
	width: 100%;
}

#page-company .company-table-box tr,
#page-company .company-table-box th,
#page-company .company-table-box td {
	display: block;
	width: 100%;
}

#page-company .company-table-box tr {
	margin-bottom: 1.5rem;
}

#page-company .company-table-box th {
	padding-bottom: 0.2rem;
	font-size: 1.2rem;
	font-weight: bold;
	background: linear-gradient(90deg, #eb673d 0% 30%, #1b2c70 30%);
	background-repeat: no-repeat;
	background-size: 100% 2px;
	background-position: bottom;
}

#page-company .company-table-box td {
	padding-top: 0.2rem;
}

#page-company .company-table-box td ul {
	margin-left: 1.2em;
	list-style: disc;

}

/*-------個人情報保護方針--------*/
#page-policy {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 4rem;
}

#page-policy .under-section-title {
	margin-bottom: 0.6rem;
	padding-bottom: 0.3rem;
	font-size: 1.8rem;
	font-weight: bold;
	color: #1b2c70;
	line-height: 1.4;
	background: linear-gradient(90deg, #eb673d 0% 30%, #1b2c70 30%);
	background-repeat: no-repeat;
	background-size: 100% 2px;
	background-position: bottom;
}

#page-policy .under-section-title-2nd {
	font-size: 1.4rem;
	font-weight: bold;
}

#page-policy .section-text-box {
	margin-bottom: 4rem;
}

#page-policy .text-box {
	margin-bottom: 1.5rem;
}

#page-policy .text-box p {
	margin-bottom: 1rem;
}

#page-policy .text-box ol {
	margin-left: 1.2em;
	list-style: decimal;
}

#page-policy .text-box li {
	margin-bottom: 0.5em;
}

#page-policy .text-box li p {
	margin-left: 0.5em;
}

#page-policy .text-box ol.brackets {
	margin-left: 2rem;
}

#page-policy .text-box ol.brackets li {
	counter-increment: cnt;
	position: relative;
	list-style: none;
}

#page-policy .text-box ol.brackets li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: counter(cnt) " )";
	display: inline-block;
	width: 3em;
	margin-left: -3.5em;
	text-align: right;
}

#page-policy .policies-google {
	padding: 1rem 1.5rem;
	border: 1px solid #ccc;
}

#page-policy .policies-title {
	margin-bottom: 0.5rem;
	font-size: 1.1rem;
	font-weight: bold;
}

#page-policy .policies-img a {
	display: flex;
	align-items: center;
}

/*--------------------
モバイル用フローティングCTA
--------------------*/
#footer-cta_mobile {
	z-index: 90;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 74px;
	transition: 1s;
}

#footer-cta_mobile.cta-hide {
	transform: translateY(80px);
}

#footer-cta_mobile .inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 95%;
	height: 74px;
	max-width: 470px;
	margin-right: auto;
	margin-left: auto;
	padding: 0 0.5rem 0.2rem;
	background-color: #1b2c70;
	border-radius: 5px 5px 0 0;
	text-align: center;
	box-shadow: 0px 0px 10px -3px rgba(31, 85, 163, 0.15);
}

#footer-cta_mobile .inner img {
	display: block;
	width: 90%;
	max-width: 370px;
	margin-left: auto;
	margin-right: auto;
}


/* 常時表示に固定（.cta-hideを無効化）2025-8-19に記載　もとに戻す場合はこちらの記述を削除 */
#footer-cta_mobile,
#footer-cta_mobile.cta-hide {
  transform: translateY(0) !important;
}



/*--------------------
PC用フローティングCTA
--------------------*/
#footer-cta_pc {
	display: none;
}







/*--------------------
ソウガク専用 CTA キャッチコピー
--------------------*/
.sogaku-cta-block__catch {
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.8;
    color: #333;
    font-weight: 600;
    margin: 2.5rem auto;
}

/* CTAボタン中央寄せ */
.sogaku-cta-btn {
    display: inline-block;
    background-color: #007af6;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    padding: 1.2rem 2.8rem;
    border-radius: 9999px;
    text-align: center;
    text-decoration: none;
    margin: 0rem auto 0; /* ← 上の余白を減らす＋中央寄せ */
    transition: 0.25s ease;

    /* 中央寄せに必要！ */
    left: 50%;
    transform: translateX(-50%);
    position: relative;
}

.sogaku-cta-btn:hover {
    background-color: #218efc;
}

/* キャッチとボタンの間隔をさらに詰める */
.sogaku-cta-block__catch {
    margin-bottom: 0.8rem; /* ← ボタンとの距離を小さく */
}

/* スマホ時の調整 */
@media screen and (max-width: 600px) {
    .sogaku-cta-btn {
        font-size: 1.4rem;
        padding: 1rem 2.2rem;
    }

    .sogaku-cta-block__catch {
        margin-bottom: 0.6rem;
		font-size: 1.0rem;
    }
}













/*----画面サイズが小さいスマホ用CSS======================================================================================================================================================--*/
@media screen and (max-width:360px) {

	html {
		font-size: 12px;
	}

	/*↓画面サイズが小さいスマホ用CSS閉じタグ*/
}

/*----画面サイズが大さいスマホ用CSS======================================================================================================================================================--*/
@media screen and (min-width: 400px) {

	html {
		font-size: 15px;
	}


	/*↓画面サイズが大さいスマホ用CSS閉じタグ*/
}

/* 600px〜：タブレット用CSS ======================================================================================================================================================--*/
@media screen and (min-width: 600px) {

	html {
		font-size: 16px;
	}

	.pc-none {
		display: none;
	}

	.pc-block {
		display: block;
	}

	.sp-none {
		display: block;
	}

	br.sp-only {
		display: none;
	}


	/*--------------------------------
ヘッダー
--------------------------------*/
	#header .cta-btn {
		/*padding: 0 1rem;*/
		padding: 0 2rem;
		letter-spacing: 0.05em;
		line-height: 1.2;
	}

	/*--------------------------------
フッター
--------------------------------*/
	#footer {
		padding-bottom: 18px;
	}

	/*--------------------
アイキャッチ
--------------------*/
	.eye-catch .sp-box {
		display: none;
	}

	.eye-catch .pc-box {
		display: block;
		background-image: url(../images/eye-catch_pc_photo_online.jpg);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center top;
	}

	/*--------------------
CTA
--------------------*/
	.cta-box .box {
		width: 80%;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
	}

	.cta-box .btn {
		background-position: left 60px center;
	}

	/*--------------------
各セクションのタイトル
--------------------*/
	.section-lead-text {
		font-size: 1.2rem;
	}


	/*--------------------
新）添う学
--------------------*/

	#sou-gaku .future-is {
		font-size: 2.4rem;
	}

	#sou-gaku .future-is .sp-none {
		display: inline;
	}

	#sou-gaku .sou-gaku_text-box {
		width: calc(100% - 8%);
		margin: 0 0 0 8%;
		padding: 0;
		background-position: left calc(50% + 150px) bottom 0;
		background-size: contain;
	}

	#sou-gaku .sou-gaku_text-box .text-box {
		width: 50%;
		padding: 1rem 0 0 0;
		background-color: inherit;
	}

	#sou-gaku .sou-gaku_text-box .text-box p {
		font-size: 1.2rem;
		line-height: 1.8em;
	}

	/*--------------------
新）喜びの声
--------------------*/
	#voice2 .student-photo-upper.photo-left1 {
		display: inline;
		left: 50px;
		width: 80px;

	}

	#voice2 .student-photo-upper.photo-left2 {
		left: 120px;
		bottom: 60px;
	}

	#voice2 .student-photo-upper.photo-right1 {
		right: 120px;
		bottom: 60px;
	}

	#voice2 .student-photo-upper.photo-right2 {
		display: inline;
		right: 50px;
		width: 80px;
	}

	#voice2 .voice2-scroll .thoughts-title {
		/*font-size: 1.15rem;*/
		font-size: 0.9rem;/*オンライン*/
		margin: 15px 0px;
	}

	#voice2 .student-photo-bottom-box {
		width: 90%;
	}

	#voice2 .student-photo-bottom-box .student-photo-bottom img {
		width: 80%;
	}
	#voice2 .student-photo-bottom-box .student-photo-bottom:nth-last-child(-n+2){
		display: block;
	}
	#voice2 .results-title-box .results-title-photo {
		display: none;
	}

	#voice2 .results-img-box {
		position: relative;
	}

	#voice2 .results-img-box .results-img-photo {
		position: absolute;
		display: inline;
	}

	#voice2 .results-img-box .results-img-photo.photo-upper-left {
		top: -50px;
		left: 5%;
		width: 160px;
	}

	#voice2 .results-img-box .results-img-photo.photo-upper-right {
		top: -50px;
		right: 5%;
		width: 110px;
	}

	#voice2 .results-img-box .results-img-photo.photo-under-left {
		bottom: 20px;
		left: 5%;
		width: 160px;
	}

	#voice2 .results-img-box .results-img-photo.photo-under-right {
		bottom: 20px;
		right: 5%;
		width: 130px;
	}

	#voice2 .results-img-box .inner-box {
		justify-content: center;
	}

	#voice2 .results-img-box .inner-box .column {
		width: 31%;
	}

	#voice2 .results-img-box .inner-box .column:first-child {
		margin-left: 15%;
	}

	#voice2 .results-img-box .inner-box .column:nth-child(2) {
		margin-right: 15%;
	}

	#voice2 .results-img-box .inner-box .column:last-child {
		display: none;
	}

	/*--------------------
新）北海道専門家庭教師だからこそできるサービス・強み
--------------------*/
	#hokkaido .hokkaido-inner {
		width: 85%;
		padding: 2rem 0 3rem;
	}

	#hokkaido .hokkaido-title {
		font-size: 2.2rem;
	}

	#hokkaido .strong-icon-box .text {
		font-size: 1.5rem;
	}

	#hokkaido .strong-texts-box {
		background-size: contain;
		background-position: right 0 bottom 0;
	}

	#hokkaido .strong-texts-box .strong-title .number {
		height: 2rem;
	}

	#hokkaido .strong-texts-box .strong-title .title {
		font-size: 1.6rem;
		font-weight: bold;
	}

	#hokkaido .free-book-box .text-box {
		padding: 0 2rem;
	}

	#hokkaido .free-book-box .free-title {
		font-size: 1.5rem;
	}

	#hokkaido .free-book-box .free-title span {
		display: block;
	}

	#hokkaido .free-book-box .free-title span.back-color {
		display: inline-block;
		padding: 0.2em 0.7em;
		background-color: #1b2c70;
	}

	#hokkaido .free-book-box .free-title span.back-color span {
		display: inline;
		padding: 0;
	}

	#hokkaido .free-book-box .free-title span.tb-inline {
		display: block;
	}

	#hokkaido .campaign-box .moreover {
		display: none;
	}

	#hokkaido .assured-box {
		flex-direction: row;
		align-items: stretch;
	}

	#hokkaido .assured-box .assured-title {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100px;
		font-size: 1.2rem;
		letter-spacing: 0.05em;
		white-space: nowrap;
	}

	#hokkaido .assured-box .assured-text {
		width: calc(100% - 108px);
		padding-left: 8px;

	}


	/*--------------------
新）家庭教師紹介
--------------------*/
	#tutor2 .tutors-support .br-tb-none {
		display: none;
	}

	#tutor2 .tutor2-scroll .comment-title {
		height: 4em;
		font-size: 1rem;

	}


	/*--------------------
新）ソウガクの学習最適化ツール
--------------------*/
	#support .support-message {
		font-size: 1.2rem;
		font-weight: bold;
		text-align: center;
	}

	#support .support-message br {
		display: inline-block;
	}

	#support .all-free {
		margin-bottom: 0;
	}

	#support .all-free br {
		display: none;
	}

	#support .use-free_sp br {
		display: none;
	}

	#support .use-free_sp {
		margin-bottom: 1.5rem;
	}

	#support .tool-box {
		position: relative;
		flex-direction: row;
	}
	#support .tool-box-add-img.column3 .column .img-title{
		font-size: 0.9rem;
		letter-spacing: 0.05em;
	}
	#support .tool-box .main-img-box {
		display: flex;
		align-items: flex-end;
		width: 38%;
		padding-bottom: 30px;
	}

	#support .tool-box .main-img-box img {
		width: 95%;
	}

	#support .tool-box .text-box {
		width: 60%;
	}

	#support .tool-box .mother-box .worry-text span.sp-il-block {
		display: inline;
	}

	#support .support-number {
		position: absolute;
		left: 0;
		top: 1.5rem;
		margin-bottom: 0;
	}

	#support .support-number .inner {
		position: relative;
		display: inline-block;
		height: 50px;
		line-height: 50px;
		padding: 0 1.5em 0 1em;
	}

	#support .support-number .inner:after {
		position: absolute;
		content: '';
		width: 0px;
		height: 0px;
		z-index: 1;
	}

	#support .support-number .inner:after {
		top: 0;
		right: -1px;
		border-width: 25px 15px 25px 0px;
		border-color: transparent #fdf3f0 transparent transparent;
		border-style: solid;
	}




	/*--------------------
料金 ver2
--------------------*/
	#fee2 .fee2-lead-text,
	#fee2 .fee-inner {
		width: 85%;
	}

	#fee2 .fee2-lead-text {
		text-align: center;
	}

	#fee2 .fee2-lead-text br {
		display: inline-block;
	}

	#fee2 .fee-tile {
		padding: 1.5rem 2.5rem;
	}

	#fee2 .fee-inner-title span {
		padding: 0.5em 0;
	}

	#fee2 .price-boxes .box {
		margin-bottom: 3rem;
	}

	#fee2 .price-boxes .box .text-box .price {
		font-size: 1.2rem;
	}

	#fee2 .price-boxes .box .img-box {
		width: 35%;
	}

	#fee2 .price-boxes .box .text-box {
		width: 63%;
	}

	#fee2 .text-yen0-box .text-box {
		justify-content: space-between;
	}

	#fee2 .text-yen0-box .yen0-box {
		justify-content: flex-end;
	}

	#fee2 .text-yen0-box .yen0-box .zero-yen .zero {
		font-size: 7.5rem;
	}

	#fee2 .text-yen0-box .text-box .text {
		font-size: 1.2rem;
	}

	#fee2 .fee-reason-title {
		padding-top: 2rem;
		letter-spacing: 0.05em;
	}

	#fee2 .select-box .fee-tile .mother-box {
		align-items: center;
	}

	#fee2 .select-box .fee-tile .mother-text {
		width: 84%;
	}

	#fee2 .select-box .fee-tile .mother-text .ballon {
		height: 3.8em;
		padding-left: 20px;
		font-size: 1.1rem;

	}

	/*--------------------
他社との比較
--------------------*/
	#comparison .comparison-lead-text {
		width: 85%;
		font-size: 1.2rem;
	}

	#comparison .comparison-box {
		width: 85%;
	}

	#comparison .comparison-box .comparison-img {
		width: 90%;
	}

	/*--------------------
FAQ
--------------------*/

	.faq-list {
		width: 85%;
	}

	#flow .flow-box {
		width: 85%;
	}


	/*--------------------
無料体験授業の流れ
--------------------*/
	#flow .flow-lead-text {
		width: 85%;
	}

	#flow .flow-box .column {
		padding: 1.5rem 2rem;
	}

	#flow .sogaku-trial-tutor {
		width: 85%;
	}

	#flow .notice-box {
		width: 85%;
	}

	/*--------------------
無料体験授業のお申込み
--------------------*/
	#trial .trial-btns {
		display: flex;
		justify-content: space-between;
		max-width: 700px;
	}

	#trial .btn-go.line,
	#trial .btn-go.form {
		width: 48%;
		height: 65px;
		font-size: 1.1rem;
	}

	#trial .trial-lead-text {
		width: 85%;
	}

	#trial .form-lead-text {
		margin-bottom: 0.5rem;
	}

	#trial .trial-box {
		width: 85%;
		padding: 2rem 2rem;

	}

	/*--------------------
モバイル用フローティングCTA
--------------------*/
	#footer-cta_mobile {
		display: none;
	}

	/*--------------------
PC用フローティングCTA
--------------------*/
	#footer-cta_pc {
		display: block;
		z-index: 90;
		position: fixed;
		bottom: 15px;
		right: 10px;
		/*width: 110px;*/
		width: 140px;
	}

	#footer-cta_pc .inner {
		display: block;
		padding: 0.5rem;
		background-color: #1b2c70;
		border-radius: 1rem;
	}

	#footer-cta_pc .inner img {
		width: 100%;
	}




	/*↓600px〜：タブレット用CSS 閉じタグ*/
}

/* 1025px〜：PC用CSS======================================================================================================================================================---*/
@media screen and (min-width: 1025px) {

	html {
		font-size: 18px;
	}

	img {
		/*max-width: initial;*/
		width: auto;
		height: auto;
	}

	.pc-none {
		display: none;
	}

	.pc-block {
		display: block;
	}

	.sp-none {
		display: block;
	}

	/*--------------------------------
ヘッダー
--------------------------------*/
	#header .cta-btn:hover {
		opacity: 0.8;
	}

	/*--------------------
CTA
--------------------*/
	/*
	.fv-box {
		position: relative;
	}
*/

	
	
	
	
	
	
	


	
	
	
	
	
	
	
	
	
	
	
	
	

	.cta-box.eye-catch-under {
		width: 100%;
		background-color: #f9f9f9;
		background-image: url(../images/eye-catch2_pc_under.jpg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center top;

		/*
		position: absolute;
		transform: translateX(-50%);
		padding: 1rem;
		bottom: -120px;
		left: 50%;
*/
	}

	.cta-box .inner-box {
		display: flex;
		/*justify-content: space-between;*/
		justify-content: center; /* 中央寄せ */
		max-width: 1300px;
		margin: 0 auto;
	}

	.cta-box .box {
		max-width: inherit;
		margin: 0 0 0 0;
		padding: 1rem 1.5rem;
	}

	.cta-box.eye-catch-under {
		padding: 0 2rem 2rem;
	}

	.cta-box.eye-catch-under .box {
		border: 1px solid #f0f0f0;
		box-shadow: 0px 5px 16px -3px rgba(31, 85, 163, 0.2);
	}

	.cta-box .box.trial {
		/*width: 56%;*/
		width: 80%;/*オンライン*/
	}

	.cta-box .box.tel {
		width: 42%;
	}

	.cta-box .trial-inner {
		display: flex;
		/*justify-content: space-between;*/
		justify-content: center; /* 中央寄せ */
		gap: 60px; /* ボタンの間隔を調整 */
		
	}

	.cta-box .box.trial .btn {
		width: 49%;
		font-size: 1.1rem;
		border-radius: 7px;
	}

	.cta-box .box.trial .btn:hover {
		opacity: 0.8;
	}

	.cta-box .btn {
		height: 80px;
		background-position: left 15px center;
	}

	.cta-box .btn.tel {
		border: none;
		box-shadow: none;
	}

	.cta-box .here-trial,
	.cta-box .here-tel {
		margin-bottom: 0.25rem;
		font-size: 1.3rem;
	}

	.cta-box .btn.tel .number {
		font-size: 1.8rem;
		line-height: 1.2;
	}

	.cta-box .btn.tel .number::before {
		vertical-align: bottom;
	}

	/*--------------------
新）添う学
--------------------*/
	#sou-gaku .sou-gaku_text-box {
		width: calc(100% - 15%);
		margin: 0 0 0 15%;
		padding: 1rem 0 0;
		background-position: left calc(50% + 200px) bottom 0;
	}

	/*--------------------
新）喜びの声
--------------------*/
	#voice2 {
		padding: 7rem 0 2rem;

	}

	#voice2 .voice2-title br {
		display: none;
	}

	#voice2 .student-photo-upper.photo-left1 {
		left: 80px;
		width: 90px;
	}

	#voice2 .student-photo-upper.photo-left2 {
		left: 200px;
		bottom: 70px;
		width: 80px;
	}

	#voice2 .student-photo-upper.photo-right1 {
		right: 200px;
		width: 90px;
		bottom: 60px;

	}

	#voice2 .student-photo-upper.photo-right2 {
		right: 80px;
		width: 90px;
	}

	#voice2 .results-img-box .results-img-photo.photo-upper-left {
		top: -50px;
		left: 0;
		width: 160px;
	}

	#voice2 .results-img-box .results-img-photo.photo-upper-right {
		top: -50px;
		right: 60px;
		width: 110px;
	}

	#voice2 .results-img-box .results-img-photo.photo-under-left {
		bottom: 20px;
		left: 0;
		width: 160px;
	}

	#voice2 .results-img-box .results-img-photo.photo-under-right {
		bottom: 20px;
		right: 30px;
		width: 150px;
	}


	#voice2 .results-img-box .inner-box {
		width: 75%;
	}

	#voice2 .results-img-box .inner-box .column:last-child {
		display: inline;
	}

	#voice2 .results-img-box .inner-box .column {
		width: 21.5%;
		margin: 0 1% 35px;
	}

	#voice2 .results-img-box .inner-box .column:first-child {
		margin-left: 1%;
	}

	#voice2 .results-img-box .inner-box .column:nth-child(2) {
		margin-right: 1%;
	}






	/*--------------------
新）北海道専門家庭教師だからこそできるサービス・強み
--------------------*/
	#hokkaido {
		padding: 0 0 1.5rem 0;
	}

	#hokkaido .hokkaido-contents {
		padding: 0 2rem;
	}

	#hokkaido .hokkaido-inner {
		width: 100%;
		max-width: 1300px;
		padding: 3rem 0 2rem;
		background-color: #fff;
		border: 1px solid #f0f0f0;
	/*	box-shadow: 0px 5px 16px -3px rgba(31, 85, 163, 0.2);*/
		border-radius: 7px;
	}

	#hokkaido .hokkaido-title,
	#hokkaido .strong-texts-box .strong-title .title,
	#hokkaido .free-book-box .free-title {
		color: #1b2c70;
	}

	#hokkaido .strong-texts-box .texts p,
	#hokkaido .free-book-box .text-box p {
		color: #333;
	}

	#hokkaido .hokkaido-title {
		font-size: 2.8rem;
	}

	#hokkaido .strong-icon-box {
		width: 70%;
		max-width: 800px;
		margin: 0 auto 2rem;
	}

	#hokkaido .strong-icon-box .box {
		width: 46%;
		padding: 2rem 0 1.5rem;
		background-color: #1b2c70;
	}

	#hokkaido .strong-icon-box .number {
		font-size: 1.2rem;
	}

	#hokkaido .strong-icon-box .text {
		font-size: 1.5rem;
		color: #fff;
	}

	#hokkaido .strong-texts-box {
		width: 80%;
		max-width: 1100px;
		margin: 0 auto 0.8rem;
	}

	#hokkaido .strong-texts-box .strong-title .number {
		width: 3.6em;
		height: 2.2rem;
		font-size: 1.1rem;
	}

	#hokkaido .strong-texts-box .strong-title .title {
		font-size: 1.8rem;
		font-weight: bold;
	}

	#hokkaido .strong-texts-box .texts p {
		font-size: 1.3rem;
	}

	#hokkaido .arrow-box {
		width: 65px;
	}

	#hokkaido .free-book-box {
		width: 95%;
		max-width: 1200px;
		margin: 0 auto 1rem;
		padding: 1.8rem 0;
		background-color: #f2f3f9;
	}

	#hokkaido .free-book-box .free-title {
		font-size: 1.8rem;
	}

	#hokkaido .free-book-box .free-title span.pc-line {
		display: inline-block;
		padding: 0.25em 0.7em;
		background-color: #1b2c70;
		line-height: 1;
		color: #fff;
	}

	#hokkaido .free-book-box .free-title span.pc-line span {
		display: inline;
		padding: 0;
		font-size: 1.8rem;

	}

	#hokkaido .free-book-box .text-box {
		margin-bottom: 1rem;
		padding: 0 2.5rem;
	}


	#hokkaido .free-book-box .text-box p {
		font-size: 1.3rem;
	}

	#hokkaido .assured-box {
		display: flex;
		align-items: center;
		width: 95%;
		max-width: 1200px;
		margin: 0 auto;
	}

	#hokkaido .assured-box .assured-title {
		width: 170px;
		min-height: 3.5em;
		margin-bottom: 0;
		font-size: 1.5rem;
		letter-spacing: 0.1em;
	}

	#hokkaido .assured-box .assured-text {
		width: calc(100% - 170px);
		font-size: 1.5rem;
	}


	/*
	#hokkaido .campaign-box .moreover{
		display: none;
	}
*/
	/*--------------------
新）家庭教師紹介
--------------------*/

	#tutor2 .tutors-support {
		margin-bottom: 2rem;

	}

	#tutor2 .tutors-support br {
		display: none;
	}

	#tutor2 .tutor-choice-box {
		max-width: 800px;
		margin-bottom: 2rem;
	}

	#tutor2 .tutor-choice-box .column {
		padding: 1em 0;
	}

	#tutor2 .tutor-choice-box .column .highlight {
		display: inline;
	}


	/*--------------------
新）ソウガクの学習最適化ツール
--------------------*/
	#support .tool-box-add-img {
		padding: 0 2.5rem 2rem 2.5rem;

	}

	#support .support-number .inner {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 70px;
		padding: 0 1.5em 0 1em;
		line-height: 1;
		font-size: 0.7rem;
	}

	#support .support-number .inner:after {
		border-width: 35px 15px 35px 0px;

	}

	#support .support-number .inner .number {
		font-size: 1.7rem;
	}

	#support .tool-box {
		padding: 3rem 1.5rem;

	}

	#support .tool-box .main-img-box {
		display: flex;
		justify-content: center;
		align-items: flex-end;
		padding-bottom: 0;
	}

	#support .tool-box .main-img-box img {
		width: 90%;
	}

	#support .tool-box .mother-box {
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 0.8rem;
	}

	#support .tool-box .mother-box .mother-img {
		width: 75px;
	}

	#support .tool-box .mother-box .worry-text {
		width: calc(100% - 85px);
		margin-bottom: 0;
		padding-left: 1em;
		text-align: left;
	}

	#support .tool-box .mother-box .worry-text::after {
		bottom: 50%;
		left: -15px;
		border-style: solid;
		border-width: 10px 10px 10px 0;
		border-color: transparent #1B2C70 transparent;
		translate: 100% 50%;
	}

	#support .tool-box .arrow {
		margin-bottom: 0.5rem;
	}

	#support .tool-box .arrow::after {
		border-width: 40px 100px 0 100px;

	}

	#support .tool-name-box {
		border-left: 10px solid #263e9e;
		padding: 2px 0 2px 8px;

	}

	#support .tool-name-box .desc {
		font-size: 1rem;
	}

	#support .tool-name-box .name {
		font-size: 1.9rem;
	}

	#support .tool-text-box {
		margin-bottom: 0rem;
	}






	/*--------------------
料金 ver2
--------------------*/
	#fee2 .fee2-lead-text {
		text-align: center;
	}

	#fee2 .fee-tile {
		padding: 2rem 5rem;
	}

	#fee2 .fee-ex-title {
		margin-bottom: 1.5rem;
		font-size: 1.5rem;
	}

	#fee2 .text-yen0-box {
		width: 60%;
		margin-left: auto;
		margin-right: auto;
	}

	#fee2 .text-yen0-box .text-box {
		justify-content: flex-end;
	}

	#fee2 .fee-reason-boxes .fee-tile {
		width: 23.5%;
	}

	#fee2 .select-box {
		display: flex;
		justify-content: space-between;
	}

	#fee2 .select-box .fee-tile {
		width: 49%;
		padding: 1rem 1.5rem;
	}

	#fee2 .select-box .fee-tile .mother-text .ballon {
		height: 3em;
	}



	/*--------------------
他社との比較
--------------------*/
	/*
	#comparison .comparison-lead-text {
		text-align: center;
	}

	#comparison .comparison-lead-text br.pc-only {
		display: inline-block;
	}
*/

	/*--------------------
FAQ
--------------------*/

	.faq-box summary {
		padding: 1.5em 2em 1.5em 3.5rem;
	}

	.faq-box summary::before,
	.faq-box p::before {
		left: 1.5rem;
	}

	.faq-box p {
		padding: 0 3em 1em 3.5rem;
	}





	/*--------------------
無料体験授業の流れ
--------------------*/
	#flow .flow-lead-text {
		font-size: 1.3rem;

	}

	#flow .flow-lead-text br {
		display: none;
	}

	#flow .flow-box .column {
		margin-bottom: 35px;
	}

	#flow .flow-box .column::after {
		bottom: -10px;
		left: calc(1rem + 110px);
		border-width: 15px 15px 0 15px;
	}


	#flow .flow-box .column .inner-box {
		flex-direction: row;
		justify-content: space-between;
	}

	#flow .flow-box .column .title-box {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 180px;
		margin: 0;
		padding: 0.8rem 0 0.8rem;

	}

	#flow .flow-box .column .step-number {
		width: 5em;
		margin-bottom: 0.2rem;
		line-height: 1.6;
	}

	#flow .flow-box .column .step-title {
		font-size: 1.1rem;
	}

	#flow .flow-box .column .text-box {
		display: flex;
		align-items: center;
		width: calc(100% - 200px);

	}


	/*--------------------
無料体験授業のお申込み
--------------------*/
	#trial .trial-lead-text {
		font-size: 1.2rem;
		text-align: center;
	}

	#trial .title-line,
	#trial .title-form {
		margin-bottom: 1rem;
		font-size: 1.8rem;
	}

	#trial .btn-go:hover {
		opacity: 0.8;
	}


	#trial .trial-box {
		padding: 4rem 5rem;
	}

	#trial .mobile-btn {
		display: none;
	}

	#trial .pc-line-box {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 600px;
		margin: 0 auto;
		padding: 1rem 3rem;
		border: 2px solid #05b84f;
	}

	#trial .pc-line-box .line-icon {
		width: 62px;
		margin-right: 1rem;
	}

	#trial .pc-line-box .qr-code {
		width: 100px;
		margin-left: 1.5rem;
	}

	#trial .pc-line-box span {
		position: relative;
		font-size: 1.3rem;
		font-weight: bold;
	}

	#trial .pc-line-box span::after {
		content: "";
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: -0.75rem;
		width: 10px;
		height: 10px;
		border-top: 2px solid #999;
		border-right: 2px solid #999;
		transform: rotate(45deg);
	}



	/*--------------------
PC用フローティングCTA
--------------------*/
	#footer-cta_pc {
		/*width: 130px;*/
		width: 180px;
	}



	/*↓1025px〜：PC用CSS 閉じタグ*/
}

/* 1500px〜：大型モニターPC用CSS ======================================================================================================================================================--*/
@media screen and (min-width: 1500px) {
	html {
		font-size: 19px;
	}


	/*--------------------------------
ヘッダー
--------------------------------*/
	#header {
		width: 100%;
		max-width: 1920px;
		margin: 0 auto;
		height: 90px;
	}

	#header .right-box {
		height: 60px;
	}

	#header .right-box .pc-nav {
		display: flex;
		margin-right: 20px;
	}

	#header .right-box .pc-nav li {
		position: relative;
		display: flex;
		align-items: center;
		margin-right: 0.6rem;
		padding-left: 1em;
		list-style: none;
		line-height: 1;
	}

	/*
#header .right-box .pc-nav li::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #1B2C70;
  border-right: 2px solid #1B2C70;
  transform: rotate(45deg);
}
*/
	#header .right-box .pc-nav li a {
		font-size: 0.9rem;
		font-weight: bold;
	}

	#header .right-box .pc-nav li a:hover {
		text-decoration: underline;
	}

	#header .cta-btn {
		margin-right: 0;
	}

	#header .tel-btn {
		display: none;
	}

	#header .tel-box {
		display: flex;
	}

	.mobile-nav_button {
		display: none;
	}


	/*--------------------
新）喜びの声
--------------------*/
#voice2 .voice2-title-box{
	max-width: 1350px;
}
#voice2 .voice2-title{
	font-size: 2.5rem;
}
#voice2 .student-photo-upper.photo-left1 {
	width: 110px;
}

#voice2 .student-photo-upper.photo-left2 {
	width: 100px;
}

#voice2 .student-photo-upper.photo-right1 {
	width: 110px;
}

#voice2 .student-photo-upper.photo-right2 {
	width: 110px;
}
#voice2 .student-photo-bottom-box{
	max-width: 1200px;
}
#voice2 .student-photo-bottom-box .student-photo-bottom img{
	width: 80%;
}
#voice2 .results-title-box .results-title{
	font-size: 1.9rem;
	line-height: 1.6;
}
#voice2 .results-img-box{
	max-width: 1400px;
}
#voice2 .results-img-box .inner-box{
	width: 80%;
}
#voice2 .results-img-box .results-img-photo.photo-upper-left {
	width: 180px;
}

#voice2 .results-img-box .results-img-photo.photo-upper-right {
	width: 130px;
}

#voice2 .results-img-box .results-img-photo.photo-under-left {
	width: 180px;
}

#voice2 .results-img-box .results-img-photo.photo-under-right {
	width: 170px;
}
#voice2 .results-img-box .inner-box .column{
	width: 20%;
	margin-bottom: 40px;
}





	/*--------------------------------
フッター
--------------------------------*/
	/*
	#footer {
		padding: 1rem 0.8rem;
	}
*/

	#footer .inner {

		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 1rem 0.8rem;

	}

	#footer .left-box {
		flex-direction: row;
		width: 1300px;
		margin: inherit;
	}

	#footer .logo-box {
		width: 130px;
		margin-right: 3rem;
		margin-bottom: 0;
	}

	#footer ul.link {
		display: flex;
		margin-bottom: 0;
	}

	#footer ul.link li {
		margin-right: 1.5rem;
		margin-bottom: 0;
	}

	#footer ul.link li a:hover {
		text-decoration: underline;
	}

	/*--------------------
CTA
--------------------*/
	.cta-box.eye-catch-under {
		bottom: -120px;
	}

	.cta-box .box {
		/*padding: 2rem 2.5rem 1.5rem;*/
padding: 2rem 3.5rem 1.5rem;
	}

	.cta-box .btn {
		background-position: center left 40px;
	}

	.cta-box .here-trial,
	.cta-box .here-tel {
		margin-bottom: 0.4rem;
		font-size: 1.3rem;
	}

	.cta-box .btn.tel .number {
		font-size: 2.5rem;
	}

	/*--------------------
新）添う学
--------------------*/
	#sou-gaku .sou-gaku_text-box {
		width: calc(100% - 20%);
		margin: 0 0 0 20%;
		padding: 1.5rem 0 1rem;
		background-position: left calc(50% + 180px) bottom 0;
	}

	#sou-gaku .sou-gaku_text-box p {
		line-height: 2em;
	}


	/*--------------------
新）ソウガクの学習最適化ツール
--------------------*/
	#support .tool-box .mother-box .worry-text {
		font-size: 1rem;
	}

	#reliable .reliable-scroll .column .title {
		font-size: 1.3rem;
	}

	#reliable .reliable-scroll .column .text-box p {
		font-size: 0.85rem;
	}

	/*--------------------
料金 ver2
--------------------*/
	#fee2 .fee-inner-title.pc-short span {
		display: inline-block;
		width: inherit;
		padding-left: 6em;
		padding-right: 6em;
	}

	#fee2 .fee-tile {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	#fee2 .fee-ex-title {
		margin-bottom: 1.5rem;
	}

	#fee2 .price-boxes {
		display: flex;
		justify-content: center;
		margin-bottom: 1rem;
	}

	#fee2 .price-boxes .box {
		width: 30%;
		margin-bottom: 0;
		border-right: 1px solid #bfbfbf;
	}

	#fee2 .price-boxes .box:last-child {
		border-right: none;
	}

	#fee2 .price-boxes .box-inner {
		display: flex;
		flex-direction: column;
		align-content: center;
	}

	#fee2 .price-boxes .box .year-title_pc {
		display: block;
		margin-bottom: 0.5rem;
		text-align: center;
	}

	#fee2 .price-boxes .box .year-title_pc span {
		display: inline-block;
		padding: 0.35em 0.7em;
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1;
		letter-spacing: 0.06em;
		color: #fff;
		background-color: #1b2c70;
		border-radius: 5px;
	}

	#fee2 .price-boxes .box .text-box .year-title_sp {
		display: none;
	}

	#fee2 .price-boxes .box .img-box {
		width: 100%;
		text-align: center;
	}

	#fee2 .price-boxes .box .text-box {
		width: 100%;
		text-align: center;
	}

	#fee2 .price-boxes .box .text-box .price {
		font-size: 1rem;
	}

	#fee2 .price-caution {
		margin-right: 1rem;
		margin-bottom: 1rem;
	}


	#fee2 .discount-title{
		margin-left: 1rem;
	}

	#fee2 .discount-list{
		margin: 0 1rem 1rem 2.5em;
	}
	#fee2 .grade-up{
		margin-left: 1rem;
		margin-right: 1rem;
	}
	#fee2 .fee-tile-2boxes {
		display: flex;
		justify-content: space-between;
	}

	#fee2 .fee-tile-2boxes .fee-tile {
		width: 49%;
	}

	#fee2 .text-yen0-box {
		width: 100%;
	}

	/*--------------------------------
下階層
--------------------------------*/

	/*-------下階層共通--------*/
	#page-under #header-box .page-title {
		padding-top: 15px;
	}

	/*↓1500px〜：大型モニターPC用CSS 閉じタグ*/
}


/*----幅1920px以上のPC用CSS======================================================================================================================================================---*/
@media screen and (min-width:1920px) {
	#wrap {
		max-width: 1920px;
		margin-left: auto;
		margin-right: auto;
		/*	background: #fff;
		background-image: url(../images/bg_dot.png);*/
		box-shadow: 0px 0px 50px #dadada;
	}


	/*↓幅1920px以上のPC用CSS閉じタグ*/
}










.tel-btn005 {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.1;
}

.tel-title005 {
  font-size: 14px;
  font-weight: bold;
}

.tel-number005 {
  font-size: 20px;
  font-weight: bold;
  margin: 4px 0;
}

.tel-time005 {
  font-size: 9px;
}


.tel-consult-box {
  margin: 25px 0 30px;
  padding: 20px;
  border: 2px solid #1aa6b3;
  border-radius: 10px;
  text-align: center;
  background: #f4fbfc;
}

.tel-label {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 8px;
}

.tel-number {
  display: inline-block;
  font-size: 28px;
  font-weight: bold;
  color: #1aa6b3;
  text-decoration: none;
  margin-bottom: 8px;
}

.tel-number:hover {
  opacity: 0.8;
}

.tel-time {
  font-size: 13px;
  color: #555;
}


/* ===== スマホ専用フローティングCTA ===== */
.sp-floating-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px 15px 15px;
  background: rgba(255,255,255,0.95);
  box-shadow: 0 -3px 10px rgba(0,0,0,0.08);
  z-index: 9999;
}

/* ボタン */
.sp-floating-cta__btn {
  display: block;
  text-align: center;
  background: #007af6;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 14px 10px;
  border-radius: 12px;
  text-decoration: none;
  line-height: 1.4;
  box-shadow: 0 4px 10px rgba(47,103,199,0.3);
  transition: 0.3s;
}

.sp-floating-cta__btn:active {
  transform: scale(0.98);
}

/* PCでは非表示 */
@media (min-width: 768px) {
  .sp-floating-cta {
    display: none;
  }
}
