@charset "UTF-8";

/* =========================================================
reset
========================================================= */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

a {
	-webkit-text-decoration: normal;
	text-decoration: normal;
	cursor: pointer;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

input,
select {
	vertical-align: middle;
}

.fwBld {
	font-weight: bold;
}

/*------------------------------------------------
basic common
-------------------------------------------------*/
.clear {
	clear: both;
}

.fLeft {
	float: left;
}

.fRight {
	float: right;
}

.tCenter {
	text-align: center !important;
}

.tLeft {
	text-align: left !important;
}

.tRight {
	text-align: right !important;
}

.d-ib {
	display: inline-block;
}

.d-b {
	display: block;
}

.d-i {
	display: inline;
}

.fs150 {
	font-size: 150%;
}

.fs140 {
	font-size: 140%;
}

.fs120 {
	font-size: 120%;
}

.fs115 {
	font-size: 115%;
}

.fs110 {
	font-size: 110%;
}

.fs90 {
	font-size: 90%;
}

.fs80 {
	font-size: 80%;
}

.fs70 {
	font-size: 70%;
}

.fs60 {
	font-size: 60%;
}

.txt-blue {
	color: #004ea2;
}

.txt-yellow {
	color: #ffe25b;
}

.alert01 {
	color: #d50000;
}

.alert02 {
	background: linear-gradient(to bottom, #fff 50%, #ffec95 50%);
}

.custam-font {
	font-family: "Poppins", sans-serif;
}

.notes {
	font-size: 14px;
	color: #888888;
}

@media screen and (max-width: 767px) {
	.notes {
		font-size: calc(22/750 * 100vw);
	}
}

/*------------------------------------------------
	1.layout grit system
-------------------------------------------------*/


.container:after,
.row:after {
	content: "";
	clear: both;
	display: block;
}

.container {
	width: 940px;
	padding: 1em;
	margin: 1.5em auto;
	font-size: 0.8em;
	background: #fff;
}

.container100 {
	width: 100%;
	padding: 1em;
	margin: 0 auto;
	font-size: 0.8em;
	background: #fff;
}

.row {
	margin: 2em auto;
}

.grid1,
.grid2,
.grid3,
.grid4,
.grid5,
.grid6,
.grid7,
.grid8,
.grid9,
.grid10,
.grid11 {
	float: left;
	margin-left: 2.08%;
	margin-top: 0 !important;
}

.gridclear,
*[class^="grid"]:first-child {
	margin-left: 0;
	clear: left;
}

.gridclear,
.gridclear~[class^="grid"] {
	margin-top: 20px !important;
}

.grid1 {
	width: 6.382978723404255%;
}

.grid2 {
	width: 14.8936170212766%;
}

.grid3 {
	width: 23.40425531914894%;
}

.grid4 {
	width: 31.91489361702128%;
}

.grid5 {
	width: 40.42553191489362%;
}

.grid6 {
	width: 48.93617021276596%;
}

.grid7 {
	width: 57.4468085106383%;
}

.grid8 {
	width: 65.95744680851064%;
}

.grid9 {
	width: 74.46808510638298%;
}

.grid10 {
	width: 82.97872340425532%;
}

.grid11 {
	width: 91.48936170212766%;
}

.grid12 {
	float: left;
	width: 100%;
}

.borderLeft {
	position: relative;
}

.borderLeft:before {
	content: " ";
	z-index: 10;
	display: block;
	min-height: 100%;
	position: absolute;
	left: -10px;
	top: 0;
	border-left: 1px solid #ccc;
}



@media screen and (max-width:960px) {
	#wrapper {
		width: 100%;
	}

	.container {
		width: 98%;
	}
}

@media screen and (max-width:940px) {}

@media screen and (max-width:767px) {

	.grid1,
	.grid2,
	.grid3,
	.grid4,
	.grid5,
	.grid6,
	.grid7,
	.grid8,
	.grid9,
	.grid10,
	.grid11,
	.grid12 {
		float: none;
		margin-left: auto;
		margin-right: auto;
		clear: left;
		margin-bottom: 20px;
		width: 100%;
		display: table;
	}

	.grid1.btnLink,
	.grid2.btnLink,
	.grid3.btnLink,
	.grid4.btnLink,
	.grid5.btnLink,
	.grid6.btnLink,
	.grid7.btnLink,
	.grid8.btnLink,
	.grid9.btnLink,
	.grid10.btnLink,
	.grid11.btnLink,
	.grid12.btnLink {
		width: 85%;
	}


	.grid12 {
		display: block;
	}

	.row *[class^="grid"]:last-child {
		margin-bottom: 0;
	}

	.gridclear,
	*[class^="grid"]:first-child {
		margin-left: auto;
		margin-top: 0;
		clear: left;
	}

	.grid1 img,
	.grid2 img,
	.grid3 img,
	.grid4 img,
	.grid5 img,
	.grid6 img,
	.grid7 img,
	.grid8 img,
	.grid9 img,
	.grid10 img,
	.grid11 img,
	.grid12 img {
		margin-left: auto;
		margin-right: auto;
	}

}

.mgR20-pc {
	margin-right: 20px;
}

.mgL20-pc {
	margin-left: 20px;
}


@media screen and (max-width:767px) {
	.mgR20-pc {
		margin-right: 0;
	}

	.mgL20-pc {
		margin-left: 0;
	}

	.block-mb {
		display: block;
		margin-bottom: 20px;
	}

	.block-mb.btnLink {
		width: 85%;
		margin: auto auto 20px;
	}
}

/* ============================
	cv
	===================================================*/
.cv-area {
	margin: auto;
	background-color: #FFF;
}

.cv-area-inner {
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.cv-area-inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: 1000px;
		padding: 50px 0;
	}
}

@media screen and (max-width: 767px) {
	.cv-area-inner {
		display: block;
		width: 100%;
		padding: calc(60/750 * 100vw) 0;
	}
}

@media screen and (min-width: 768px) {
	.cv-area-body {
		width: 100%;
		text-align: center;
	}
}

@media screen and (max-width: 767px) {
	.cv-area-body {
		width: 100%;
		text-align: center;
	}
}

.cv-area-body-heading {
	color: #222222;
	font-weight: 700;
}

@media screen and (min-width: 768px) {
	.cv-area-body-heading {
		font-size: 28px;
	}
}

@media screen and (max-width: 767px) {
	.cv-area-body-heading {
		font-size: calc(36/750 * 100vw);
		text-align: center;
	}
}

.cv-area-body-txt {
	font-weight: 500;
}

@media screen and (min-width: 768px) {
	.cv-area-body-txt {
		font-size: 22px;
	}
}

@media screen and (max-width: 767px) {
	.cv-area-body-txt {
		font-size: calc(30/750 *100vw);
		text-align: center;
	}
}

.cv-area-btn-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	list-style: none;
	align-items: flex-end;
}

