/*! normalize.css v3.0.3 | MIT License  */



*,

*:before,

*:after {

	box-sizing: border-box;

}



html {

	height: 100%;

	font-size: 62.5%;

	font-family: sans-serif;

	-ms-text-size-adjust: 100%;

	-webkit-text-size-adjust: 100%;

}



body {

	margin: 0;

	padding: 0;

	-webkit-tap-highlight-color: transparent;

	-webkit-font-smoothing: antialiased;

	-moz-osx-font-smoothing: grayscale;

	text-align: justify;

	text-justify: inter-ideograph;

	word-break: normal;

}



article,

aside,

details,

figcaption,

figure,

footer,

header,

hgroup,

main,

menu,

nav,

section,

summary {

	display: block;

}



audio,

canvas,

progress,

video {

	display: inline-block;

	vertical-align: baseline;

}



audio:not([controls]) {

	display: none;

	height: 0;

}



[hidden],

template {

	display: none;

}



a {

	background-color: transparent;

}



a:active,

a:hover {

	outline: 0;

}



abbr[title] {

	border-bottom: 1px dotted;

}



b,

strong {

	font-weight: bold;

}



dfn {

	font-style: italic;

}



h1 {

	font-size: 2em;

	margin: 0.67em 0;

}



mark {

	background: #ff0;

	color: #000;

}



small {

	font-size: 80%;

}



sub,

sup {

	font-size: 75%;

	line-height: 0;

	position: relative;

	vertical-align: baseline;

}



sup {

	top: -0.5em;

}



sub {

	bottom: -0.25em;

}



img {

	border: 0;

}



svg:not(:root) {

	overflow: hidden;

}



figure {

	margin: 1em 40px;

}



hr {

	box-sizing: content-box;

	height: 0;

}



pre {

	overflow: auto;

}



code,

kbd,

pre,

samp {

	font-family: monospace, monospace;

	font-size: 1em;

}



button,

input,

optgroup,

select,

textarea {

	color: inherit;

	font: inherit;

	margin: 0;

}



button {

	overflow: visible;

}



button,

select {

	text-transform: none;

}



button,

html input[type="button"],

input[type="reset"],

input[type="submit"] {

	-webkit-appearance: button;

	cursor: pointer;

}



button[disabled],

html input[disabled] {

	cursor: default;

}



button::-moz-focus-inner,

input::-moz-focus-inner {

	border: 0;

	padding: 0;

}



input {

	line-height: normal;

}



input[type="checkbox"],

input[type="radio"] {

	box-sizing: border-box;

	padding: 0;

}



input[type="number"]::-webkit-inner-spin-button,

input[type="number"]::-webkit-outer-spin-button {

	height: auto;

}



input[type="search"] {

	-webkit-appearance: textfield;

	box-sizing: content-box;

}



input[type="search"]::-webkit-search-cancel-button,

input[type="search"]::-webkit-search-decoration {

	-webkit-appearance: none;

}



fieldset {

	border: 1px solid #c0c0c0;

	margin: 0 2px;

	padding: 0.35em 0.625em 0.75em;

}



legend {

	border: 0;

	padding: 0;

}



textarea {

	overflow: auto;

}



optgroup {

	font-weight: bold;

}



table {

	border-collapse: collapse;

	border-spacing: 0;

}



td,

th {

	padding: 0;

}



/* ---- base ---- */



body {

	position: relative;

	line-height: 1.8;

	background: #FFF;

	color: #000;

	font-size: 16px;

	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;

	word-break: break-all;

	letter-spacing: -.03em;

}



a {

	color: #000;

	text-decoration: none;

}



a img {

	line-height: 0;

}



img {

	width: 100%;

	height: auto;

	vertical-align: top;

}



ul,

p,

figure {

	margin: 0;

}



ul {

	padding: 0;

	list-style: none;

}



/* ---- A ---- */



.pc a {

	transition: opacity .3s;

	opacity: 1.0;

}



.pc a:hover {

	opacity: .8;

}



/* ---- layout ---- */



.l-header {

	width: 100%;

	height: 125px;

	background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #7e0001), color-stop(0, #460000));

	background: -webkit-linear-gradient(#460000, #7e0001);

	background: -moz-linear-gradient(#460000, #7e0001);

	background: -o-linear-gradient(#460000, #7e0001);

	background: -ms-linear-gradient(#460000, #7e0001);

	background: linear-gradient(#460000, #7e0001);

	overflow: hidden;

}



.l-footer {

	clear: both;

	width: 100%;

	background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #7e0001), color-stop(0, #460000));

	background: -webkit-linear-gradient(#460000, #7e0001);

	background: -moz-linear-gradient(#460000, #7e0001);

	background: -o-linear-gradient(#460000, #7e0001);

	background: -ms-linear-gradient(#460000, #7e0001);

	background: linear-gradient(#460000, #7e0001);

}



.l-main {

	padding: 35px 0 0;

}



.l-section {

	position: relative;

	clear: both;

	width: 100%;

	max-width: 1150px;

	margin: 0 auto;

	padding: 0 25px;

}



.l-section100 {

	position: relative;

	clear: both;

	width: 100%;

	max-width: 1230px;

	margin: 0 auto;

	padding: 0 25px;

	overflow: hidden;

}



.l-section50 {

	width: 100%;

	max-width: 500px;

	margin: 0 auto;

}



.l-section50:first-child {

	max-width: 570px;

}



.l-anchor {

	position: relative;

}



.l-pagetop {

	display: none;

	position: fixed;

	right: 10px;

	bottom: 10px;

	width: 62px;

	height: 62px;

	z-index: 8;

}



.l-pagetop-sp {

	position: absolute;

	right: 10px;

	top: -55px;

	width: 50px;

	height: 50px;

}



/* ---- hero ---- */



.hero {

	width: 100%;

}



.hero.is-top {

	position: relative;

	width: 100%;

	height: 100vh;

	overflow: hidden;

}



.hero__body {

	position: relative;

	width: 100%;

	margin: 0 auto;

	height: 500px;

}



.hero__body.is-top {

	height: 100vh;

}



.hero__logo {

	position: absolute;

	width: 100%;

	max-width: 293px;

	margin: 0;

	z-index: 19;

	top: 11.76%;

	left: 50%;

	transform: translateX(-50%);

}



.hero__logo .sp {

	display: inline;

}



.hero__logo .pc {

	display: none;

}



.hero__caption {

	position: absolute;

	width: 100%;

	max-width: 276px;

	padding: 0;

	z-index: 19;

	top: 50%;

	left: 50%;

	opacity: 0;

	transform: translate(-50%, -50%);

	transition: opacity 1s ease;

}



.hero__caption.current {

	opacity: 1.0;

	transition: opacity 3s ease 1s;

}



.hero__caption .sp {

	display: inline;

}



.hero__caption .pc {

	display: none;

}



.hero__btn {

	position: absolute;

	width: 33px;

	height: 36px;

	margin: 0 0 0 -16px;

	z-index: 19;

	bottom: 33px;

	left: 50%;

}



.hero__contents {

	position: absolute;

	width: 100%;

	opacity: .0;

	background-position: 50%;

	background-repeat: no-repeat;

	background-size: cover;

	top: 0;

	right: 0;

	bottom: 0;

	left: 0;

	transform: scale(1);

	transition: opacity 3s ease, transform 11s linear;

}



.hero__contents.current {

	opacity: 1.0;

}



.hero__contents.scale {

	transform: scale(1.2);

	transform-origin: 50% 100%;

}



.hero__contents1 {

	background-image: url(../img/hero_img1_sp.jpg);

}



.hero__contents2 {

	background-image: url(../img/hero_img2_sp.jpg);

	background-position: 50% 100%;

}



.hero__contents3 {

	background-position: 50% 100%;

	background-image: url(../img/hero_img3_sp.jpg);

}



.hero__contents.is-rensyu,

.hero__contents.is-gallery,

.hero__contents.is-school,

.hero__contents.is-nyukai,

.hero__contents.is-question,

.hero__contents.is-gaiyou {

	opacity: 1;

}



.hero__contents.is-rensyu {

	background-image: url(../img/hero_rensyu_sp.jpg);

}



.hero__contents.is-gallery {

	background-image: url(../img/hero_gallery_sp.jpg);

}



.hero__contents.is-school {

	background-image: url(../img/hero_school_sp.jpg);

}



.hero__contents.is-nyukai {

	background-image: url(../img/hero_nyukai_sp.jpg);

}



.hero__contents.is-question {

	background-image: url(../img/hero_question_sp.jpg);

}



.hero__contents.is-gaiyou {

	background-position: 0 50%;

	background-image: url(../img/hero_gaiyou_sp.jpg);

}



/* ---- thumb ---- */



.thumb__figure {

	margin: 0 auto 20px;

}



.thumb__figure:last-child {

	margin: 0 auto;

}



.thumb__list {

	overflow: hidden;

}



.thumb__list img {

	border: 1px solid #CCC;

	padding: 5px;

}



.thumb__ttl {

	margin: 10px 0 20px;

	font-size: 16px;

	text-align: center;

	line-height: 1;

}



.thumb__list.is-top {

	margin: 0 auto;

}

.banaareatop {

	text-align: center;

}



.thumb__list.is-school {

	max-width: 867px;

	margin: 20px auto 0;

}



.thumb__list.is-gaiyou {

	margin: 30px auto 0;

}



/* ---- grid ---- */



.grid1 {

	width: 100%;

	max-width: 342px;

	margin: 0 auto;

}



.grid2 {

	width: 100%;

	max-width: 342px;

	margin: 0 auto 19px;

}



.grid2:last-child {

	margin: 0 auto;

}



.grid2-wide {

	max-width: 342px;

	margin: 0 auto;

}



.grid3 {

	width: 100%;

	max-width: 342px;

	margin: 0 auto;

}

.bana_0829top {

	width: 100%;

}

.bana_0829top img {

	width: 90%;

	text-align: center;

}

/* ---- title ---- */



.main__ttl {

	width: 100%;

	max-width: 1150px;

	margin: 0 auto 50px;

	padding: 0 25px;

	font-size: 18px;

	font-weight: normal;

	text-align: center;

}



.main__ttl.is-top {

	font-size: 14px;

}
/** topバナー用 section */
.l-section.is-top-bnr {
	position: relative;

	clear: both;

	width: 100%;

	max-width: 550px;

	margin: 0 auto 55px;

	padding: 25px;

}
.grid-bnr {

	width: 100%;

	margin: 15px auto;

}


.main__img {

	width: 100%;

	max-width: 700px;

	margin: 0 auto 50px;

	padding: 0 25px;



}







/* ---- section ---- */



.section__ttl {

	margin: 0 0 60px;

	color: #7b0001;

	font-size: 18px;

	text-align: center;

	line-height: 1;

}



.section__ttl .wing {

	position: relative;

	display: inline-block;

	padding: 0 50px;

}



.section__ttl .wing::before,

.section__ttl .wing::after {

	position: absolute;

	display: block;

	content: "";

	background-repeat: no-repeat;

	background-position: 0 0;

	background-size: 100% auto;

	width: 38px;

	height: 30px;

	top: 0px;

}



.section__ttl .wing::before {

	left: 0;

	background-image: url(../img/icon_ttl_left.png);

}



.section__ttl .wing::after {

	right: 0;

	background-image: url(../img/icon_ttl_right.png);

}



.section__ttl.is-top {

	margin: 0 0 20px;

	font-size: 16px;

}



.section__ttl.is-top .wing::before,

.section__ttl.is-top .wing::after {

	top: -5px;

}



.section__ttl.is-gaiyou {

	margin: -20px 0 30px;

	font-size: 16px;

}



.section__ttl.is-nyukai {

	margin: 0 0 10px;

	font-size: 16px;

}



.section__txt {

	font-size: 14px;

}



/* ---- anchor ---- */



.anchor {

	position: absolute;

	display: block;

	width: 0;

	height: 0;

	top: -30px;

	left: 0;

}



/* ---- btn ---- */



.btn {

	width: 100%;

	max-width: 342px;

	margin: 0 auto;

	overflow: hidden;

}



.btn.is-top1 {

	margin: 0 auto 50px;

}



.btn.is-top2 {

	margin: 20px auto 40px;

}



.btn.is-nyukai {

	margin: 20px auto 35px;

}



.btn a {

	position: relative;

	display: block;

	width: 100%;

	height: 64px;

	border: 1px solid #000;

	color: #8d573d;

	font-size: 14px;

	text-align: center;

	line-height: 64px;

}



.btn a::before {

	position: absolute;

	display: block;

	content: "";

	top: 0;

	bottom: 0;

	width: 4px;

	right: 12px;

	background: url(../img/icon_btn_arw.png) 0 50% no-repeat;

	background-size: 100% auto;

}



.btn a:hover {

	opacity: 1 !important;

}



.btn a .fz14 {

	font-size: 12px;

}



.btn a .fz16 {

	font-size: 15px;

}



.btn__arw,

.btn__body {

	position: relative;

	display: inline-block;

	width: 100%;

	height: 64px;

}



.btn__arw::after,

.btn__arw::before,

.btn__body::after,

.btn__body::before {

	background-color: #000;

	content: '';

	display: block;

	position: absolute;

	z-index: 10;

	transition: all .3s ease;

}



.btn__arw::before {

	height: 1px;

	left: -101%;

	top: -1px;

	width: 100%;

}



.btn__arw::after {

	bottom: 1px;

	height: 1px;

	right: -101%;

	width: 100%;

}



.btn__body::before {

	bottom: 1px;

	height: 0px;

	left: -1px;

	width: 1px;

}



.btn__body::after {

	height: 0px;

	right: -1px;

	top: -1px;

	width: 1px;

}



.pc .btn a {

	border: 1px solid #eee;

}



.pc .btn a:hover .btn__arw::before {

	left: 0;

}



.pc .btn a:hover .btn__arw::after {

	right: 0;

}



.pc .btn a:hover .btn__arw:hover .btn__body::before {

	height: 100%;

}



.pc .btn a:hover .btn__arw:hover .btn__body::after {

	height: 100%;

}



.block-sp {

	display: block;

}



.block-pc {

	display: inline;

}



#js-fade {

	opacity: .0;

	margin: 20px 0 0;

	transition: all 1s;

}



.is-loaded #js-fade {

	opacity: 1.0;

	margin: 0;

}



/* ---- header ---- */



.header {

	display: none;

	position: fixed;

	top: 0;

	left: 0;

	right: 0;

	z-index: 12;

}



.header.is-top {

	position: absolute;

	top: calc( 100vh - 125px);

}



.header.is-top.js-header-fixed {

	position: fixed;

	top: 0;

}



.header__nav {

	position: relative;

	width: 100%;

	max-width: 1300px;

	margin: 0 auto;

}



.header__nav .nav {

	position: absolute;

	width: 947px;

	top: 42px;

	left: 273px;

}



.header__nav .nav li {

	float: left;

	padding: 11px 0 0;

}



.header__nav .nav1 {

	width: 118px;

}



.header__nav .nav1 img {

	width: 57px;

}



.header__nav .nav2 {

	width: 139px;

}



.header__nav .nav2 img {

	width: 82px;

}



.header__nav .nav3 {

	width: 131px;

}



.header__nav .nav3 img {

	width: 94px;

}



.header__nav .nav4 {

	width: 193px;

}



.header__nav .nav4 img {

	width: 142px;

}



.header__nav .nav5 {

	width: 137px;

}



.header__nav .nav5 img {

	width: 81px;

}



.header__nav .nav6 {

	width: 151px;

}



.header__nav .nav6 img {

	width: 108px;

}



.header__nav .nav7 {

	width: 78px;

	padding: 0 !important;

}



.header__nav .nav7 img {

	width: 78px;

}



.header__logo {

	position: absolute;

	width: 205px;

	margin: 0;

	top: 8px;

	left: 14px;

}



/* ---- SP ---- */



.sp__btn {

	display: block;

	position: fixed;

	background: #7b0001;

	width: 43px;

	height: 43px;

	top: 0;

	right: 0;

	z-index: 100;

	cursor: pointer;

	transition: all .3s;

}



.sp__btn.is-active {

	background: none;

}



.sp__btn__body {

	position: relative;

	width: 28px;

	height: 18px;

	margin: 11px auto 0;

}



.sp__line {

	position: absolute;

	display: block;

	width: 28px;

	height: 2px;

	background: #FFF;

	left: 0;

	transition: all .3s;

}



.sp__line1 {

	top: 0;

}



.is-active .sp__line1 {

	width: 22px;

	left: 3px;

	transform: translateY(8px) rotate(-45deg);

}



.sp__line2 {

	top: 8px;

}



.is-active .sp__line2 {

	opacity: .0;

}



.sp__line3 {

	top: 16px;

}



.is-active .sp__line3 {

	width: 22px;

	left: 3px;

	transform: translateY(-8px) rotate(45deg);

}



.sp__menu {

	display: none;

	position: fixed;

	width: 100%;

	height: 100vh;

	top: 0;

	right: 0;

	left: 0;

	background: rgba(123, 0, 1, 0.9);

	opacity: .0;

	z-index: 99;

}



.sp__body {

	position: relative;

	width: 100%;

	height: 100%;

	-ms-overflow-style: -ms-autohiding-scrollbar;

	-webkit-overflow-scrolling: touch;

	transition: all .3s;

}



.sp__nav {

	position: absolute;

	width: 100%;

	padding: 0;

	top: 50%;

	left: 0;

	transform: translateY(-50%);

}



.sp__nav li {

	width: 155px;

	margin: 0 auto 40px;

	line-height: 1;

	opacity: 0;

}



.sp__nav li:nth-child(7) {

	margin: 50px auto 40px;

}



.sp__nav li:last-child {

	margin: 45px auto 0;

	padding: 0 0 0 6px;

}



.sp__nav0 img {

	width: 76px;

}



.sp__nav1 img {

	width: 98px;

}



.sp__nav2 img {

	width: 109px;

}



.sp__nav3 img {

	width: 154px;

}



.sp__nav4 img {

	width: 98px;

}



.sp__nav5 img {

	width: 123px;

}



.sp__nav6 img {

	width: 110px;

}



.sp__nav7 img {

	width: 98px;

}



/* ---- footer ---- */



.footer {

	position: relative;

	margin: 68px 0 0;

}



.footer__body {

	position: relative;

	max-width: 1300px;

	margin: 0 auto;

	padding: 10px 0;

	overflow: hidden;

}



.footer__logo {

	margin: 0 auto;

	text-align: center;

}



.footer__logo img {

	width: 250px;

}



.footer__address {

	margin: 18px 0 50px;

	color: #FFF;

	font-size: 12px;

	text-align: center;

	letter-spacing: normal;

}



.footer__address a {

	color: #FFF;

}



.footer .nav {

	position: absolute;

	display: none;

	width: 126px;

	top: 35px;

	right: 59px;

}



.footer .nav li {

	margin: 0 0 20px;

	padding: 0 2px 0 0;

	text-align: right;

	line-height: 1;

}



.footer .nav li:last-child {

	margin: 0;

	padding: 0;

}



.footer .nav1 img {

	width: 51px;

}



.footer .nav2 img {

	width: 74px;

}



.footer .nav3 img {

	width: 84px;

}



.footer .nav4 img {

	width: 126px;

}



.footer .nav5 img {

	width: 72px;

}



.footer .nav6 img {

	width: 96px;

}



.footer .nav7 img {

	width: 95px;

}



.footer__copyright {

	text-align: center;

}



.footer__copyright small {

	color: #FFF;

	font-size: 11px;

	letter-spacing: normal;

}



.footer__copyright small a {

	color: #FFF;

}



.footer__copyright small a:hover {

	text-decoration: underline;

}



/* ---- top ---- */



.news {

	margin-bottom: 40px;

}



.news__body {

	height: 150px;

	overflow: hidden;

}



.news__list {

	margin: 0;

	padding: 7px;

	border-bottom: 1px solid #999;

}



.news__list:first-child {

	padding: 0 7px 7px;

}



.news__list:last-child {

	margin: 0;

}



.news__date {

	display: block;

	margin: 0;

	padding: 0;

	color: #666;

	font-size: 11px;

}



.news__txt {

	display: block;

	margin: 0;

	padding: 0;

	color: #000;

	font-size: 14px;

}
.news__txt_detail {

	display: block;

	margin: 0;

	padding: 0;

	color: #000;

	font-size: 11px;

}

.mews__txt_red{
	
	color: red;

}


.bnr__body {

	margin: 20px auto 0;

}



.bnr__body ul {

	margin: 30px 0 0;

}



.bnr__body ul li {

	margin: 15px 0 0;

	padding: 0 8px;

}



.bnr__body .block-sp {

	display: inline;

}



.bnr__body .block-pc {

	display: none;

}



.bnr__txt {

	display: block;

	margin: 0;

	padding: 0;

	color: #000;

	font-size: 14px;

}







/*

== malihu jquery custom scrollbar plugin ==

Plugin URI: http://manos.malihu.gr/jquery-custom-content-scroller

*/



.mCustomScrollbar {

	-ms-touch-action: pinch-zoom;

	touch-action: pinch-zoom; /* direct pointer events to js */

}



.mCustomScrollbar.mCS_no_scrollbar,

.mCustomScrollbar.mCS_touch_action {

	-ms-touch-action: auto;

	touch-action: auto;

}



.mCustomScrollBox { /* contains plugin's markup */

	position: relative;

	overflow: hidden;

	height: 100%;

	max-width: 100%;

	outline: none;

	direction: ltr;

}



.mCSB_container { /* contains the original content */

	overflow: hidden;

	width: auto;

	height: auto;

}



.mCSB_inside > .mCSB_container {

	margin-right: 30px;

}



.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {

	margin-right: 0;

}



/* non-visible scrollbar */



.mCS-dir-rtl > .mCSB_inside > .mCSB_container { /* RTL direction/left-side scrollbar */

	margin-right: 0;

	margin-left: 30px;

}



.mCS-dir-rtl > .mCSB_inside > .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {

	margin-left: 0;

}



/* RTL direction/left-side scrollbar */



.mCSB_scrollTools { /* contains scrollbar markup (draggable element, dragger rail, buttons etc.) */

	position: absolute;

	width: 16px;

	height: auto;

	left: auto;

	top: 0;

	right: 0;

	bottom: 0;

}



.mCSB_outside + .mCSB_scrollTools {

	right: -26px;

}



/* scrollbar position: outside */



.mCS-dir-rtl > .mCSB_inside > .mCSB_scrollTools,

.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools { /* RTL direction/left-side scrollbar */

	right: auto;

	left: 0;

}



.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {

	left: -26px;

}



/* RTL direction/left-side scrollbar (scrollbar position: outside) */



.mCSB_scrollTools .mCSB_draggerContainer { /* contains the draggable element and dragger rail markup */

	position: absolute;

	top: 0;

	left: 0;

	bottom: 0;

	right: 0;

	height: auto;

}



.mCSB_scrollTools a + .mCSB_draggerContainer {

	margin: 20px 0;

}



.mCSB_scrollTools .mCSB_draggerRail {

	width: 2px;

	height: 100%;

	margin: 0 auto;

	-webkit-border-radius: 16px;

	-moz-border-radius: 16px;

	border-radius: 16px;

}



.mCSB_scrollTools .mCSB_dragger { /* the draggable element */

	cursor: pointer;

	width: 100%;

	height: 30px; /* minimum dragger height */

	z-index: 1;

}



.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { /* the dragger element */

	position: relative;

	width: 4px;

	height: 100%;

	margin: 0 auto;

	-webkit-border-radius: 16px;

	-moz-border-radius: 16px;

	border-radius: 16px;

	text-align: center;

}



.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {

	width: 12px; /* auto-expanded scrollbar */

}



.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {

	width: 8px; /* auto-expanded scrollbar */

}



.mCSB_scrollTools .mCSB_buttonUp,

.mCSB_scrollTools .mCSB_buttonDown {

	display: block;

	position: absolute;

	height: 20px;

	width: 100%;

	overflow: hidden;

	margin: 0 auto;

	cursor: pointer;

}



.mCSB_scrollTools .mCSB_buttonDown {

	bottom: 0;

}



.mCSB_horizontal.mCSB_inside > .mCSB_container {

	margin-right: 0;

	margin-bottom: 30px;

}



.mCSB_horizontal.mCSB_outside > .mCSB_container {

	min-height: 100%;

}



.mCSB_horizontal > .mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden {

	margin-bottom: 0;

}



/* non-visible scrollbar */



.mCSB_scrollTools.mCSB_scrollTools_horizontal {

	width: auto;

	height: 16px;

	top: auto;

	right: 0;

	bottom: 0;

	left: 0;

}



.mCustomScrollBox + .mCSB_scrollTools.mCSB_scrollTools_horizontal,

.mCustomScrollBox + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal {

	bottom: -26px;

}



/* scrollbar position: outside */



.mCSB_scrollTools.mCSB_scrollTools_horizontal a + .mCSB_draggerContainer {

	margin: 0 20px;

}



.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail {

	width: 100%;

	height: 2px;

	margin: 7px 0;

}



.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger {

	width: 30px; /* minimum dragger width */

	height: 100%;

	left: 0;

}



.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {

	width: 100%;

	height: 4px;

	margin: 6px auto;

}



.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {

	height: 12px; /* auto-expanded scrollbar */

	margin: 2px auto;

}



.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {

	height: 8px; /* auto-expanded scrollbar */

	margin: 4px 0;

}



.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {

	display: block;

	position: absolute;

	width: 20px;

	height: 100%;

	overflow: hidden;

	margin: 0 auto;

	cursor: pointer;

}



.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft {

	left: 0;

}



.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {

	right: 0;

}



.mCSB_scrollTools {

	width: 11px;

}



._mCS_1 .mCSB_dragger,

._mCS_1 .mCSB_dragger .mCSB_dragger_bar {

	width: 11px;

	height: 11px;

	background: #eddada;

	border-radius: 0;

	opacity: 1 !important;

}



.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger {

	width: 11px;

	height: 11px;

}



.mCSB_scrollTools {

	opacity: 1 !important;

}



.mCS-autoHide > .mCustomScrollBox > .mCSB_scrollTools,

.mCS-autoHide > .mCustomScrollBox ~ .mCSB_scrollTools {

	opacity: 1 !important;

}



.mCS-autoHide:hover > .mCustomScrollBox > .mCSB_scrollTools,

.mCS-autoHide:hover > .mCustomScrollBox ~ .mCSB_scrollTools,

.mCustomScrollBox:hover > .mCSB_scrollTools,

.mCustomScrollBox:hover ~ .mCSB_scrollTools,

.mCustomScrollbar > .mCustomScrollBox > .mCSB_scrollTools.mCSB_scrollTools_onDrag,

.mCustomScrollbar > .mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag {

	opacity: 1 !important;

}



.mCSB_dragger_onDrag {

	opacity: 1 !important;

	background: #eddada !important;

}



.mCSB_dragger {

	height: 11px;

}



.mCSB_dragger:hover .mCSB_dragger_bar {

	opacity: 1 !important;

	background: #eddada !important;

}



.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail {

	width: 1px;

	background: #CCC;

}



/* ---- rensyu ---- */



.rensyu__txt {

	font-size: 14px;

	text-align: center;

}



.rensyu__list {

	position: relative;

	display: flex;

	justify-content: center;

}



.rensyu__list ol {

	margin: 10px 0;

	padding: 0;

	list-style: none;

}



.rensyu__list li {

	color: #600;

	font-size: 16px;

	line-height: 1.9;

}



.rensyu__fieldset {

	max-width: 536px;

	margin: 15px auto 20px;

	padding: 15px 5px 10px;

	border: 1px solid #600;

	text-align: center;

}



.rensyu__fieldset__ttl {

	margin: 0 0 5px;

	color: #600;

	font-size: 16px;

}



.rensyu__fieldset__txt {

	color: #600;

	font-size: 14px;

}



/* ---- gallery ---- */



.gallery__txt {

	margin: 0 0 35px;

	font-size: 14px;

	text-align: center;

}



/* ---- school---- */



.school__txt {

	margin: 20px 0 0;

	font-size: 14px;

	text-align: center;

}



.school__list {

	position: relative;

	display: flex;

	justify-content: center;

	max-width: 536px;

	margin: 0 auto -10px;

	padding: 0 5px;

}



.school__list ol {

	margin: 5px 0 0;

	padding: 0;

	list-style: none;

}



.school__list li {

	color: #600;

	font-size: 16px;

	line-height: 1.95;

}



/* ---- nyukai ---- */



.nyukai__nav {

	max-width: 1150px;

	margin: 0 auto 70px;

	padding: 0 5px;

}



.nyukai__nav ul {

	overflow: hidden;

}



.nyukai__nav ul li {

	float: left;

	width: 50%;

}



.nyukai__nav ul li a {

	position: relative;

	display: block;

	width: 100%;

	height: 55px;

	border-right: 1px solid #000;

	border-bottom: 1px solid #000;

	font-size: 14px;

	text-align: center;

	line-height: 55px;

}



.nyukai__nav ul li a::before,

.nyukai__nav ul li a::after {

	position: absolute;

	display: block;

	content: "";

}



.nyukai__nav ul li a::before {

	bottom: 0;

	left: 0;

	right: 0;

	border-bottom: 5px solid #c4a3a3;

}



.nyukai__nav ul li a::after {

	width: 6px;

	height: 3px;

	border-top: 3px solid #FFF;

	border-right: 3px solid transparent;

	border-left: 3px solid transparent;

	left: 50%;

	bottom: 2px;

	margin-left: -3px;

}



.nyukai__nav ul li:first-child a,

.nyukai__nav ul li:nth-child(2) a {

	border-top: 1px solid #000;

}



.nyukai__nav ul li:nth-child(2n + 1) a {

	border-left: 1px solid #000;

}



.nyukai__ttl {

	margin: 0 0 40px;

	font-size: 16px;

	text-align: center;

	line-height: 1;

}



.nyukai__txt {

	margin: 20px 0;

	font-size: 14px;

	text-align: center;

}



.nyukai__bnr {

	max-width: 544px;

	margin: 0 auto;

}



.nyukai__bnr .block-sp {

	display: block;

}



.nyukai__bnr .block-pc {

	display: none;

}



.nyukai__table {

	width: 100%;

	border: 1px solid #862627;

}



.nyukai__table tbody {

	width: 100%;

}



.nyukai__table th {

	background: #862627;

	color: #FFF;

	font-size: 14px;

	font-weight: normal;

	text-align: center;

}



.nyukai__table td {

	font-size: 14px;

}



.nyukai__table__footer {

	display: block;

	padding: 0 0 7px;

	text-align: center;

}



.nyukai__table-sp {

	display: table;

	margin: 20px 0 50px;

}



.nyukai__table-sp th,

.nyukai__table-sp td {

	line-height: 1.5;

}



.nyukai__table-sp .fz10 {

	font-size: 12px;

}



.nyukai__table-sp thead th {

	padding: 5px 0;

	background: none;

	color: #000;

}



.nyukai__table-sp tbody th {

	width: 75px;

	border-bottom: 1px solid #FFF;

}



.nyukai__table-sp tbody td {

	padding: 5px 0;

	border: 1px solid #862627;

	text-align: center;

}



.nyukai__table-sp tbody td dl {

	display: table;

	width: 100%;

	margin: 0 auto;

	max-width: 160px;

}



.nyukai__table-sp tbody td dl dt,

.nyukai__table-sp tbody td dl dd {

	display: table-cell;

	vertical-align: middle;

}



.nyukai__table-sp tbody td dl dt {

	width: 30%;

}



.nyukai__table-sp tbody td dl dd {

	width: 70%;

}



.nyukai__table-sp tbody tr:last-child th {

	border-bottom: 1px solid #862627;

}



.nyukai__table-sp tfoot td {

	padding: 5px;

	background: #eddada;

	text-align: center;

	line-height: 1.2;

}



.nyukai__table-pc {

	display: none;

}



.nyukai__table-pc .fz10 {

	font-size: 10px;

	display: inline-block;

	vertical-align: middle;

}



.nyukai__table-pc .fz14 {

	font-size: 14px;

}



.nyukai__table-pc .mark {

	position: relative;

	display: block;

	margin: 0 0 1em;

	padding: 0 0 0 1em;

}



.nyukai__table-pc .mark::before {

	position: absolute;

	display: block;

	content: "※";

	width: 1em;

	height: 1em;

	top: 0;

	left: 0;

}



.nyukai__table-pc th {

	font-size: 18px !important;

	border-right: 1px solid #FFF;

}



.nyukai__table-pc th:last-child {

	width: 30%;

	border-right: none;

}



.nyukai__table-pc td {

	padding: 8px 0;

	border: 1px solid #862627;

	text-align: center;

	line-height: 1.5;

}



.nyukai__table-pc td.contents {

	padding: 0 10px;

}



.nyukai__table-pc td.contents div {

	display: inline-block;

	width: auto;

	margin: 0 auto;

	text-align: left;

}



.nyukai__table-pc tr:first-child th:first-child {

	width: 220px;

	padding: 11px 0;

	border: 1px solid #862627;

	background: none;

	color: #000;

}



.nyukai__table-pc tr:last-child td {

	padding: 15px 30px 10px;

	border: 1px solid #862627;

	background: #eddada;

	text-align: left;

}



.nyukai__table__price {

	margin: -30px 0 20px;

}



.nyukai__table__price th {

	width: 75px;

	border-bottom: 1px solid #FFF;

}



.nyukai__table__price tr:last-child th {

	border-bottom: 1px solid #862627;

}



.nyukai__table__price td {

	padding: 5px 0;

	border: 1px solid #862627;

	text-align: center;

}



.nyukai__table__teacher-sp {

	display: table;

}



.nyukai__table__teacher-sp th {

	padding: 2px 0;

	border: 1px solid #862627;

	background: #eddada;

	color: #000;

}



.nyukai__table__teacher-sp tr:first-child th {

	background: #862627;

	border: none;

	color: #FFF;

	padding: 5px 0;

}



.nyukai__table__teacher-sp td {

	padding: 5px 0;

	border: 1px solid #862627;

	text-align: center;

}



.nyukai__table__teacher-sp .fz10 {

	font-size: 12px;

}



.nyukai__table__teacher-pc {

	display: none;

}



.nyukai__table__teacher-pc th {

	padding: 11px 0;

	border: 1px solid #862627;

	background: #eddada;

	color: #000;

}



.nyukai__table__teacher-pc th.w40 {

	width: 40%;

}



.nyukai__table__teacher-pc tr:first-child th:first-child {

	width: 220px;

	background: #862627;

	border: none;

	color: #FFF;

	padding: 11px 0;

}



.nyukai__table__teacher-pc td {

	padding: 11px 0;

	border: 1px solid #862627;

	text-align: center;

}



/* ---- question ---- */



.question {

	border: none;

	margin: 0;

	padding: 25px 0 20px;

	border-bottom: 2px dotted #999;

}



.question:nth-of-type(1) {

	padding: 5px 0 20px;

}



.question__ttl {

	position: relative;

	margin: 0 0 20px;

	padding: 0 0 0 30px;

	color: #7b0001;

	font-size: 14px;

	font-weight: normal;

}



.question__ttl::before {

	position: absolute;

	display: block;

	content: "";

	width: 18px;

	height: 20px;

	top: 0;

	left: 7px;

	background: url(../img/icon_q.png) 0 0 no-repeat;

	background-size: 100% auto;

}



.question__txt {

	position: relative;

	margin: 0;

	padding: 0 0 0 30px;

	color: #333;

	font-size: 14px;

	font-weight: normal;

}



.question__txt::before {

	position: absolute;

	display: block;

	content: "";

	width: 17px;

	height: 16px;

	top: 3px;

	left: 7px;

	background: url(../img/icon_a.png) 0 0 no-repeat;

	background-size: 100% auto;

}



/* ---- gaiyou ---- */



.gaiyou {

	margin: 40px 0;

}



.gaiyou__ttl {

	margin: 0 0 10px;

	font-size: 14px;

	font-weight: normal;

	text-align: center;

}



.gaiyou__txt {

	font-size: 14px;

	text-align: center;

}



.gaiyou__txt__section {

	margin: 20px 0 -20px;

}



.gaiyou__table {

	width: 100%;

	border: 1px solid #862627;

}



.gaiyou__table tr:last-child th,

.gaiyou__table tr:last-child td {

	border-bottom: none;

}



.gaiyou__table th {

	width: 75px;

	padding: 15px 0;

	background: #862627;

	color: #FFF;

	font-size: 14px;

	font-weight: normal;

	text-align: center;

	border-bottom: 1px solid #FFF;

}



.gaiyou__table td {

	padding: 5px 0;

	border-bottom: 1px solid #862627;

	font-size: 14px;

	text-align: center;

}



.gaiyou__map {

	display: block;

}



.gaiyou__map a {

	display: inline-block;

	padding: 0 0 5px;

	color: #933;

	font-size: 16px;

	text-decoration: none;

	border-bottom: 1px dotted #933;

	line-height: 1;

}



.gaiyou .fz10 {

	font-size: 12px;

}



.gaiyou__bnr {

	max-width: 544px;

	margin: 0 auto;

}



.gaiyou__bnr .block-sp {

	display: block;

}



.gaiyou__bnr .block-pc {

	display: none;

}



@media (min-width: 641px) {



.hero__logo {

	max-width: 572px;

	top: 26px;

}



.hero__logo .sp {

	display: none;

}



.hero__logo .pc {

	display: inline;

}



.hero__caption {

	max-width: 745px;

	padding: 0 15px;

}



.hero__caption .sp {

	display: none;

}



.hero__caption .pc {

	display: inline;

}



.hero__btn {

	width: 67px;

	height: 36px;

	margin: 0 0 0 -33px;

	bottom: 26px;

}



.hero__contents.scale {

	transform-origin: 50%;

}



.hero__contents1 {

	background-image: url(../img/hero_img1.jpg);

}



.hero__contents2 {

	background-image: url(../img/hero_img2.jpg);

	background-position: 50%;

}



.hero__contents3 {

	background-image: url(../img/hero_img3.jpg);

	background-position: 50%;

}



.hero__contents.is-rensyu {

	background-image: url(../img/hero_rensyu.jpg);

}



.hero__contents.is-gallery {

	background-image: url(../img/hero_gallery.jpg);

}



.hero__contents.is-school {

	background-image: url(../img/hero_school.jpg);

}



.hero__contents.is-nyukai {

	background-image: url(../img/hero_nyukai.jpg);

}



.hero__contents.is-question {

	background-image: url(../img/hero_question.jpg);

}



.hero__contents.is-gaiyou {

	background-position: 0 50%;

	background-image: url(../img/hero_gaiyou.jpg);

}



}



@media screen and (min-width: 641px) and (max-height: 700px) {



.hero__logo {

	max-width: 293px;

}



}



@media (min-width: 769px) {



.l-main {

	padding: 85px 0 0;

}



.l-main.is-top {

	padding: 75px 0 0;

}



.l-pagetop-sp {

	display: none;

}



.thumb__ttl {

	margin: 15px 0 45px;

	font-size: 18px;

}



.thumb__list.is-gaiyou {

	margin: 90px auto 0;

}



.main__ttl {

	font-size: 32px;

}



.main__ttl.is-top {

/** バナーなしの場合はこちら */
	/* margin: 0 auto 115px; */
/** バナーありの場合 */
	margin: 0 auto 55px;

	font-size: 20px;

}




.section__ttl {

	margin: 0 0 75px;

	font-size: 32px;

}



.section__ttl .wing {

	padding: 0 125px;

}



.section__ttl .wing::before,

.section__ttl .wing::after {

	width: 75px;

	height: 33px;

	top: -5px;

}



.section__ttl.is-top {

	font-size: 24px;

	margin: 0 0 45px;

}



.section__ttl.is-top .wing {

	padding: 0 95px;

}



.section__ttl.is-gaiyou {

	font-size: 28px;

	margin: 0 0 60px;

}



.section__ttl.is-nyukai {

	margin: 0 0 30px;

	font-size: 24px;

}



.section__txt {

	font-size: 16px;

}



.btn.is-top1 {

	margin: 15px auto 80px;

}



.btn.is-top2 {

	margin: 30px auto 100px;

}



.btn.is-nyukai {

	margin: 45px auto 95px;

}



.btn a {

	font-size: 20px;

	height: 65px;

	line-height: 65px;

}



.btn a::before {

	width: 7px;

	right: 15px;

}



.btn a .fz14 {

	font-size: 14px;

}



.btn a .fz16 {

	font-size: 16px;

}



.btn__arw,

.btn__body {

	height: 65px;

}



.block-sp {

	display: inline;

}



.block-pc {

	display: block;

}



.news__body {

	height: 480px;

}



.news__list {

	margin: 0 0 23px;

	padding: 14px 15px 17px;

}



.news__list:first-child {

	padding: 0 15px 14px;

}



.news__date {

	font-size: 12px;

}



.news__txt {

	font-size: 16px;

}

.news__txt_detail {

	font-size: 13px;

}

.bnr__body ul {

	margin: 25px 0 0;

}



.bnr__body ul li {

	padding: 0;

}



.bnr__txt {

	font-size: 16px;

}



.rensyu__txt {

	font-size: 20px;

}



.rensyu__list ol {

	margin: 10px 0 25px;

}



.rensyu__list li {

	font-size: 24px;

}



.rensyu__fieldset {

	margin: 55px auto 65px;

	padding: 15px 5px 25px;

}



.rensyu__fieldset__ttl {

	margin: 0 0 10px;

	font-size: 22px;

}



.rensyu__fieldset__txt {

	font-size: 18px;

}



.gallery__txt {

	margin: 0 0 80px;

	font-size: 20px;

}



.school__txt {

	margin: 40px 0 0;

	font-size: 20px;

}



.school__txt__section {

	margin: 65px 0 0;

}



.school__list {

	margin: 5px auto -10px;

}



.school__list ol {

	margin: 20px 0 15px;

}



.school__list li {

	font-size: 24px;

}



.nyukai__nav {

	margin: 95px auto 130px;

}



.nyukai__nav ul li {

	width: 16.667%;

}



.nyukai__nav ul li a {

	height: auto;

	padding: 0 0 8px;

	border-right: none;

	font-size: 18px;

	line-height: 1;

}



.nyukai__nav ul li a::before {

	left: 35px;

	right: 35px;

}



.nyukai__nav ul li a::after {

	display: none;

}



.nyukai__nav ul li:first-child a,

.nyukai__nav ul li:nth-child(2) a {

	border-top: none;

}



.nyukai__nav ul li:nth-child(2n + 1) a {

	border-left: none;

}



.nyukai__ttl {

	margin: 0 0 75px;

	font-size: 24px;

}



.nyukai__txt {

	margin: 10px 0 70px;

	font-size: 18px;

}



.nyukai__bnr {

	max-width: 100%;

}



.nyukai__bnr .block-sp {

	display: none;

}



.nyukai__bnr .block-pc {

	display: block;

}



.nyukai__table th {

	font-size: 20px;

}



.nyukai__table td {

	font-size: 18px;

}



.nyukai__table__footer {

	float: left;

	display: block;

	margin-right: 15px;

}



.nyukai__table-sp {

	display: none;

}



.nyukai__table-pc {

	display: table;

	margin: 35px 0 100px;

}



.nyukai__table__price {

	margin: -30px 0 40px;

}



.nyukai__table__price th {

	width: 220px;

	padding: 11px 0;

}



.nyukai__table__teacher-sp {

	display: none;

}



.nyukai__table__teacher-pc {

	display: table;

}



.question {

	padding: 58px 0;

}



.question:nth-of-type(1) {

	padding: 30px 0 58px;

}



.question__ttl {

	margin: 0 0 30px;

	padding: 0 0 0 45px;

	font-size: 20px;

}



.question__ttl::before {

	left: 0;

	width: 31px;

	height: 33px;

}



.question__txt {

	padding: 0 0 0 45px;

	font-size: 20px;

}



.question__txt::before {

	left: 0;

	width: 28px;

	height: 27px;

}



.gaiyou {

	margin: 85px 0;

}



.gaiyou__ttl {

	margin: 0 0 25px;

	font-size: 24px;

}



.gaiyou__txt {

	font-size: 20px;

}



.gaiyou__txt__section {

	max-width: 920px;

	margin: 30px auto -60px;

	text-align: left;

}



.gaiyou__table th {

	width: 230px;

	padding: 10px 0;

	font-size: 20px;

}



.gaiyou__table td {

	padding: 12px 30px;

	font-size: 18px;

	text-align: left;

}



.gaiyou__map {

	display: inline-block;

}



.gaiyou__map a {

	font-size: 20px;

}



.gaiyou .fz10 {

	font-size: 18px;

}



.gaiyou__bnr {

	max-width: 100%;

}



.gaiyou__bnr .block-sp {

	display: none;

}



.gaiyou__bnr .block-pc {

	display: block;

}



}



@media (min-width: 771px) {



.thumb__list.is-top {

	max-width: 721px;

}



.grid2 {

	float: left;

	width: 50%;

	max-width: 563px;

	margin: 0 0 38px;

	padding: 0 19px 0 0;

}



.grid2:nth-child(2n) {

	float: right;

	padding: 0 0 0 19px;

}



.grid2:nth-child(3n) {

	margin: 0;

}



.grid2:nth-last-child(2) {

	margin: 0;

}



.grid2:last-child {

	margin: 0;

}



.grid2-wide {

	width: 50%;

	max-width: 532px;

}



.grid3 {

	float: left;

}



.grid3:nth-child(2n) {

	float: right;

}



.bana_0829top {

	display: inline-block;

	width: 48%;

}



}



@media (min-width: 909px) {



.footer {

	margin: 100px 0 0;

}



.footer__body {

	padding: 0 0 30px;

}



.footer__logo {

	width: 618px;

	margin: 0;

	padding: 45px 0 0;

}



.footer__logo img {

	width: 450px;

}



.footer__address {

	margin: 35px 0 0;

	font-size: 14px;

}



.footer .nav {

	display: block;

}



.footer__copyright {

	position: absolute;

	right: 59px;

	bottom: 2em;

}



.footer__copyright small {

	font-size: 12px;

	text-align: right;

}



}



@media (min-width: 1150px) {



.l-section50 {

	float: right;

}



.l-section50:first-child {

	float: left;

}



.thumb__list.is-top {

	max-width: 1100px;

}



.grid3 {

	margin: 0 37px 0 0;

}



.grid3:nth-child(2n) {

	float: left;

}



.grid3:nth-child(3n) {

	margin: 0;

}



.bnr__body .block-sp {

	display: none;

}



.bnr__body .block-pc {

	display: inline;

}



}



@media (min-width: 1320px) {



.l-contents {

	padding: 125px 0 0;

}



.hero.is-top {

	height: calc(100vh - 125px);

}



.hero__body.is-top {

	height: calc(100vh - 125px);

}



.anchor {

	top: -160px;

}



.header {

	display: block;

}



}



@media screen and (min-width: 1320px) {



.sp__btn {

	display: none;

}



}



@media (max-width: 768px) {



.l-pagetop {

	display: none !important;

	z-index: -1;

}



}



@media screen and (max-height: 768px) {



.hero__btn {

	bottom: 70px;

}



}



@media screen and (max-height: 670px) {



.sp__body {

	overflow-y: auto;

}



}



@media screen and (max-height: 670px) and (orientation: landscape) {



.sp__nav li {

	margin: 0 auto 20px;

}



.sp__nav li:nth-child(7) {

	margin: 20px auto;

}



.sp__nav li:last-child {

	margin: 25px auto 0;

}



}



@media screen and (max-height: 550px) {



.hero__body.is-top {

	height: 550px;

}



}


/*--余白調整用--*/

.topspace{padding-top: 3em;}