@media screen and (max-width: 767px) {
	.cv-area-btn-list {
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

.cv-area-list-btn {
	position: relative;
	border-radius: 9px;
	color: #FFF;
	font-weight: 700;
	text-align: center;
	-webkit-transition: 0.4s;
	transition: 0.4s;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.cv-area-list-btn {
		width: 320px;
		padding: 0 25px;
		font-size: 26px;
	}
}

@media screen and (max-width: 767px) {
	.cv-area-list-btn {
		padding: 0 calc(30/750 *100vw);
		height: calc(100/750 *100vw);
		font-size: calc(32/750 *100vw);
		border-radius: calc(10/750 *100vw);
	}
}

@media screen and (min-width: 768px) {
	.cv-area-list-btn .fas {
		font-size: 26px;

	}
}

@media screen and (max-width: 767px) {
	.cv-area-list-btn .fas {
		font-size: calc(26/750 *100vw);
	}
}

.cv-area-list-btn span {
	margin: 0 auto;
	font-weight: bold;
	line-height: 1.1;
	padding-left: 1.1rem;
}

.cv-area-list-btn span.Emp {
	color: #FFEB3B;
}

.cv-area-btn-exp,
.cv-area-btn-event {
	background: #0065d1;
	box-shadow: 0px 10px 0px 0px #0a3c83;
	letter-spacing: 0.3rem;
	height: 80px;
}


.cv-area-btn-exp:hover,
.cv-area-btn-event:hover {
	background: #007bff;
	box-shadow: 0px 0px 0px 0px #0a3c83;
	border: 3px #fff solid;
}

@media screen and (min-width: 768px) {
	.cv-area-btn-exp {
		width: 560px;
		margin-right: 20px;
	}
}

@media screen and (max-width: 767px) {
	.cv-area-btn-exp {
		width: calc(640/750 *100vw);
		margin-bottom: calc(40/750 *100vw);
	}
}

.cv-area-btn-req {
	background: #c8000b;
	box-shadow: 0px 10px 0px 0px #7d0000;
	height: 80px;
}

.cv-area-btn-req:hover {
	background: #e21923;
	box-shadow: 0px 0px 0px 0px #7d0000;
	border: 3px #fff solid;
}

@media screen and (min-width: 768px) {
	.cv-area-btn-req {
		width: 320px;
	}
}

@media screen and (max-width: 767px) {
	.cv-area-btn-req {
		width: calc(640/750 *100vw);
	}
}

.common-list-btn {
	border: #070404 solid 2px;
	color: #070404;
	width: 520px;
	background: #fff;
	margin: 30px 0;
	box-shadow: 0px 10px 0px 0px #070404;
	letter-spacing: 0.2rem;
	height: 80px;
}

.common-list-btn:hover {
	box-shadow: 0px 0px 0px 0px #070404;
	border: 3px #333 solid;

}


@media screen and (max-width: 767px) {
	.common-list-btn {
		border: #070404 solid calc(2/750 *100vw);
		width: calc(670/750 *100vw);
		margin: calc(60/750 *100vw) 0;
	}
}

.common-list-btn .small {
	padding-left: 0;
	vertical-align: middle;
}

.cv-area-list-btn:hover {
	opacity: 0.7;
}

/* ============================
	common
	===================================================*/
.common-inner {
	padding: 80px 0;
}

@media screen and (max-width: 767px) {
	.common-inner {
		padding: calc(100/750 *100vw) 0;
	}
}

.common-txt {
	font-size: 22px;
	line-height: 1.75;
}

@media screen and (max-width: 767px) {
	.common-txt {
		font-size: calc(32/750 *100vw);
	}
}

/* ============================
	common-ttl
	===================================================*/
.common-ttl-wrap {
	text-align: center;
	padding-bottom: 40px;
}

@media screen and (max-width: 767px) {
	.common-ttl-wrap {
		padding-bottom: calc(40/750 *100vw);
	}
}

.common-sub-ttl {
	font-family: "Poppins", sans-serif;
	font-size: 34px;
	font-weight: bold;
	color: #004ea2;
}

@media screen and (max-width: 767px) {
	.common-sub-ttl {
		font-size: calc(36/750 * 100vw);
	}
}

.common-sub-ttl:after {
	width: 2px;
	height: 24px;
	background: #004ea2;
	display: block;
	margin: 0 auto;
	content: "";
}

@media screen and (max-width: 767px) {
	.common-sub-ttl:after {
		width: calc(4/750 * 100vw);
		height: calc(42/750 * 100vw);
		margin: calc(10/750 * 100vw) auto;
	}
}

.common-ttl {
	font-size: 48px;
	font-weight: bold;
	line-height: 1.5;
}

@media screen and (max-width: 767px) {
	.common-ttl {
		font-size: calc(50/750 * 100vw);
	}
}

/* ============================
	?????o??ttl
	===================================================*/
.common-baloon-ttl {
	position: relative;
	display: inline-block;
	border-radius: 999px;
	margin: 0 auto;
	padding: 2rem 4rem;
	min-width: 440px;
	max-width: 100%;
	text-align: center;
	color: #004ea2;
	font-size: 22px;
	background: #fff;
	border: solid 3px #004ea2;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 767px) {
	.common-baloon-ttl {
		padding: calc(20/750 *100vw) 0px calc(20/750 *100vw);
		min-width: calc(600/750 *100vw);
		font-size: calc(30/750 *100vw);
		border: solid calc(4/750 *100vw) #004ea2;
	}
}

.common-baloon-ttl:before {
	content: "";
	position: absolute;
	bottom: -23px;
	left: 50%;
	border: 10px solid transparent;
	border-top: 16px solid #fff;
	z-index: 2;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
}

@media screen and (max-width: 767px) {
	.common-baloon-ttl:before {
		bottom: calc(-21/750 *100vw);
		border: calc(10/750 *100vw) solid transparent;
		border-top: calc(16/750 *100vw) solid #fff;
	}
}

.common-baloon-ttl:after {
	content: "";
	position: absolute;
	bottom: -27px;
	left: 50%;
	border: 10px solid transparent;
	border-top: 16px solid #004ea2;
	z-index: 1;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
}

@media screen and (max-width: 767px) {
	.common-baloon-ttl:after {
		bottom: calc(-26/750 *100vw);
		border: calc(10/750 *100vw) solid transparent;
		border-top: calc(16/750 *100vw) solid #004ea2;
	}
}

.common-baloon-ttl p {
	margin: 0;
	padding: 0;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.2;
}

@media screen and (max-width: 767px) {
	.common-baloon-ttl p {
		font-size: calc(34/750 *100vw);
	}
}

/* ============================
campaign
===================================================*/
.campaign {
	background: #e7ecf2;
}

.campaign .campaign-box {
	/*width: 1000px;*/
	margin: 0 auto 80px;
	text-align: center;
	padding: 60px 40px;
}

@media screen and (max-width: 767px) {
	.campaign .campaign-box {
		width: calc(710/750 * 100vw);
		margin: 0 auto calc(100/750 * 100vw);
		padding: calc(60/750 * 100vw) calc(40/750 * 100vw);
	}
}

@media screen and (max-width: 767px) {

	.campaign .campaign-box .campaign-box-ttl .campaign .campaign-box .campaign-box-ttl02,
	{
	width: calc(630/750 * 100vw);
}
}

.campaign .campaign-box .price-list-item-num-wrap {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

@media screen and (max-width: 767px) {
	.campaign .campaign-box .price-list-item-num-wrap {
		padding: 0 calc(20/750 * 100vw);
	}
}

.campaign .campaign-box .price-list-item-num-pay {
	white-space: nowrap;
}

.campaign .campaign-box .price-list-item-num-price {
	line-height: 1.2;
}

@media screen and (max-width: 767px) {
	.campaign .campaign-box .price-list-item-num-price {
		font-size: calc(50/750 * 100vw);
		-webkit-font-feature-settings: "palt";
		font-feature-settings: "palt";
		letter-spacing: 0.02em;
		white-space: nowrap;
	}
}

.campaign .campaign-box .price-list-item-num-price .small {
	font-size: 60%;
}

/* ============================
	success?i???i??C???^?r???[?j
	===================================================*/
.success-wrap {
	text-align: center;
}

.success-sub-ttl {
	margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
	.success-sub-ttl {
		margin-bottom: calc(30/750 *100vw);
	}
}

.success-box {
	width: 900px;
	margin: 0 auto 40px;
	border: 4px #e7ecf2 solid;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 30px 25px;
}

@media screen and (max-width: 767px) {
	.success-box {
		width: calc(710/750 *100vw);
		padding: calc(50/750 *100vw) calc(40/750 *100vw);
		border: calc(6/750 *100vw) #e7ecf2 solid;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

.success-icon {
	width: 200px;
	font-size: 0;
}

@media screen and (max-width: 767px) {
	.success-icon {
		width: calc(200/750 *100vw);
		margin-bottom: calc(30/750 *100vw);
	}
}

.success-txtbox {
	width: 610px;
}

@media screen and (max-width: 767px) {
	.success-txtbox {
		width: 100%;
	}
}

.success-box-ttl {
	font-size: 28px;
	color: #004ea2;
	font-weight: bold;
	padding-bottom: 10px;
	text-align: left;
}

@media screen and (max-width: 767px) {
	.success-box-ttl {
		text-align: center;
		padding-bottom: calc(10/750 *100vw);
		font-size: calc(36/750 *100vw);
	}
}

.success-box-txt {
	text-align: left;
}

/* =========================================================
Web fonts
========================================================= */
/* =========================================================
base
========================================================= */
html {
	font-size: 62.5%;
}

html,
body {
	width: 100%;
	height: auto;
}

body {
	letter-spacing: 0;
	background: #fff;
	font-family: "Noto Sans JP", sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	color: #17181a;
	font-weight: 400;
	line-height: 1.7;
}

@media screen and (min-width: 768px) {
	body {
		font-size: 22px;
		min-width: 1300px;
	}
}

@media screen and (max-width: 767px) {
	body {
		font-size: calc(30/750 * 100vw);
	}
}

img {
	max-width: 100%;
	height: auto;
	font-size: 0;
	vertical-align: middle;
}

a {
	color: #333;
	display: block;
	text-decoration: none;
}

figure {
	line-height: 0;
}

.b-clear {
	background-color: rgba(255, 255, 255, 0.7);
}

.font-roboto {
	font-family: "Roboto";
}

@media screen and (min-width: 768px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}

.pc-ui {
	display: block;
}

@media only screen and (max-width: 767px) {
	.pc-ui {
		display: none;
	}
}

.tab-ui {
	display: none;
}

@media only screen and (max-width: 990px) {
	.tab-ui {
		display: block;
	}
}

.sp-ui {
	display: none;
}

@media only screen and (max-width: 767px) {
	.sp-ui {
		display: block;
	}
}

.smNone {
	display: inline;
}

@media only screen and (max-width: 767px) {
	.smNone {
		display: none;
	}
}

.tabNone {
	display: none;
}

@media only screen and (max-width: 990px) {
	.tabNone {
		display: inline;
	}
}

.pcNone {
	display: none;
}

@media only screen and (max-width: 767px) {
	.pcNone {
		display: inline;
	}
}

/* clearfix
--------------------------------------------------------- */
.clearfix {
	*zoom: 1;
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

/* border-box
--------------------------------------------------------- */
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* ============================
header
===================================================*/
.header {
	background: #ffffff;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	z-index: 999;
	display: flex;
	justify-content: space-between;
}






@media screen and (max-width: 767px) {
	.header {
		min-width: 100%;
	}
}

.header-inner {
	margin: 0 auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	width: 1100px;
}

@media screen and (max-width: 767px) {
	.header-inner {
		height: calc(80/750 * 100vw);
		width: 100%;
		padding: 0 calc(20/750 * 100vw);
	}
}

.header-logo {
	/*font-size: 0;*/
	display: block;
	max-width: 220px;
	margin: 0 auto 0 10px;
	color: #c8000b;
	line-height: 1.3;
}

.header-logo h1 {
	font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
	.header-logo {
		margin: 0 auto 0 0;
		width: calc(230/750 * 100vw);
	}

	.header-logo h1 {
		font-size: 0.8rem;
	}
}

@media screen and (min-width: 768px) {
	.header {
		min-width: 1000px;
		height: 90px;
	}
}

/* ============================
mv
===================================================*/
.mv,
.mv_w {
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.mv {
		min-width: 1000px;
		background: url(/ad/shoshi/smapho/index/images/mv.jpg) center no-repeat;
		background-size: cover;
		margin-top: 80px;
		/*?w?b?_?[??d?????*/
	}

	.mv_w {
		min-width: 1000px;
		background: url(/ad/shoshi/smapho/index/images/mv_woman.jpg) center no-repeat;
		background-size: cover;
	}
}

@media screen and (max-width: 767px) {
	.mv {
		width: 100%;
		background: url(/ad/shoshi/smapho/index/images/mv_sp.jpg) center no-repeat;
		background-size: cover;
	}

	.mv_w {
		width: 100%;
		background: url(/ad/shoshi/smapho/index/images/mv_woman_sp.jpg) center no-repeat;
		background-size: cover;
	}

}

.mv-inner {
	position: relative;
	margin: 0 auto;
	overflow: hidden;
	z-index: 1;
}

@media screen and (min-width: 768px) {
	.mv-inner {
		width: 1000px;
		height: 600px;
	}
}

@media screen and (max-width: 767px) {
	.mv-inner {
		width: 100%;
		margin-top: 62px;
		height: calc(700/750 * 100vw);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
	}
}

.mv-inner-ttl {
	display: none;
}

/* ============================
campaign
===================================================*/
.campaign-wrap {
	background: #e7ecf2;
}

.campaign-inner {
	width: 1000px;
	/*750px;*/
	margin: 0 auto;
	text-align: center;
	padding: 60px 0;
}

@media screen and (max-width: 767px) {
	.campaign-inner {
		width: calc(710/750 * 100vw);
		padding: calc(80/750 * 100vw) 0;
	}
}

.campaign-sub-ttl {
	margin: 0 auto 25px;
	background: #e7ecf2;
}

@media screen and (max-width: 767px) {
	.campaign-sub-ttl {
		margin: 0 auto calc(20/750 * 100vw);
	}
}

.campaign-sub-ttl::before {
	border-top: 16px solid #e7ecf2;
}

@media screen and (max-width: 767px) {
	.campaign-sub-ttl::before {
		border-top: calc(16/750 *100vw) solid #e7ecf2;
	}
}

.campaign-txt {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
	.campaign-txt {
		font-size: calc(34/750 * 100vw);
		padding-bottom: calc(30/750 * 100vw);
	}
}

.campaign-box {
	padding: 40px;
	background: #fff;
}

@media screen and (max-width: 767px) {
	.campaign-box {
		padding: calc(40/750 * 100vw);
	}
}

.campaign-box-ttl,
.campaign-box-ttl02 {
	width: 670px;
	margin: 0 auto;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(48%, #fff), color-stop(48%, #c8000b), color-stop(52%, #c8000b), color-stop(52%, #FFF));
	background: linear-gradient(to bottom, #fff 48%, #c8000b 48%, #c8000b 52%, #FFF 52%);
}

@media screen and (max-width: 767px) {

	.campaign-box-ttl,
	.campaign-box-ttl02 {
		width: calc(630/750 * 100vw);
		margin: 0 auto calc(10/750 * 100vw);
	}
}

.campaign-box-ttl p {
	background: #fff;
	display: inline-block;
	color: #c8000b;
	font-weight: bold;
	padding: 0 10px;
	font-size: 34px;
}

.campaign-box-ttl02 p {
	background: #fff;
	display: inline-block;
	color: #c8000b;
	font-weight: bold;
	padding: 0 10px;
	font-size: 24px;
}

@media screen and (max-width: 767px) {

	.campaign-box-ttl p,
	.campaign-box-ttl02 p {
		font-size: calc(36/750 * 100vw);
		padding: 0 calc(20/750 * 100vw);
	}
}

.campaign-box-txt {
	font-size: 26px;
}

@media screen and (max-width: 767px) {
	.campaign-box-txt {
		font-size: calc(30/750 * 100vw);
	}
}

.campaign-box-price {
	color: #004ea2;
	font-weight: bold;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), color-stop(50%, #ffec95));
	background: linear-gradient(to bottom, #fff 50%, #ffec95 50%);
	display: inline-block;
	text-align: center;
	line-height: 1.2;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-size: 52px;
}

@media screen and (max-width: 767px) {
	.campaign-box-price {
		font-size: calc(62/750 * 100vw);
	}
}

.campaign-box-price span {
	font-family: "Poppins", sans-serif;
}

table.packlist th {
	color: #fff;
	background: #004ea2 !important;
}

span[class^="txtIcon"] {
	font-size: 0.6em;
	padding: 0.2em 0.4em;
	border: 1px solid #ccc;
	margin-left: 1em;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	display: inline-block;
	line-height: 1.6;
	vertical-align: top;
}

.txtIcon-red {
	border-color: #c8000b !important;
	color: #fff;
	background: #c8000b;
}

/*---------------------------------------------------------
trouble
---------------------------------------------------------*/
.trouble-wrap {
	width: 100%;
	position: relative;
	margin: 0 auto;
	padding: 100px 0;
	background: #e7ecf2;
	position: relative;
}

@media screen and (max-width: 767px) {
	.trouble-wrap {
		padding: calc(100/750 * 100vw) 0;
	}
}

.trouble-wrap::before {
	position: absolute;
	content: "";
	-webkit-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
	left: 50%;
	bottom: 1px;
	width: 523px;
	height: 136px;
	margin: 0 auto;
	background: url(/ad/shoshi/smapho/index/images/trouble_arrow.png) center/contain no-repeat;
}

@media screen and (max-width: 767px) {
	.trouble-wrap::before {
		width: 100%;
		height: 18%;
		bottom: 10px;
	}
}

.trouble-ttl {
	text-align: center;
	font-size: 34px;
	font-weight: 700;
	padding: 15px 0;
	width: 840px;
	margin: 0 auto 30px;
	border-top: #d0dadf solid 1px;
	border-bottom: #d0dadf solid 1px;
	display: block;
}

@media screen and (max-width: 767px) {
	.trouble-ttl {
		font-size: calc(40/750 * 100vw);
		width: calc(630/750 * 100vw);
		padding: calc(14/750 * 100vw) 0;
		border-top: #d0dadf solid calc(2/750 * 100vw);
		margin: 0 auto calc(40/750 * 100vw);
	}
}

.trouble-sub-txt {
	text-align: center;
	font-size: 24px;
	font-weight: 400;
	padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
	.trouble-sub-txt {
		font-size: calc(30/750 * 100vw);
		padding-bottom: calc(40/750 * 100vw);
	}
}

.trouble-list-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

@media screen and (max-width: 767px) {
	.trouble-list-box {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

.trouble-list-box {
	width: 840px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.trouble-list-box {
		width: 100%;
	}
}

.trouble-list {
	width: 540px;
	text-align: left;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}

@media screen and (max-width: 767px) {
	.trouble-list {
		width: 90%;
		margin: 0 auto;
		text-align: left;
	}
}

.trouble-v-list {
	width: 300px;
	padding-right: 0;
	padding-left: 40px;
}

@media screen and (max-width: 767px) {
	.trouble-v-list {
		width: 100%;
		padding-left: 0;
	}
}

.trouble-list li {
	padding: 8px 0 20px 40px;
	position: relative;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.7;
}

@media screen and (max-width: 767px) {
	.trouble-list li {
		font-size: calc(30/750 * 100vw);
		position: relative;
		padding: 0 0 1.8rem 3rem;
	}
}

.trouble-list li::before {
	width: 24px;
	height: 30px;
	content: "";
	background: url("/ad/shoshi/smapho/index/images/check.png");
	position: absolute;
	left: 0px;
	top: 9px;
}

@media screen and (max-width: 767px) {
	.trouble-list li::before {
		width: calc(36/750 * 100vw);
		height: calc(45/750 * 100vw);
		content: "";
		background-size: 100% 100%;
		position: absolute;
		left: 0;
		top: 0;
	}
}

.trouble-img {
	width: 300px;
}

@media screen and (max-width: 767px) {
	.trouble-img {
		width: 60%;
		margin: calc(20/750 * 100vw) auto 0;
	}
}

.trouble-v-img {
	width: 640px;
}

@media screen and (max-width: 767px) {
	.trouble-v-img {
		width: 100%;
		margin-bottom: 2rem;
	}
}

.trouble-v-img video {
	width: 640px;
}

@media screen and (max-width: 767px) {
	.trouble-v-img video {
		width: 100%;
	}
}

.trouble-box {
	background-color: #fafafa;
	padding: 80px 0;
	text-align: center;
	position: relative;
	margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
	.trouble-box {
		background-color: #fafafa;
		padding: 3.5rem 0;
		text-align: center;
		position: relative;
		margin-bottom: 4rem;
	}
}

.trouble-box::before {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px;
	border-color: #fff transparent transparent;
}

@media screen and (max-width: 767px) {
	.trouble-box::before {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 20px;
		border-color: #fff transparent transparent;
	}
}

.trouble-txt {
	margin: 60px 0 80px;
	font-size: 26px;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 2px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.trouble-txt {
		margin: 3rem 0 2rem;
		font-size: 1.2rem;
		font-size: 3.75vw;
		font-weight: 700;
		line-height: 1.8;
		letter-spacing: 2px;
		text-align: center;
	}
}

.trouble-txt span {
	font-size: 40px;
}

@media screen and (max-width: 767px) {
	.trouble-txt span {
		font-size: 2rem;
		font-size: 6.25vw;
	}
}

@media screen and (max-width: 767px) {
	.trouble-box img {
		width: 86.875%;
		margin: 0 auto;
	}
}

/*---------------------------------------------------------
point-area
---------------------------------------------------------*/
.point-area {
	padding-top: 240px;
}

@media screen and (max-width: 767px) {
	.point-area {
		padding-top: calc(240/750 * 100vw);
	}
}

.point-ttl-wrap {
	padding-bottom: 100px;
}

@media screen and (max-width: 767px) {
	.point-ttl-wrap {
		padding-bottom: calc(90/750 * 100vw);
	}
}

.point-area-inner {
	width: 100%;
	padding-bottom: 0;
}

@media screen and (max-width: 767px) {
	.point-area-inner {
		padding-bottom: calc(0/750 * 100vw);
	}
}

.point-area-sec01 {
	margin-top: 0px;
}

@media screen and (max-width: 767px) {
	.point-area-sec01 {
		margin-bottom: calc(80/750 * 100vw);
	}
}

@media screen and (max-width: 767px) {
	.point-area-sec02 {
		margin-bottom: calc(80/750 * 100vw);
	}
}

@media screen and (max-width: 767px) {
	.point-area-sec03 {
		margin-bottom: calc(80/750 * 100vw);
	}
}

@media screen and (max-width: 767px) {
	.point-area-sec04 {
		margin-bottom: calc(80/750 * 100vw);
	}
}

@media screen and (min-width: 768px) {
	.point-area-sec04 .point-area-txt-box01 {
		padding: 40px 0 0px;
	}
}

.point-area-ttl-wrap {
	height: 308px;
	text-align: center;
	font-size: 38px;
	padding-top: 0px;
	margin-bottom: 60px;
	font-weight: bold;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	line-height: 1.5;
}

@media screen and (max-width: 767px) {
	.point-area-ttl-wrap {
		height: calc(261/750 * 100vw);
		font-size: calc(42/750 * 100vw);
		padding-top: calc(0/750 * 100vw);
		margin-bottom: calc(60/750 * 100vw);
		line-height: 1.5;
	}
}

.point-area-ttl01-wrap {
	background: url(/ad/shoshi/smapho/index/images/point-area-ttl01.jpg) center/1920px auto no-repeat;
}

@media screen and (max-width: 767px) {
	.point-area-ttl01-wrap {
		background: url(/ad/shoshi/smapho/index/images/point-area-ttl01_sp.jpg) center/auto calc(261/750 * 100vw) no-repeat;
	}
}

.point-area-ttl02-wrap {
	background: url(/ad/shoshi/smapho/index/images/point-area-ttl02.jpg) center/1920px auto no-repeat;
}

@media screen and (max-width: 767px) {
	.point-area-ttl02-wrap {
		background: url(/ad/shoshi/smapho/index/images/point-area-ttl02_sp.jpg) center/auto calc(261/750 * 100vw) no-repeat;
	}
}

.point-area-ttl03-wrap {
	background: url(/ad/shoshi/smapho/index/images/point-area-ttl03.jpg) center/1920px auto no-repeat;
}

@media screen and (max-width: 767px) {
	.point-area-ttl03-wrap {
		background: url(/ad/shoshi/smapho/index/images/point-area-ttl03_sp.jpg) center/auto calc(261/750 * 100vw) no-repeat;
	}
}

.point-area-ttl04-wrap {
	background: url(/ad/shoshi/smapho/index/images/point-area-ttl04.jpg) center/1920px auto no-repeat;
}

@media screen and (max-width: 767px) {
	.point-area-ttl04-wrap {
		background: url(/ad/shoshi/smapho/index/images/point-area-ttl04_sp.jpg) center/auto calc(261/750 * 100vw) no-repeat;
	}
}

.point-area-ttl {
	padding-top: 80px;
}

@media screen and (max-width: 767px) {
	.point-area-ttl {
		padding-top: calc(80/750 * 100vw);
	}
}

.point-area-box {
	width: 1000px;
	margin: 0 auto 80px;
}

@media screen and (max-width: 767px) {
	.point-area-box {
		width: calc(710/750 * 100vw);
		margin: 0 auto calc(0/750 * 100vw);
	}
}

.point-area-box-f1 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.point-area-txt-box01 {
	width: 1000px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.point-area-txt-box01 {
		width: 100%;
		margin: 0 auto calc(60/750 * 100vw);
	}
}

.point-area-txt-box02 {
	width: 480px;
}

@media screen and (max-width: 767px) {
	.point-area-txt-box02 {
		width: 100%;
		margin-bottom: calc(60/750 * 100vw);
	}
}

.point-area-txt-box03 {
	width: 900px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.point-area-txt-box03 {
		width: 100%;
		margin-bottom: calc(60/750 * 100vw);
	}
}

.point-area-txt-box04 {
	width: 900px;
	margin: 0 auto 60px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: flex-start;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 767px) {
	.point-area-txt-box04 {
		width: 100%;
		margin: 0 auto calc(60/750 * 100vw);
	}
}

.point-area-txt-box04 img {
	width: 427px;
}

@media screen and (max-width: 767px) {
	.point-area-txt-box04 img {
		width: 49%;
		margin-bottom: calc(60/750 * 100vw);
	}
}

.point-area-txt-box05 {
	text-align: center;
}

.point-area-txt-box05 .point-area-txt-box05-item {
	padding-bottom: 50px;
}

@media screen and (max-width: 767px) {
	.point-area-txt-box05 .point-area-txt-box05-item {
		padding-bottom: calc(50/750 * 100vw);
	}
}

.point-area-txt-box05 .point-area-txt-box05-item p {
	font-size: 26px;
	padding-bottom: 5px;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	.point-area-txt-box05 .point-area-txt-box05-item p {
		font-size: calc(32/750 * 100vw);
		padding-bottom: calc(10/750 * 100vw);
	}
}

@media screen and (max-width: 767px) {
	.point-reverse-box {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
}

.point-area-txt-box-ttl {
	font-size: 26px;
	padding-bottom: 20px;
	font-weight: bold;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.point-area-txt-box-ttl {
		font-size: calc(36/750 * 100vw);
		padding-bottom: calc(20/750 * 100vw);
		text-align: center;
	}
}

.point-area-txt-box-txt {
	font-size: 22px;
	line-height: 1.7;
	padding-bottom: 60px;
	letter-spacing: 0.02em;
}

@media screen and (max-width: 767px) {
	.point-area-txt-box-txt {
		font-size: calc(32/750 * 100vw);
		padding-bottom: calc(0/750 * 100vw);
		text-align: left;
	}
}

.point-area-txt-box-img {
	width: 100%;
}

.point-area-img-box01 {
	width: 900px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.point-area-img-box01 {
		width: calc(710/750 * 100vw);
		margin: calc(20/750 * 100vw) 0 calc(20/750 * 100vw);
	}
}

.point-area-img-box01 .notes {
	padding-top: 5px;
}

@media screen and (max-width: 767px) {
	.point-area-img-box01 .notes {
		padding-top: calc(5/750 * 100vw);
	}
}

.point-area-img-box02 {
	width: 900px;
	margin: 0 auto 60px;
}

.point-area-img-box02 img {
	width: 100%;
}

@media screen and (max-width: 767px) {
	.point-area-img-box02 {
		width: calc(710/750 * 100vw);
		margin: calc(0/750 * 100vw) 0 calc(60/750 * 100vw);
	}
}

.point-area-img-box02 .notes {
	padding-top: 5px;
}

@media screen and (max-width: 767px) {
	.point-area-img-box02 .notes {
		padding-top: calc(5/750 * 100vw);
	}
}

.point-area-sub-box {
	width: 440px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.point-area-sub-box {
		width: 100%;
		margin-bottom: calc(80/750 * 100vw);
	}
}

.point-area-sub-head-wrap {
	background: #004ea2;
	border-radius: 30px;
	text-align: center;
	padding: 6px 0;
	margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
	.point-area-sub-head-wrap {
		padding: calc(8/750 * 100vw) 0;
		margin-bottom: calc(30/750 * 100vw);
	}
}

.point-area-sub-head-wrap p {
	color: #fff;
	font-weight: bold;
	font-size: 24px;
}

@media screen and (max-width: 767px) {
	.point-area-sub-head-wrap p {
		font-size: calc(34/750 * 100vw);
	}
}

.point-area-sub-head {
	text-align: center;
	font-size: 22px;
	margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
	.point-area-sub-head {
		font-size: calc(30/750 * 100vw);
		margin-bottom: calc(20/750 * 100vw);
	}
}

.point-area-sub-box-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-bottom: 60px;
}

@media screen and (max-width: 767px) {
	.point-area-sub-box-wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding-bottom: 0;
	}
}

@media screen and (max-width: 767px) {
	.point-area-sub-box.mb0 {
		margin-bottom: calc(20/750 * 100vw);
	}
}

.point-area-sub-box:last-child {
	margin-left: 40px;
}

@media screen and (max-width: 767px) {
	.point-area-sub-box:last-child {
		margin-left: 0;
	}
}

.tal-tac {
	text-align: left;
}

@media screen and (max-width: 767px) {
	.tal-tac {
		text-align: center;
	}
}

.point-area-notes {
	font-size: 70%;
	padding-top: 20px;
}

@media screen and (max-width: 767px) {
	.point-area-notes {
		padding-top: calc(30/750 * 100vw);
	}
}

.cv-point .cv-area-inner {
	padding: 50px 0 20px;
}

/* ============================
Voice
===================================================*/
.voice-wrap {
	background: #e7ecf2;
}

.voice-list {
	width: 900px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.voice-list {
		width: calc(710/750 * 100vw);
	}
}

.voice-list-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
	.voice-list-item {
		margin-bottom: calc(70/750 * 100vw);
	}
}

.voice-list-item:last-child {
	margin-bottom: 0;
}

.voice-list-item:nth-child(2n) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.voice-baloon {
	border-radius: 6px;
	background: #fff;
	width: 760px;
	padding: 30px 40px;
	font-size: 22px;
	position: relative;
}

.slider .voice-baloon {
	border-radius: 6px;
	background: #fff;
	width: 100%;
	padding: 30px 40px;
	font-size: 22px;
	position: relative;
}

@media screen and (max-width: 767px) {
	.voice-baloon {
		font-size: calc(32/750 * 100vw) !important;
		width: calc(540/750 * 100vw);
		padding: calc(30/750 * 100vw) calc(40/750 * 100vw);
	}
}

.voice-baloon::before {
	bottom: 99%;
	left: 46%;
	content: "";
	position: absolute;
	bottom: -40px;
	border: 20px solid transparent;
	border-top: 30px solid #fff;
}

@media screen and (max-width: 767px) {
	.voice-baloon::before {
		left: 44%;
	}

	.voice-list-item:nth-child(odd) .voice-baloon::before {
		top: calc(42/750 * 100vw);
	}
}

.voice-list-item:nth-child(2n) .voice-baloon::before {
	content: "";
	position: absolute;
	top: 40px;
	right: 99%;
	border: 10px solid transparent;
	border-right: 20px solid #fff;
}

@media screen and (max-width: 767px) {
	.voice-list-item:nth-child(2n) .voice-baloon::before {
		top: calc(42/750 * 100vw);
	}
}

.voice-baloon-icon {
	width: 100%;
	margin-top: 35px;
}

@media screen and (max-width: 767px) {
	.voice-baloon-icon {
		width: 50%;
		margin: 30px auto 0 auto;
	}
}

.start-apostrophe,
.end-apostrophe {
	width: 24px;
	height: 21px;
	font-size: 0;
	position: absolute;
}

@media screen and (max-width: 767px) {

	.start-apostrophe,
	.end-apostrophe {
		width: calc(24/750 * 100vw);
		height: calc(21/750 * 100vw);
	}
}

.start-apostrophe {
	top: 0;
	left: 20px;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.end-apostrophe {
	bottom: 0;
	right: 20px;
	-webkit-transform: translate(0%, 50%);
	transform: translate(0%, 50%);
}

/* ============================
curriculum
===================================================*/
.curriculum-inner {
	width: 1000px;
	margin: 0 auto;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.curriculum-inner {
		width: calc(710/750 * 100vw);
	}
}

.curriculum-txt {
	padding: 0 50px 40px;
	text-align: left;
}

@media screen and (max-width: 767px) {
	.curriculum-txt {
		padding: 0 0 calc(60/750 * 100vw);
	}
}

.curriculum-ttl {
	font-size: 30px;
	font-weight: bold;
	text-align: left;
}

.curriculum-ttlSub {
	font-size: 25px;
	/*20px*/
	font-weight: bold;
	text-align: left;
}

.bgYellow {
	background: #FCECA7;
}

/* ============================
textbook
===================================================*/
.textbook-inner {
	width: 1000px;
	margin: 0 auto;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.textbook-inner {
		width: calc(710/750 * 100vw);
	}
}

.textbook-txt {
	padding: 0 50px 40px;
	text-align: left;
}

@media screen and (max-width: 767px) {
	.textbook-txt {
		padding: 0 0 calc(60/750 * 100vw);
	}
}

@media screen and (max-width: 767px) {
	.text-img {
		margin: 0 auto;
		width: calc(670/750 * 100vw);
	}
}

.text-img .notes {
	text-align: left;
	padding-top: 15px;
}

@media screen and (min-width: 768px) {
	.text-img .notes {
		width: 700px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 767px) {
	.text-img .notes {
		padding-bottom: calc(15/750 * 100vw);
	}
}

.textbook-sub-ttl {
	margin: 60px auto 30px;
}

@media screen and (max-width: 767px) {
	.textbook-sub-ttl {
		margin: calc(60/750 * 100vw) auto calc(30/750 * 100vw);
	}
}

/* ============================
price
===================================================*/
.price {
	/* background: #e7ecf2; */
}

.price .campaign-box {
	width: 1000px;
	margin: 0 auto 80px;
	text-align: center;
	padding: 60px 40px;
}

@media screen and (max-width: 767px) {
	.price .campaign-box {
		width: calc(710/750 * 100vw);
		margin: 0 auto calc(100/750 * 100vw);
		padding: calc(60/750 * 100vw) calc(40/750 * 100vw);
	}
}

.price .campaign-box .campaign-box-ttl {
	width: 920px;
}

@media screen and (max-width: 767px) {
	.price .campaign-box .campaign-box-ttl {
		width: calc(630/750 * 100vw);
	}
}

.campaign .campaign-box .price-list,
.price .campaign-box .price-list {
	width: 500px;
	margin-top: 40px;
}

@media screen and (max-width: 767px) {

	.campaign .campaign-box .price-list,
	.price .campaign-box .price-list {
		width: calc(630/750 * 100vw);
		margin-top: calc(40/750 * 100vw);
	}
}

.campaign .campaign-box .price-list-item,
.campaign .campaign-box .price-list-item03,
.price .campaign-box .price-list-item,
.price .campaign-box .price-list-item03 {
	/*width: 500px;*/
	border: #004ea2 1px solid;
	padding-bottom: 20px;
	display: block;
}

.campaign .campaign-box .price-list-item01,
.price .campaign-box .price-list-item01 {
	/*width: 500px;*/
	border: #004ea2 1px solid;
	padding-bottom: 20px;
	display: block;
	margin-bottom: 40px;
}

@media screen and (max-width: 767px) {

	.campaign .campaign-box .price-list-item,
	.campaign .campaign-box .price-list-item03,
	.price .campaign-box .price-list-item,
	.price .campaign-box .price-list-item01 {
		width: calc(630/750 * 100vw);
		padding-bottom: calc(20/750 * 100vw);
	}
}

.campaign .campaign-box .price-list-item-ttl,
.price .campaign-box .price-list-item-ttl {
	height: 130px;
	/*110px*/
	margin-bottom: 20px;
}

.campaign .campaign-box .price-list-item-ttl03,
.price .campaign-box .price-list-item-ttl03 {
	height: 130px;
	margin-bottom: 20px;
}

@media screen and (max-width: 767px) {

	.campaign .campaign-box .price-list-item-ttl,
	.campaign .campaign-box .price-list-item-ttl03,
	.price .campaign-box .price-list-item-ttl,
	.price .campaign-box .price-list-item-ttl03 {
		height: calc(150/750 * 100vw);
		margin-bottom: calc(20/750 * 100vw);
	}
}

.campaign .campaign-box .price-list-item-ttl h4,
.price .campaign-box .price-list-item-ttl h4 {
	font-size: 28px;
}

@media screen and (max-width: 767px) {

	.campaign .campaign-box .price-list-item-ttl h4,
	.price .campaign-box .price-list-item-ttl h4 {
		font-size: calc(34/750 * 100vw);
	}
}

.price .campaign-box .price-list-item-num-wrap {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.campaign .campaign-box .price-list-item-num-wrap,
.price .campaign-box .price-list-item-num-wrap {
	padding: 0 10px;
	/*0 30px*/
}

@media screen and (max-width: 767px) {
	.price .campaign-box .price-list-item-num-wrap {
		padding: 0 calc(20/750 * 100vw);
	}
}

.price .campaign-box .price-list-item-num-pay {
	white-space: nowrap;
}

.price .campaign-box .price-list-item-num-price {
	line-height: 1.2;
}

@media screen and (max-width: 767px) {
	.price .campaign-box .price-list-item-num-price {
		font-size: calc(50/750 * 100vw);
		-webkit-font-feature-settings: "palt";
		font-feature-settings: "palt";
		letter-spacing: 0.02em;
		white-space: nowrap;
	}
}

.price .campaign-box .price-list-item-num-price .small {
	font-size: 60%;
}

.new-box {
	width: 80px;
	height: 80px;
	position: absolute;
	border-radius: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	top: 20px;
	left: 20px;
	background: #c8000b;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 767px) {
	.new-box {
		width: calc(100/750 * 100vw);
		height: calc(100/750 * 100vw);
		top: calc(30/750 * 100vw);
		left: calc(30/750 * 100vw);
	}
}

.new-box p {
	color: #fff;
	font-weight: bold;
	font-size: 24px;
}

@media screen and (max-width: 767px) {
	.new-box p {
		font-size: calc(24/750 * 100vw);
	}
}

.price-ttl {
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
	.price-ttl {
		font-size: calc(40/750 * 100vw);
		padding-bottom: calc(20/750 * 100vw);
	}
}

.price-list,
.price-list01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 660px;
	margin: 0 auto;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.price-list01 {
	width: 1000px;
}

@media screen and (max-width: 767px) {
	.price-list {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		width: calc(710/750 * 100vw);
	}
}

.price-list01 {
	margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
	.price-list01 {
		margin-bottom: calc(100/750 * 100vw);
	}
}

.price-list02 {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.price-list03 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 920px;
	margin: 0 auto;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 767px) {

	.price-list,
	.price-list03 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		width: calc(630/750 * 100vw);
	}
}

.price-list-item {
	background: #fff;
	/*width: 320px;*/
	padding-bottom: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: relative;
}

.price-list-item01 {
	background: #fff;
	/*width: 500px;*/
	padding-bottom: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: relative;
}

.price-list-item03 {
	background: #fff;
	width: 295px;
	padding-bottom: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: relative;
}

@media screen and (max-width: 767px) {
	.price-list-item {
		width: calc(630/750 * 100vw);
		padding-bottom: calc(30/750 * 100vw);
		margin-bottom: calc(60/750 * 100vw);
	}

	.price-list-item03 {
		width: calc(630/750 * 100vw);
		padding-bottom: calc(30/750 * 100vw);
		margin-bottom: calc(60/750 * 100vw);
	}

}

.price-list-item .notes {
	position: absolute;
	bottom: -4px;
	left: 0;
	-webkit-transform: translate(0%, 100%);
	transform: translate(0%, 100%);
}

.price-list-item:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 767px) {
	.price-list-item-wnotes {
		margin-bottom: calc(160/750 * 100vw);
	}
}

.price-list-item-ttl,
.price-list-item-ttl03 {
	background: #004ea2;
	height: 120px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	line-height: 1.4;
}

@media screen and (max-width: 767px) {

	.price-list-item-ttl,
	.price-list-item-ttl03 {
		height: calc(150/750 * 100vw);
	}
}

.price-list-item-ttl h4 {
	color: #fff;
	font-weight: bold;
	font-size: 26px;
}

.price-list-item-ttl03 h4 {
	color: #fff;
	font-weight: bold;
	font-size: 23px;
}

@media screen and (max-width: 767px) {

	.price-list-item-ttl h4,
	.price-list-item-ttl03 h4 {
		font-size: calc(34/750 * 100vw);
	}
}

.price-list-item-num-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-item-align: end;
	align-self: flex-end;
	vertical-align: bottom;
	margin: auto auto 0;
}

.price-list-item-num-pay {
	background: #004ea2;
	display: inline-block;
	margin-right: 6px;
	padding: 0 10px 2px;
}

@media screen and (max-width: 767px) {
	.price-list-item-num-pay {
		padding: 0 calc(18/750 * 100vw) calc(4/750 * 100vw);
	}
}

.price-list-item-num-pay p {
	color: #fff;
	font-weight: bold;
	font-size: 22px;
}

@media screen and (max-width: 767px) {
	.price-list-item-num-pay p {
		font-size: calc(30/750 * 100vw);
	}
}

.price-list-item-txt {
	padding: 20px 20px 10px 20px;
	font-size: 20px;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}

@media screen and (max-width: 767px) {
	.price-list-item-txt {
		font-size: calc(32/750 * 100vw);
	}
}

.price-list-item-num-price {
	font-size: 40px;
	color: #004ea2;
	font-weight: bold;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}

@media screen and (max-width: 767px) {
	.price-list-item-num-price {
		font-size: calc(62/750 * 100vw);
	}
}

/* ============================
schedule
===================================================*/
.schedule-ttl {
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	padding-bottom: 30px;
}

.schedule-box {
	width: 1000px;
	margin: 0 auto 80px;
	text-align: center;
	padding: 0px 40px;
}

@media screen and (max-width: 767px) {
	.schedule-box {
		width: calc(710/750 * 100vw);
		margin: 0 auto calc(100/750 * 100vw);
		padding: calc(60/750 * 100vw) calc(40/750 * 100vw);
	}
}

/* ============================
review
===================================================*/
.review-wrap {
	background: #e7ecf2;
}

.review-txt {
	text-align: center;
	padding-bottom: 40px;
	font-size: 22px;
}

@media screen and (max-width: 767px) {
	.review-txt {
		font-size: calc(32/750 * 100vw);
	}
}

.review-list {
	width: 900px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.review-list {
		width: calc(710/750 * 100vw);
	}
}

.review-list-item {
	border: #d0dadf 4px solid;
	/*#e7ecf2*/
	background: #fff;
	padding: 30px;
	margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
	.review-list-item {
		padding: calc(40/750 * 100vw);
		margin-bottom: calc(40/750 * 100vw);
		border: #e7ecf2 calc(6/750 * 100vw) solid;
	}
}

.review-list-ttl-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	border-bottom: 1px solid #e7ecf2;
	padding-bottom: 15px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
	.review-list-ttl-wrap {
		padding-bottom: calc(20/750 * 100vw);
		margin-bottom: calc(20/750 * 100vw);
	}
}

.review-list-ttl {
	font-size: 30px;
	font-weight: bold;
	color: #004ea2;
	padding-bottom: 5px;
}

@media screen and (max-width: 767px) {
	.review-list-ttl {
		font-size: calc(38/750 * 100vw);
		padding-bottom: calc(10/750 * 100vw);
	}
}

.review-list-ttl-box {
	width: 760px;
}

@media screen and (max-width: 767px) {
	.review-list-ttl-box {
		width: calc(550/750 * 100vw);
	}
}

.review-icon {
	font-size: 0;
	width: 50px;
}

@media screen and (max-width: 767px) {
	.review-icon {
		width: calc(50/750 * 100vw);
	}
}

.review-list-ttl-data {
	font-size: 18px;
}

@media screen and (max-width: 767px) {
	.review-list-ttl-data {
		font-size: calc(26/750 * 100vw);
	}
}

.review-list-txt {
	font-size: 22px;
	padding-bottom: 40px;
}

@media screen and (max-width: 767px) {
	.review-list-txt {
		font-size: calc(32/750 * 100vw);
		padding-bottom: calc(40/750 * 100vw);
	}
}

.review-list-tag {
	font-size: 18px;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	.review-list-tag {
		font-size: calc(26/750 * 100vw);
	}
}

.cv-review {
	background: #e7ecf2;
}

.cv-footer {
	background: #ffffff;
	/*#e7ecf2*/
}

.cv-area-btn-list-footer-top {
	width: 660px;
	margin: 0 auto;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

@media screen and (max-width: 767px) {
	.cv-area-btn-list-footer-top {
		width: calc(670/750 * 100vw);
	}
}

.cv-area-btn-list-footer-top li a {
	width: 100%;
}

.cv-area-btn-list-footer-top .common-list-btn {
	margin: 20px 0 0;
}

@media screen and (max-width: 767px) {
	.cv-area-btn-list-footer-top .common-list-btn {
		margin: calc(20/750 * 100vw) 0 0;
	}
}

@media screen and (max-width: 767px) {
	.cv-area-btn-list-footer-top .cv-area-btn-exp {
		margin-bottom: 0;
	}
}

.cv-area-btn-list-footer-top-txt {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
	.cv-area-btn-list-footer-top-txt {
		font-size: calc(26/750 * 100vw);
	}
}

.cv-area-btn-list-footer {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 660px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

@media screen and (max-width: 767px) {
	.cv-area-btn-list-footer {
		width: calc(670/750 * 100vw);
	}
}

.cv-area-btn-list-footer li {
	width: 49%;
}

.cv-area-btn-list-footer li a {
	width: 100%;
	margin: 0;
}

.cv-area-btn-list-footer li:first-child {
	width: 100%;
	margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
	.cv-area-btn-list-footer li:first-child {
		margin-bottom: calc(50/750 * 100vw);
	}
}

.cv-area-btn-list-footer .common-list-btn {
	margin: 0;
}

@media screen and (max-width: 767px) {
	.cv-area-btn-list-footer .cv-area-btn-exp {
		margin-bottom: 0;
	}
}

/* ============================
footer
===================================================*/
.cv-area-btn-list-footer-txt {
	font-size: 38px;
	text-align: center;
	font-weight: bold;
	line-height: 1.1;
	padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
	.cv-area-btn-list-footer-txt {
		font-size: calc(40/750 * 100vw);
		padding-bottom: calc(30/750 * 100vw);
	}
}

.footer {
	text-align: center;
	font-size: 70%;
	padding: 30px 0;
}


/* ============================
??L
===================================================*/
.nowrap {
	white-space: nowrap;
}

span.nowrap {
	display: inline-block;
	/* white-space: normal; */
}

@media screen and (max-width:767px) {
	.scrollBox {
		overflow-x: auto;
	}

	.scrollBox table {
		width: 122.5%;
	}

	.scrollBox table.tdCenter td {
		text-align: left !important;
	}

	.scrollBox::-webkit-scrollbar {
		height: 5px;
	}

	.scrollBox::-webkit-scrollbar-track {
		background: #f6f6f6;
	}

	.scrollBox::-webkit-scrollbar-thumb {
		background: #c2c2c2;
	}
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

table th {
	/*	background: #d0dadf;*/
	background: #e7ecf2;
	border: solid 1px #ccc;
	padding: 10px;
	table-layout: fixed;
	vertical-align: middle;
	font-size: 17px;
}

table td {
	padding: 10px;
	border: solid 1px #ccc;
	table-layout: fixed;
	vertical-align: middle;
	background: #fff;
	text-align: center;
	font-size: 18px;
}

@media screen and (max-width: 767px) {

	table th,
	table td {

		font-size: 14px;
		white-space: nowrap;
	}
}

/*20220421??L*/


.mondai-txtbox {
	width: 610px;
}

@media screen and (max-width: 767px) {
	.mondai-txtbox {
		width: 100%;
	}
}

.mondai-box-ttl {
	font-size: 28px;
	color: #004ea2;
	font-weight: bold;
	padding-bottom: 10px;
	text-align: left;
	line-height: 1.4;
}

@media screen and (max-width: 767px) {
	.mondai-box-ttl {
		text-align: center;
		padding-bottom: calc(10/750 *100vw);
		font-size: calc(36/750 *100vw);
	}
}

.mondai-box-txt {
	text-align: left;
	margin-top: 11px;
}


.mondai-icon {
	width: 200px;
	font-size: 0;
}

@media screen and (max-width: 767px) {
	.mondai-icon {
		width: calc(200/750 *100vw);
		margin-bottom: calc(30/750 *100vw);
		margin-top: 20px;
	}
}


.mondai-box {
	width: 900px;
	margin: 0 auto 10px auto;
	border: 4px #e7ecf2 solid;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 30px 25px;
}

@media screen and (max-width: 767px) {
	.mondai-box {
		width: calc(710/750 *100vw);
		padding: calc(50/750 *100vw) calc(40/750 *100vw);
		border: calc(6/750 *100vw) #e7ecf2 solid;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

/*------------------------------------------------
margin padding??
-------------------------------------------------*/
.mgL1em {
	margin-left: 1em !important;
}

.mgR1em {
	margin-right: 1em !important;
}

.mgT1em {
	margin-top: 1em !important;
}

.mgT12em {
	margin-top: 1.2em !important;
}

.mgB1em {
	margin-bottom: 1em !important;
}

.mgTRBL00 {
	margin: 0 !important;
}

.mgTRBL05 {
	margin: 5px !important;
}

.mgTRBL10 {
	margin: 10px !important;
}

.mgTRBL15 {
	margin: 15px !important;
}

.mgTRBL20 {
	margin: 20px !important;
}

.mgTRBL25 {
	margin: 25px !important;
}

.mgTRBL30 {
	margin: 30px !important;
}

.mgT00 {
	margin-top: 0 !important;
}

.mgT05 {
	margin-top: 05px !important;
}

.mgT10 {
	margin-top: 10px !important;
}

.mgT15 {
	margin-top: 15px !important;
}

.mgT20 {
	margin-top: 20px !important;
}

.mgT25 {
	margin-top: 25px !important;
}

.mgT30 {
	margin-top: 30px !important;
}

.mgT35 {
	margin-top: 35px !important;
}

.mgR00 {
	margin-right: 0 !important;
}

.mgR05 {
	margin-right: 05px !important;
}

.mgR10 {
	margin-right: 10px !important;
}

.mgR15 {
	margin-right: 15px !important;
}

.mgR20 {
	margin-right: 20px !important;
}

.mgR25 {
	margin-right: 25px !important;
}

.mgR30 {
	margin-right: 30px !important;
}

.mgR35 {
	margin-right: 35px !important;
}

.mgB00 {
	margin-bottom: 0 !important;
}

.mgB05 {
	margin-bottom: 05px !important;
}

.mgB10 {
	margin-bottom: 10px !important;
}

.mgB15 {
	margin-bottom: 15px !important;
}

.mgB20 {
	margin-bottom: 20px !important;
}

.mgB25 {
	margin-bottom: 25px !important;
}

.mgB30 {
	margin-bottom: 30px !important;
}

.mgB35 {
	margin-bottom: 35px !important;
}

.mgL00 {
	margin-left: 0 !important;
}

.mgL05 {
	margin-left: 05px !important;
}

.mgL10 {
	margin-left: 10px !important;
}

.mgL15 {
	margin-left: 15px !important;
}

.mgL20 {
	margin-left: 20px !important;
}

.mgL25 {
	margin-left: 25px !important;
}

.mgL30 {
	margin-left: 30px !important;
}

.mgL35 {
	margin-left: 35px !important;
}

.pdT1em {
	padding-top: 1em !important;
}

.pdB1em {
	padding-bottom: 1em !important;
}

.pdR1em {
	padding-right: 1em !important;
}

.pdL1em {
	padding-left: 1em !important;
}

.pdTRBL1em {
	padding: 1em !important;
}

.pdT05 {
	padding-top: 5px !important;
}

.pdB05 {
	padding-bottom: 5px !important;
}

.pdR05 {
	padding-right: 5px !important;
}

.pdL05 {
	padding-left: 5px !important;
}

.pdTRBL05 {
	padding: 5px !important;
}

.pdT10 {
	padding-top: 10px !important;
}

.pdB10 {
	padding-bottom: 10px !important;
}

.pdR10 {
	padding-right: 10px !important;
}

.pdL10 {
	padding-left: 10px !important;
}

.pdTRBL10 {
	padding: 10px !important;
}

.pdT15 {
	padding-top: 15px !important;
}

.pdB15 {
	padding-bottom: 15px !important;
}

.pdR15 {
	padding-right: 15px !important;
}

.pdL15 {
	padding-left: 15px !important;
}

.pdTRBL15 {
	padding: 15px !important;
}

.pdT20 {
	padding-top: 20px !important;
}

.pdB20 {
	padding-bottom: 20px !important;
}

.pdR20 {
	padding-right: 20px !important;
}

.pdL20 {
	padding-left: 20px !important;
}

.pdTRBL20 {
	padding: 20px !important;
}

.pdT25 {
	padding-top: 25px !important;
}

.pdB25 {
	padding-bottom: 25px !important;
}

.pdR25 {
	padding-right: 25px !important;
}

.pdL25 {
	padding-left: 25px !important;
}

.pdTRBL25 {
	padding: 25px !important;
}

.pdT30 {
	padding-top: 30px !important;
}

.pdB30 {
	padding-bottom: 30px !important;
}

.pdR30 {
	padding-right: 30px !important;
}

.pdL30 {
	padding-left: 30px !important;
}

.pdTRBL30 {
	padding: 30px !important;
}




/*----------------------------------
2023.02.13 ??L
----------------------------------*/

div.support_BOX {
	text-align: left;
	border-radius: 10px;
	/* border: #004ea2 4px solid; */
	width: 1000px;
	margin: 0 auto;
	position: relative;
	padding: 40px;
	background: #e7ecf2;
}


@media screen and (max-width: 767px) {
	div.support_BOX {
		width: calc(710/750 * 100vw);
		padding: 10px;
	}
}



div.support_BOX h3 {
	font-size: 2.6rem;
	color: #004ea2;
	margin-bottom: 30px;
}

div.support_BOX h3.pc {
	display: block !important;
}

div.support_BOX h3.sm {
	display: none !important;
}

@media screen and (max-width:767px) {
	div.support_BOX h3.sm {
		display: block !important;
	}

	div.support_BOX h3.pc {
		display: none !important;
	}

	div.support_BOX {
		width: calc(710/750 * 100vw);
		padding: 10px;
	}

	div.support_BOX h3 {
		font-size: 2.0rem;
		line-height: 1.2;
		margin-bottom: 20px;
	}
}


div.support_BOX dl {
	margin-bottom: 30px;
}

div.support_BOX dl dt {
	font-weight: 700;
	font-size: 2.6rem;
}

div.support_BOX dl dd {
	border-bottom: dashed 2px #bbd1eb;
	padding-bottom: 30px;
}

div.support_BOX dl dd.Bnone {
	border-bottom: none;
}

@media screen and (max-width:767px) {
	div.support_BOX dl dt {
		font-size: 1.8rem;
	}

	div.support_BOX dl dd {
		font-feature-settings: "palt";
	}
}

/*-------------------
?????e
-------------------*/

ul.detail_navi {
	width: 900px;
	margin: 40px auto;
	background: #e7ecf2;
	padding: 20px;
}



@media screen and (max-width: 767px) {
	ul.detail_navi {
		width: calc(710/750 *100vw);
		padding: calc(20/750 *100vw) calc(30/750 *100vw);
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		font-size: -0.8rem;
	}
}


ul.detail_navi li {
	display: inline-block;
	position: relative;
	font-size: 16px;
	padding: 0 15px;
}

/*
ul.detail_navi li:after
{
	content:" / ";	
}
*/
ul.detail_navi li::after,
ul.detail_navi li:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}


ul.detail_navi li::after {
	display: inline-block;
	vertical-align: middle;
	color: #333;
	line-height: 1;
	width: 6px;
	height: 6px;
	border: 0.1em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-25%) rotate(135deg);
}


ul.detail_navi a {
	color: #007bff;
}

p.back_arr {
	font-size: 16px;
	text-align: right;
	position: relative;
	padding-right: 20px;
	color: #007bff;

}

p.back_arr a {
	color: #007bff;
}

.back_arr::after,
.back_arr:before {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}


.back_arr::after {
	display: inline-block;
	vertical-align: middle;
	color: #007bff;
	line-height: 1;
	width: 6px;
	height: 6px;
	border: 0.1em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(25%) rotate(-45deg);
}


.inner_text {
	width: 610px;
	text-align: left;
	margin-top: 11px;
	margin: 10px 20px 0 0;
}

@media screen and (max-width: 767px) {
	.inner_text {
		width: 100%;
		margin: 0;
	}
}


.detail_img {
	/* width: 200px; */
	font-size: 0;
}

@media screen and (max-width: 767px) {
	.detail_img {
		/* width: calc(300/750 *100vw); */
		margin-bottom: calc(30/750 *100vw);
		margin-top: 20px;
		text-align: center;
		margin: 20px auto 0;
	}
}


.detail_BOX {
	width: 900px;
	margin: 40px auto;
	border: 4px #e7ecf2 solid;
	/* display: -webkit-box; */
	display: -ms-flexbox;
	/* display: flex; */
	/* -webkit-box-align: center; */
	-ms-flex-align: center;
	align-items: center;
	/* -webkit-box-pack: justify; */
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 30px 25px;
}



@media screen and (max-width: 767px) {
	.detail_BOX {
		width: calc(710/750 *100vw);
		padding: calc(50/750 *100vw) calc(40/750 *100vw);
		border: calc(6/750 *100vw) #e7ecf2 solid;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}



.detail_BOX .inner {
	display: flex;
}


@media screen and (max-width: 767px) {
	.detail_BOX .inner {
		display: inline-block;
	}
}


.detail_BOX h4.ttl {
	font-weight: bold;
	font-size: 3.2rem;
	color: #004ea2;
}


@media screen and (max-width: 767px) {
	.detail_BOX h4.ttl {
		font-size: 2.2rem;
		line-height: 1.2;
		padding-bottom: 15px;
	}
}




/*?????o??????*/
.arrow_box {
	position: relative;
	width: 80%;
	height: auto;
	padding: 10px;
	text-align: center;
	color: #666;
	font-size: 2.2rem;
	font-weight: bold;
	border-radius: 10px;
	-webkit-border-radius: 120px;
	-moz-border-radius: 10px;
	margin: 0px auto 20px auto;
	border: solid #62ded6 3px;
	z-index: 6;
	background: #fff;
}

.arrow_box:after {
	border: solid transparent;
	content: '';
	height: 0;
	width: 0;
	pointer-events: none;
	position: absolute;
	border-color: rgba(0, 153, 255, 0);
	border-top-width: 15px;
	border-bottom-width: 15px;
	border-left-width: 10px;
	border-right-width: 10px;
	margin-left: -15px;
	border-top-color: #62ded6;
	top: 100%;
	left: 50%;
}

.arrow_box span.Big {
	font-size: 2.5rem;
	color: #FF9800;
}

@media screen and (max-width: 767px) {
	.arrow_box {
		padding: 10 calc(30/750 *100vw);
		height: calc(120/750 *100vw);
		font-size: calc(28/750 *100vw);
		border-radius: calc(100/750 *100vw);
		line-height: 1.2;
	}

	.arrow_box span.Big {
		font-size: calc(36/750 *100vw);
		display: block;
	}
}



/* ============================
	lineupBox
===================================================*/
.kouza01,
.kouza02,
.kouza03,
.kouza04 {
	padding: 10px;
	background: #ffffff;
	border-radius: 18px;
	border: #d0dadf 4px solid;
}

.kouza01,
.kouza02 {
	margin-top: 38px;
}

@media screen and (max-width: 767px) {

	.kouza01,
	.kouza02,
	.kouza04 {
		margin-top: 0px;
	}
}

.kouza03 {
	border: #dd3602 4px solid;
}

.kouza04 {
	border: #bb0303 4px solid;
}

.courseTtl {
	border-radius: 8px;
	color: #fff;
	font-size: 20px;
	text-align: center;
	line-height: 1.5;
	padding: 2rem;
	font-weight: 800;
}

@media screen and (max-width: 767px) {
	.courseTtl {
	font-size: 1.4em;
	}
}

.kouza01 .courseTtl {
	background: #ddba02;
}

.kouza02 .courseTtl {
	background: #dd7d02;
}

.kouza03 .courseTtl {
	background: #dd3602;
}

.kouza04 .courseTtl {
	background: #bb0303;
}

.osusume {
	font-size: 24px;
	font-weight: bold;
	color: #dd3602;
}

.kakaku {
	font-size: 1.5em;
	font-weight: bold;
	margin: 20px 0;
	line-height: 1.2;
}

.kakaku span {
	font-size: 0.5em;
	font-weight: normal;
}

.kouza01 .kakaku,
.kouza01 .catch {
	color: #ddba02;
}

.kouza02 .kakaku,
.kouza02 .catch {
	color: #dd7d02;
}

.kouza03 .kakaku,
.kouza03 .catch {
	color: #dd3602;
}

.kouza04 .kakaku,
.kouza04 .catch {
	color: #bb0303;
}

.courseContent li {
	color: #ffffff;
	font-size: 0.7em;
	background: #629ad7;
	margin-bottom: 7px;
	border-radius: 6px;
}

@media (max-width: 768px) {
	.courseContent li {
		font-size: 14px;
		padding: 3px 0;
	}
}

.courseContent li:nth-child(2n) {
	background: #82a8d1;
}

.courseContent li.gray {
	background: #cdcdcd;
}




a.btn_02 {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: auto;
	padding: 1rem 5rem;
	font-weight: bold;
	border: 2px solid #004EA2;
	background: #004EA2;
	color: #fff;
	transition: 0.5s;
	border-radius: 10vh;
	font-size: 18px;
	line-height: 1.2;
}

a.btn_02:hover {
	color: #004EA2;
	background: #fff;
}

/*---------------------------
???j???[?A??
---------------------------*/
.renewal_box {
	border-radius: 10px;
	border: #dba8fa 4px solid;
	width: 1000px;
	margin: 0 auto;
	position: relative;
	padding: 2em;
}

@media screen and (max-width: 767px) {
	.renewal_box {
		width: 100%;
		width: calc(710/750 *100vw);
		padding: calc(50/750 *100vw) calc(40/750 *100vw);
	}
}

.renewal_txt {
	text-align: center;
	padding-bottom: 70px;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}

@media screen and (max-width: 767px) {
	.renewal_txt {
		padding: 0 calc(20/750 * 100vw) calc(60/750 * 100vw);
		text-align: left;
	}
}

dl.renewal_box_inner {
	background: #f1e0fd;
	padding: 2rem;
	border-radius: 20px;
}


dl.renewal_box_inner dt {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-weight: bold;
	font-size: 22px;
	color: #a03af5;
}


.renewal_box_ttl {
	position: absolute;
	background: #a03af5;
	border-radius: 30px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	top: 0;
	left: 50%;
	padding: 0 70px;
}

@media screen and (max-width: 767px) {
	.renewal_box_ttl {
		padding: 0 calc(40/750 * 100vw);
	}
}

.renewal_box_ttl p {
	color: #fff;
	font-weight: bold;
	font-size: 30px;
}

@media screen and (max-width: 767px) {
	.renewal_box_ttl p {
		font-size: calc(30/750 * 100vw);
	}
}

.renewal_box .row {
	margin: 0;
}



/*CP?i???X?}?z????*/
.cv_pr {
	text-align: center;
	margin: auto;
	line-height: 1.4;
	padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
	.cv_pr {
		width: 100%;
		height: auto;
		padding: 10px;
		text-align: center;
		color: #666;
		font-weight: bold;
		display: block;
	}
}

.cv_pr span.Big {
	/* font-size: 1.8rem; */
	color: #FF9800;
	font-weight: 800;
}






.teacher-ttl {
	line-height: 1.4;
	/* padding-bottom: 20px; */
	font-weight: 600;
	font-size: 3.4rem;
	color: #004ea2;
}

@media screen and (max-width: 767px) {
	.teacher-ttl {
		font-size: 2.2rem;
	}
}

/* ============================
	price
===================================================*/
.price-inner {
	width: 900px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.price-inner {
		width: calc(710 / 750* 100vw);
	}
}

.price-inner .courseContent {
	margin: 0;
}

.price-inner .courseContent li {
	border-radius: 6px;
	padding: 0.4em;
}

.price-inner .courseContent .gridclear,
.price-inner .courseContent .gridclear~[class^="grid"] {
	margin-top: 5px !important;
}

.price-inner .lineupBox .catch {
	font-size: 0.8em;
	font-weight: bold;
	line-height: 1.4em;
	margin: 20px 0;
}

.price-inner .lineupBox .course {
	font-size: 0.8em;
	margin-bottom: 20px;
	color: #629ad7;
}

.price-inner .lineupBox .course>span {
	font-size: 0.7em;
}


@media screen and (max-width: 767px) {
.price-inner .lineupBox .catch,
.price-inner .lineupBox .course
	{
	font-size: 1em;

}
	}