@charset "UTF-8";

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

ベース

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

@font-face {
	font-family: 'NotoSerifCJK';
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/NotoSerifCJKjp-Regular.woff) format('woff');
	font-display: swap;
}


html {
	font-size: 16px;
}

body {
	background: #fff;
	color: #000;
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 16px;
	line-height: 1.333;
	overflow-x: hidden;
}

.serif {
	font-family: 'Noto Serif JP', serif;
}

body.fixed {
	position: fixed;
	width:100%;
}

div {
	box-sizing: border-box;
}

img{
	vertical-align:top;
	max-width: 100%;
}

a {
	outline: none;
	color: #333;
	text-decoration: none;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

a:focus, *:focus {
	outline:none;
}

a:hover {
	opacity: .7;
	-webkit-opacity: .7;
	-moz-opacity: .7;
	filter: alpha(opacity=70);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=70)"; /* IE 8 */
}

a:visited {
	color: #212121;
}

a:hover img {
	opacity: .7;
	-webkit-opacity: .7;
	-moz-opacity: .7;
	filter: alpha(opacity=70);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=70)"; /* IE 8 */
}
 
a img {
	-webkit-transition: opacity .5s ease-out;
	-moz-transition: opacity .5s ease-out;
	-ms-transition: opacity .5s ease-out;
	transition: opacity .5s ease-out;
}

.post, .page {
	margin: 0;
}


.center {
	text-align: center;
}

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

.clear {
	clear:both;
	height: 0;
}

ul, ol {
	padding: 0;
	margin: 0;
}

li > ul, li > ol {
	margin-left: 0;
}

ul li {
	list-style: none;
}

dl {
	margin: 0;
}

dt {
	font-weight: 500;
}

dd {
	margin: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

p {
	margin: 0;
}

/*----------------------------------------------------
 .inner
----------------------------------------------------*/

.inner {
	width: calc(100% - 4rem);
	max-width: 1220px;
	margin: 0 auto;
}

.main {
	padding: 77px 0 0;
}


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

PC

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

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

	.onlyPC {
		display: block;
	}

	.onlySP {
		display: none !important;
	}

}

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

SP

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


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

	.onlyPC {
		display: none !important;
	}

	.onlySP {
		display: block;
	}

}

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

ハンバーガーメニュー

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

.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 13px;
  top   : 19px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #000;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}

.hamburger.active span {
	background: #fff;
}

.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 25px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #FFF;
  background: #000;
  text-align: center;
  transform: translateY(-100%);
  transition: all 0.6s;
  width: 100%;
  height: 100vh;
}

nav.globalMenuSp ul {
  margin: 70px auto;
  padding: 0;
  width: 100%;
  display: block;
}

nav.globalMenuSp ul li {
  position: relative;
  list-style-type: none;
  padding: 0;
  width: 90%;
  border: 1px solid #fff;
  margin: 15px auto;
  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;
}

nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #FFF;
  padding: 1em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%);
}

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

Header

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

header .header_area {
	position: fixed;
	width: 100%;
	height: 77px;
	background: #fff;
	color: #FFF;
	padding: 0 3.3rem 0 1.6rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 10;
}

header .header_area h1 {
	max-width: 238px;
}

header .header_area .right-area {
	display: flex;
	align-items: center;
}

header .header_area .right-area .line-button {
	margin: 0 0 0 2rem;
	color:#000;
}

header .header_area .right-area .line-button a {
	color: #a08703;
	font-size: 1.45rem;
	font-family: 'NotoSerifCJK';
}
header .header_area .right-area .line-button span.text {
	font-weight: 500;
	font-size: 1.45rem;
	font-family: 'NotoSerifCJK';
}
header .header_area .right-area .line-button .mini {
	font-weight: 500;
	font-size: .8rem;
}

header .header_area .right-area ul {
	display: flex;
	justify-content: space-around;
	font-size: 1rem;
}

header .header_area .right-area ul li {
	padding: 0 1.65rem;
}

header .header_area .right-area ul li a {
	text-decoration: none;
	display: block;
	font-size: 1rem;
	color: #000;
	font-family: 'NotoSerifCJK';
}

header .header_area .right-area ul li a:visited {
	color: #000;
}


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

Footer

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

footer .footer_top {
	background: #fff;
	text-align: center;
	padding: 5rem 0 3.6rem;
}

footer .footer_top .logo {
	max-width: 250px;
	margin: 0 auto 3rem;
}

footer .footer_top .pick-text {
	font-size: 1.875rem;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: -.0125em;
	margin: 0 0 1.4rem;
}

footer .footer_top .pick-text span {
	position: relative;
}

footer .footer_top .pick-text span:before {
	content: '';
	width: 20px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 50%;
	left: -28px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

footer .footer_top .pick-text span:after {
	content: '';
	width: 20px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 50%;
	right: -28px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

footer .footer_top p {
	font-size: .875rem;
	line-height: 2.1;
	letter-spacing: -.0125em;
	margin: 0 0 2rem;
	text-align: left;
	display: flex;
	flex-direction: column;
	align-items: center;
}

footer .footer_top .buttons-area {
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .footer_top .buttons-area .line-button {
	width: 100%;
	max-width: 379px;
	margin: 0 .5rem 0 0;
}

footer .footer_top .buttons-area .line-button a {
	position: relative;
	display: block;
	color: #fff;
	font-weight: 500;
	line-height: 3.312rem;
	letter-spacing: -.0125em;
	margin: 0 .5rem 0 0;
	padding: 0 4rem 0 0;
	background: #00b900;
}

footer .footer_top .buttons-area .line-button a:before {
	content: '';
	width: 22px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

footer .footer_top .buttons-area .line-button a:after {
	content: 'MORE';
	color: #fff;
	font-size: .6875rem;
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

footer .footer_top .buttons-area .other-button {
	width: 100%;
	max-width: 379px;
}

footer .footer_top .buttons-area .other-button a {
	position: relative;
	display: block;
	color: #fff;
	font-weight: 500;
	line-height: 3.312rem;
	letter-spacing: -.0125em;
	margin: 0 .5rem 0 0;
	padding: 0 4rem 0 0;
	background: #b29103;
}

footer .footer_top .buttons-area .other-button a:before {
	content: '';
	width: 22px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

footer .footer_top .buttons-area .other-button a:after {
	content: 'MORE';
	color: #fff;
	font-size: .6875rem;
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

footer .footer_bottom {
	background: #000;
	color: #fff;
	text-align: center;
}

footer .footer_bottom ul {
	display: flex;
	justify-content: center;
	padding: 1.4rem 0;
}

footer .footer_bottom ul li {
	padding: 0 1.7rem;
}

footer .footer_bottom ul li a {
	display: block;
	font-size: 1rem;
	color: #fff;
	font-family: 'NotoSerifCJK';
}

footer .txt_copy {
	color: #fff;
	text-align: center;
	font-size: 1rem;
	font-family: 'NotoSerifCJK';
	padding: 1.4rem 0;
}

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

総合トップ

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

.mv_area {
	background: #000;
	color: #FFF;
	width: 100%;
	padding-bottom: 20px;
}

.mv_area .main-visual {
	position: relative;
}

.mv_area .main-visual .slick-slide img {
	margin: auto;
}

.mv_area .main-visual .main-title {
	position: absolute;
	top: 56%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.mv_area h2 {
	font-size: 1.875rem;
	color: #b29103;
	margin: -.4rem 0 .5rem;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
}

.mv_area p {
	font-size: 1rem;
	line-height: 1.375;
	text-align: center;
	margin: 0 0 1.3rem;
	font-family: 'Noto Serif JP', serif;
}

.mv_area p.open_text {
	font-size: 1.5rem;
	margin: -1rem 0 0;
}

.slider-wrapper {
	width: 100%;
}

.slider {
	width: 100%;
}

.slide {
	width: 100%;
	background: #ccc;
}

#slick-1 .slick-dots li {
	width: 40px;
	height: 5px;
	background: #ccc;
}

#slick-1 .slick-dots li button {
	width: 40px;
	height: 5px;
}

#slick-1 .slick-dots li.slick-active,
#slick-1 .slick-dots li:hover {
	background: #777;
}

#slick-1 .slick-dots li button,
#slick-1 .slick-dots li button:before {
	color: transparent;
	opacity: 0;
}

/* progress bar */
.slider-progress {
	position: relative;
	max-width: 800px;
	width: 75%;
	height: 3px;
	background: #FFF;
	margin: 25px auto;
}

.slider-progress .progress {
	width: 0%;
	height: 3px;
	background: #A08703;
}

/*-----------------------------
	News
------------------------------*/

#news {
	padding: 1.5rem 0 2rem;
}

#news .inner {
	max-width: 1023px;
}

#news .head {
	text-align: center;
	position: relative;
	margin: 0 0 1.5rem;
}

#news .head .image-title {
	position: absolute;
	top: -3.5rem;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: -1;
}

#news .head .en-title {
	font-size: 2.1875rem;
	color: #b29103;
	font-family: 'NotoSerifCJK';
	padding: 0 0 .4rem;
}

#news .head h2 {
	font-size: .875rem;
	font-weight: 300;
	letter-spacing: .12em;
}

#news .news-list {
	margin: 0 0 3rem;
}

#news .news-list li {
	padding: 1rem 0;
	border-bottom: 1px solid #ccc;
}

#news .news-list li span.days {
	font-size: .875rem;
	font-weight: 500;
	display: block;
	margin: 0 0 1rem;
	padding: 0 0 0 1rem;
}

#news .news-list li .title a {
	display: block;
	color: #000;
	font-size: .875rem;
	padding: 0 0 1rem 1rem;
}


/*-----------------------------
	free_box
------------------------------*/

.free_box {
	border: 1px solid #707070;
	border-radius: 35px;
	padding: 1.8rem 1.4rem 2.5rem;
	text-align: center;
}

.free_box h3 {
	font-size: 1.25rem;
	letter-spacing: -.0125em;
	margin: 0 0 2rem;
}

.free_box .line-button {
	width: 100%;
	max-width: 379px;
	margin: 0 auto 1.5rem;
}

.free_box .line-button a {
	position: relative;
	display: block;
	color: #fff;
	font-weight: 500;
	line-height: 3.312rem;
	letter-spacing: -.0125em;
	margin: 0 .5rem 0 0;
	padding: 0 4rem 0 0;
	background: #00b900;
}

.free_box .line-button a:before {
	content: '';
	width: 22px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.free_box .line-button a:after {
	content: 'MORE';
	color: #fff;
	font-size: .6875rem;
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.free_box p {
	font-size: .875rem;
}

/*-----------------------------
	concept
------------------------------*/

#concept {
	position: relative;
	padding: 7.5rem 0 2rem;
	overflow: hidden;
}

#concept:before {
	content: '';
	width: 110%;
	height: 70%;
	background: #9f8703;
	position: absolute;
	left: -4rem;
	z-index: -2;
	transform: rotate(5deg);
}

#concept:after {
	content: '';
	width: 110%;
	height: 70%;
	background: url('../img/concept_bg@2x.png') no-repeat;
	background-size: cover;
	position: absolute;
	right: -4rem;
	top: 6rem;
	z-index: -1;
	transform: rotate(-7deg);
}

#concept .head {
	text-align: center;
	position: relative;
	margin: 3.8rem 0 6rem;
}

#concept .head .image-title {
	position: absolute;
	top: -1.8rem;
	left: 55%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 0;
}

#concept .head .en-title {
	font-size: 2.1875rem;
	color: #b29103;
	font-family: 'NotoSerifCJK';
	padding: 2.3rem 0 .5rem;
}

#concept .head h2 {
	font-size: .875rem;
	font-weight: 300;
	letter-spacing: .12em;
}

#concept .concept_box {
	margin: 0 0 2rem;
}

#concept .concept_box .inner {
	max-width: 1440px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.concept_img {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: 55%;
}

.concept_img img {
	width: 50%;
	height: auto;
}

.concept_img img:first-of-type {
	margin-right: 2%;
}

.concept_txt {
	width: 43%;
	padding-left: 20px;
}

.concept_txt .image {
	margin: 1.8rem 0 1.5rem;
}

.concept_txt p {
	font-size: .875rem;
	line-height: 2.1;
	margin: 0 0 2rem;
}

.concept_txt_copy {
	font-size: 2.4rem;
	line-height: 1.5;
	margin: 40px auto;
}

.concept_txt_main {
	font-size: 1.6rem;
	line-height: 1.8;
	color: #969696;
}

.concept_slide_area {
	padding: 20px 0;
}

.concept_slide_area .inner {
	max-width: 1043px;
}

.concept_slide_area .slick-dots {
	bottom: -58px;
}

.concept_slide_area .slick-dots li {
	margin: 0 .9rem;
}

.concept_slide_area .slick-dots li.slick-active button:before {
	color: #9f8703;
}

.concept_slide_area .slick-dots li button:before {
	content: '■';
	font-size: 18px;
}

.concept_slide_area .slick-list {
	overflow: visible;
}

.multiple-concept {
	width: 100%;
	margin: auto;
}

.concept_slide_box .m-box {
	background: #fff;
	min-height: 380px;
	border-radius: 21px;
	margin: 0 3% 1rem;
	padding: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: rgb(214 208 179) 0px 4px 12px;
}

.concept_slide_box .m-box .icon {
	margin: 0 0 1.5rem;
	height: 103px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.concept_slide_box .m-box .icon img {
	max-height: 100%;
}

.concept_txt_box h4 {
	color: #b29103;
	text-align: center;
	font-size: 1.125rem;
	margin: 0 0 2.5rem;
	font-family: 'Noto Serif JP', serif;
}

.concept_txt_box .point_txt {
	font-size: 1rem;
	font-family: 'Noto Serif JP', serif;
}

.concept_txt_box .point_mini {
	font-size: .75rem;
	font-family: 'Noto Serif JP', serif;
	margin: 1rem 0 0 0;
}

/*-----------------------------
	plan
------------------------------*/

#plan {
	position: relative;
	padding: 0 0 .6rem;
}

#plan .inner {
	max-width: 1052px;
}

#plan .head {
	text-align: center;
	position: relative;
	margin: 2.4rem 0 4rem;
}

#plan .head .image-title {
	position: absolute;
	top: -1.8rem;
	left: 55%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 0;
}

#plan .head .en-title {
	font-size: 2.1875rem;
	color: #b29103;
	font-family: 'NotoSerifCJK';
	padding: 2.2rem 0 0;
}

#plan .head h2 {
	font-size: .875rem;
	font-weight: 300;
	letter-spacing: .12em;
}

#plan .pick-text {
	text-align: center;
	font-size: 1.875rem;
	font-family: 'Noto Serif JP', serif;
	margin: 0 0 6.4rem;
}

#plan .plan_box {
	position: relative;
	border: 1px solid #707070;
	margin: 0 0 5rem;
	padding: 3.4rem 1rem 1rem;
	text-align: center;
}

#plan .plan_box p {
	font-size: 1.25rem;
	font-weight: 300;
	margin: 0 0 1rem;
	font-family: 'Noto Serif JP', serif;
}

#plan .plan_box p.left_text {
	text-align: left;
	padding: 0 1rem;
}

#plan .plan_box p .big {
	color: #a08703;
	font-size: 1.75rem;
}

#plan .plan_box .plan_head {
	color: #fff;
	text-align: center;
	padding: .7rem 0;
	font-size: 1.125rem;
	font-family: 'Noto Serif JP', serif;
	background: #535151;
	width: 73%;
	margin: -23px auto 0;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

#plan .plan_box .plan_head.green {
	background: #56583e;
}

#plan .plan_box .plan_head.red {
	background: #583e3e;
}

#plan .plan_box .plan_head.blue {
	background: #3b3b5c;
}
#plan .plan_box .plan_head.yellow{
	background: #988b36;
}

#plan .plan_box .plan_flex {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
}
#plan .plan_box .plan_flex.plan_flex_center {
	justify-content:center;
}

#plan .plan_box .plan_flex p {
	padding: 0 1rem;
}

#plan .plan_box .plan_flex p .mini {
	display: block;
	font-size: 1rem;
	font-weight: 300;
	text-align: left;
}

#plan .plan_box .plan_flex p.text_flex {
	display: flex;
	align-items: flex-end;
}

#plan .plan_box .plan_flex .onlyPC {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

#plan .plan_box .plan_flex p.text_flex .span_head {
	padding: 0 0 .3rem;
}

#plan .yellow-plan-bn {
	margin: 0 0 2rem;
}

#plan .yellow-plan-bn a {
	position: relative;
	display: block;
	background: #b29103;
	color: #fff;
	padding: 1.4rem 2rem .2rem;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
}

#plan .yellow-plan-bn a:before {
	content: '';
	width: 24px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 50%;
	right: 2.4rem;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#plan .yellow-plan-bn a:after {
	content: 'MORE';
	color: #fff;
	font-size: .8875rem;
	position: absolute;
	letter-spacing: 0.11em;
	top: 50%;
	right: 73px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#plan .yellow-plan-bn a .flex {
	display: flex;
	width: 88%;
}

#plan .yellow-plan-bn a .flex .icon {
	width: 14%;
}

#plan .yellow-plan-bn a .flex .text {
	width: 86%;
}

#plan .yellow-plan-bn a .flex .text .bn-head {
	font-size: 1.875rem;
	letter-spacing: -.0125em;
	font-family: 'PT Serif', serif;
	border-bottom: 1px solid #fff;
	padding: 0 0 0 2rem;
	margin: 0 0 1rem;
}

#plan .yellow-plan-bn a .flex .text p {
	font-size: .875rem;
	letter-spacing: .12em;
	line-height: 1.42;
	font-family: 'Noto Serif JP', serif;
	padding: 0 0 0 2rem;
}

#plan .open-bn a {
	position: relative;
	display: block;
	background: #000;
	color: #fff;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
}

#plan .open-bn a .flex {
	display: flex;
	align-items: center;
}

#plan .open-bn a .flex .image {
	width: 35%;
}

#plan .open-bn a .flex .conts {
	width: 65%;
	text-align: center;
}

#plan .open-bn a .flex .conts .bn-head {
	font-size: 2.8125rem;
	color: #b29103;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
}

#plan .open-bn a .flex .conts p {
	font-size: 1.5625rem;
	color: #fff;
	line-height: 1.4;
	font-family: 'Noto Serif JP', serif;
}

#plan .plan_pro_ttl{
display:inline-block;
border-bottom:1px solid #000;
padding-bottom:5px;
}
#plan .plan_pro ul{
list-style-type:none;
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}
#plan .plan_pro ul li{
width:48%;
display:flex;
justify-content:space-between;
align-items:center;
}
#plan .plan_pro ul li:nth-child(n+3){
margin-top:4%;
}
#plan .plan_pro ul li img{
width:40%;
}
#plan .plan_pro ul li p{
width:58%;
text-align:left;
}

/*-----------------------------
	flow
------------------------------*/

#flow {
	position: relative;
	padding: 0 0 4.8rem;
}

#flow .inner {
	max-width: 1023px;
}

#flow .head {
	text-align: center;
	position: relative;
	margin: 3rem 0 2.8rem;
}

#flow .head h2 {
	font-size: 1.875rem;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: -.0125em;
	margin: 0 0 2rem;
}

#flow .head h2 span {
	position: relative;
}

#flow .head h2 span:before {
	content: '';
	width: 20px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 50%;
	left: -28px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#flow .head h2 span:after {
	content: '';
	width: 20px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 50%;
	right: -28px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#flow .flow_list {
	position: relative;
	width: 75%;
	margin: 0 auto 6rem;
}

#flow .flow_list:before {
	content: '';
	width: 2px;
	height: 100%;
	background: #707070;
	position: absolute;
	left: 47px;
	top: 0;
	z-index: -1;
}

#flow .flow_list .box {
	display: flex;
	align-items: center;
	margin: 0 0 3.8rem;
}

#flow .flow_list .box .no {
	width: 94px;
	height: 94px;
	color: #fff;
	margin: 0 2rem 0 0;
	font-size: 2.1875rem;
	font-family: 'NotoSerifCJK';
	background: #000;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#flow .flow_list .box .conts {
	width: calc(100% - 114px);
}

#flow .flow_list .box .conts h3 {
	font-size: 1.125rem;
	font-weight: 500;
	margin: 0 0 .6rem;
}

#flow .flow_list .box .conts p {
	font-size: .875rem;
	font-weight: 300;
}

/*-----------------------------
	courses
------------------------------*/

#courses {
	position: relative;
	padding: .1rem 0 4rem;
}

#courses:after {
	content: '';
	width: 100%;
	height: 100%;
	background: #f4f4f4;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -2;
}

#courses:before {
	content: '';
	width: 100%;
	height: 100%;
	background: url('../img/courses-bg@2x.png') no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}

#courses .inner {
	max-width: 1440px;
}

#courses .head {
	text-align: center;
	position: relative;
	margin: 2.4rem 0 2rem;
}

#courses .head h2 {
	font-size: 1.875rem;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: -.0125em;
	margin: 0 0 2rem;
}

#courses .head .image-title {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 0;
}

#courses .head .en-title {
	font-size: 2.1875rem;
	color: #b29103;
	font-family: 'NotoSerifCJK';
	padding: .6rem 0 .4rem;
}

#courses .head h2 {
	font-size: .875rem;
	font-weight: 300;
	letter-spacing: .12em;
}

#courses .courses_flex {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: end;
	padding: 0 0 0 3.9%;
}

#courses .courses_flex .image {
	width: 74%;
	margin: 5rem -2rem 0 -13%;
}

#courses .courses_flex .conts {
	width: 41%;
	background: #fff;
	padding: 2.8rem 5%;
	word-break: break-all;
}

#courses .courses_flex .conts h3 {
	font-size: 1.5rem;
	font-family: 'NotoSerifCJK';
	margin: 0 0 1.5rem;
}

#courses .courses_flex .conts p {
	font-size: .875rem;
	line-height: 1.4;
	margin: 0 0 1.5rem;
	font-family: 'NotoSerifCJK';
}

#courses .courses_flex .conts .detail_button a {
	position: relative;
	display: block;
	color: #fff;
	font-size: .875rem;
	font-weight: 500;
	line-height: 3.312rem;
	letter-spacing: -.0125em;
	margin: 0 .5rem 0 0;
	padding: 0 4rem 0 1.1rem;
	background: #000;
}

#courses .courses_flex .conts .detail_button a:before {
	content: '';
	width: 22px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#courses .courses_flex .conts .detail_button a:after {
	content: 'MORE';
	color: #fff;
	font-size: .6875rem;
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}


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

会社概要

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

.company_list {
  max-width: 980px;
  width: 90%;
  margin: 40px auto;
}

.company_list img {
  max-width: 140px;
  height: auto;
  margin-bottom: 20px;
}

.company_list_tit {
  font-size: 18px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #000;
}

.company_list_txt {
  font-size: 15px;
  line-height: 2;
}

.company_list_txt a {
  text-decoration: underline;
}

.vision_txt {
  font-size: 24px;
  text-align: center;
  line-height: 1.8;
  margin-bottom: 100px;
}

.mission_list {
  max-width: 980px;
  width: 90%;
  margin: 40px auto 100px auto;
}

.mission_txt {
  font-size: 20px;
  line-height: 2;
}

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

ご利用時の注意事項

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

.using_cotion {
  max-width: 450px;
  width: 90%;
  margin: 20px auto 50px auto;
  font-size: 15px;
}

.using_txt {
  font-size: 15px;
  line-height: 1.5;
  margin: 20px auto 60px auto;
}

.using_txt a {
  text-decoration: underline;
}

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

PC

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


@media screen and (min-width: 769px) and (max-width: 1100px) {
	header .header_area {
		padding: 0 1rem;
	}
	
	header .header_area .right-area .line-button a {
		padding: 0.5rem 1.5rem;
	}
	
	header .header_area .right-area .line-button {
		margin: 0 0 0 1rem;
	}
	
	header .header_area .right-area ul li {
		padding: 0 0.65rem;
	}
	
	header .header_area h1 {
		max-width: 190px;
	}
	
}


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

SP

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


@media screen and (max-width: 768px) {
	
	html {
		font-size: 2vw;
	}
	
	.main {
		padding: 60px 0 0;
	}
	
	.header_area {
		display: block;
		padding: 15px;
	}

	.header_area img {
		width: 60%;
		display: block;
	}

	.header_area ul {
		width: 100%;
		margin: 10px auto;
	}
	
	header .header_area {
		height: 60px;
	}
	
	.mv_area {
		/* height: calc(100vh - 60px); */
	}

	.mv_area .main-visual {
		/* height: 60vh; */
	}

	.mv_area .main-visual .slider {
		width: 100vw;
		/* height: 60vh; */
		/* position: absolute; */
		top: 0;
		left: 0;
		margin: 0 auto;
		text-align: center;
	}

	.mv_area .main-visual .slick-slide img {
		/* object-fit: cover; */
		width: 100%;
		/* height: 60vh; */
		margin: 0 auto;
		text-align: center;
	}

	.mv_area .main-visual .main-title {
		top: 45%;
	}
	
	#news .news-list li span.days {
		font-size: 1.8rem;
	}
	
	#news .news-list li .title a {
		font-size: 1.8rem;
	}
	
	main.contents {
		padding: 60px 0 0 0;
	}
	
	.mv_area p {
		font-size: 1.8rem;
	}
	
	.hamburger {
		top: 10px;
	}
	
	#news .head .en-title {
		font-size: 2.6rem;
	}
	
	#news .head h2 {
		font-size: 1.6rem;
	}
	
	#concept .head .en-title {
		font-size: 2.6rem;
	}
	
	#concept .head h2 {
		font-size: 1.6rem;
	}
	
	#concept .concept_box .inner {
		display: block;
		width: calc(100% - 4rem);
	}
	
	#concept:before {
		width: 130%;
		left: -8rem;
	}
	
	#concept:after {
		width: 130%;
		right: -8rem;
	}
	
	.concept_slide_box .m-box {
		min-height: 320px;
	}
	
	.concept_slide_box .m-box .icon {
		height: 90px;
	}
	
	.concept_slide_box .m-box .icon img {
		width: 40px;
		height: auto;
	}

	.concept_slide_box .m-box .icon img.icon02 {
		width: 50px;
		height: auto;
	}

	.concept_slide_box .m-box .icon img.icon06 {
		width: 60px;
		height: auto;
	}

	.concept_slide_box .m-box .icon img.icon07 {
		width: 30px;
		height: auto;
	}
	
	.concept_img {
		width: 100%;
	}
	
	.concept_txt {
		width: 100%;
		padding: 0;
	}
	
	#plan .plan_box p.left_text {
		text-align: center;
		padding: 0;
	}
	
	#plan .plan_box .plan_flex p.text_flex .span_head {
		font-size: 1.8rem;
	}
	
	#plan .plan_box .plan_flex p .mini {
		text-align: left;
		font-size: 1.8rem;
		margin: 0 0 0 3rem;
	}
	
	#plan .plan_box .plan_flex p .big {
		text-align: center;
		font-size: 2.2rem;
	}

	#plan .plan_box .plan_flex p.text_flex {
		justify-content: center;
	}
	
	#plan .plan_box .span_head {
		font-size: 1.8rem;
	}
	
	#plan .head .en-title {
		font-size: 2.6rem;
	}
	
	#plan .head h2 {
		font-size: 1.6rem;
	}
	
	#plan .plan_box .plan_head {
		margin: -14px auto 0;
	}
	
	#plan .plan_box p {
		font-size: 1.5rem;
	}
	
	#plan .plan_box p .big {
		font-size: 2.2rem;
	}
	
	#plan .plan_box p .shop_time {
		display: block;
		margin: 1rem 0;
	}
	
	#plan .yellow-plan-bn a {
		padding: 1rem;
	}
	
	#plan .yellow-plan-bn a .flex {
		width: 100%;
		display: block;
	}
	
	#plan .yellow-plan-bn a .flex .icon {
		width: 30%;
		margin: 0 auto;
		padding: 1rem;
	}
	
	#plan .yellow-plan-bn a .flex .text {
		width: 100%;
	}
	
	#plan .yellow-plan-bn a .flex .text .bn-head {
		padding: 0 0 0 .8rem;
	}
	
	#plan .yellow-plan-bn a .flex .text p {
		padding: 0 0 0 .8rem;
		font-size: 1.6rem;
	}
	
	#plan .yellow-plan-bn a:before {
		top: 54%;
	}
	
	#plan .yellow-plan-bn a:after {
		top: 54%;
		right: 44px;
	}
	
	#plan .open-bn a .flex {
		display: block;
	}
	
	#plan .open-bn a .flex .image {
		width: 100%;
	}
	
	#plan .open-bn a .flex .image img {
		object-fit: cover;
		width: 100%;
		height: 191px;
	}
	
	#plan .open-bn a .flex .conts {
		width: 100%;
		padding: 1.5rem 0;
	}
	
	#plan .plan_box .plan_flex {
		display: block;
	}
	

	.sp_half {
		width: 47%;
	}
	
	#flow {
		position: relative;
		padding: 5rem 0 5rem;
	}
	
	#flow .head h2 {
		font-size: 2.6rem;
	}
	
	#flow .flow_list {
		width: 100%;
	}
	
	#flow .flow_list .box .conts h3 {
		font-size: 2rem;
	}
	
	#flow .flow_list .box .conts p {
		font-size: 1.7rem;
	}
	
	#flow .flow_list .box .no {
		width: 70px;
		height: 70px;
	}
	
	#flow .flow_list .box .conts {
		width: calc(100% - 103px);
	}
	
	#flow .flow_list:before {
		height: 92%;
		left: 35px;
		top: 5px;
	}
	
	.free_box h3 {
		font-size: 1.6rem;
	}
	
	.free_box {
		border-radius: 12px;
	}
	
	.free_box .line-button a {
		line-height: 5.312rem;
		font-size: 1.8rem;
		margin: 0;
	}
	
	.free_box p {
		text-align: left;
		font-size: 1.4rem;
	}
	
	#plan .plan_box .plan_head {
		font-size: 1.8rem;
	}
	
	.concept_txt_box h4 {
		font-size: 2.2rem;
	}
	
	.concept_txt p {
		font-size: 1.8rem;
	}
	
	.concept_txt_box .point_txt {
		font-size: 1.8rem;
	}
	
	#courses .head .en-title {
		font-size: 2.6rem;
	}
	
	#courses .head h2 {
		font-size: 1.6rem;
	}
	
	#courses .courses_flex {
		display: block;
		padding: 0;
	}
	
	#courses .courses_flex .conts p {
		font-size: 1.6rem;
	}
	
	#courses .courses_flex .image {
		width: 100%;
		margin: 0 0 -2rem 0;
	}
	
	#courses .courses_flex .conts {
		width: 94%;
		margin: 0 3%;
		padding: 2.8rem;
		position: relative;
	}
	
	#courses .courses_flex .conts .detail_button a {
		line-height: 5.312rem;
		font-size: 1.8rem;
		margin: 0;
	}
	
	.company_list {
		margin: 20px auto;
	}

	.company_list_tit {
		font-size: 16px;
	}

	.company_list_txt {
		font-size: 14px;
	}

	.vision_txt {
		font-size: 16px;
		margin-bottom: 60px;
	}

	.mission_list {
		margin: 20px auto 40px;
	}

	.mission_txt {
		font-size: 14px;
	}
	
	.using_txt {
		width: 90%;
		font-size: 14px;
	}

	
	footer .footer_top .logo {
		max-width: 180px;
	}
	
	footer .footer_top .buttons-area {
		display: block;
	}
	
	footer .footer_top .buttons-area .line-button {
		max-width: initial;
	}
	
	footer .footer_top .buttons-area .line-button a {
		line-height: 5.312rem;
		margin: 0 0 1.5rem;
		font-size: 1.8rem;
	}
	
	footer .footer_top .buttons-area .other-button{
		max-width: initial;
	}
	
	
	footer .footer_top .buttons-area .other-button a {
		line-height: 5.312rem;
		margin: 0 0 1.5rem;
		font-size: 1.8rem;
	}
	
	footer .footer_top p {
		font-size: 1.6rem;
	}
	
	.sp_fixed {
		width: 100%;
		position: fixed;
		bottom: 0;
		height: 60px;
		background: #A08703;
		display: flex;
		align-items: center;
		justify-content: space-around;
		z-index: 99;
	}

	.fixed_line {
		width: 70%;
		height: 40px;
		background: #FFF;
		border: 1px solid #707070;
		border-radius: 11px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #000;
	}

	.fixed_tel {
		width: 20%;
		height: 40px;
		background: #FFF;
		border: 1px solid #707070;
		border-radius: 11px;
		position: relative;
	}

	.fixed_tel span::after {
		content: "";
		position: absolute;
		background: url('/assets/img/ico_fixed_tel.svg') no-repeat;
		background-size: 100%;
		background-position: center;
		width: 25px;
		height: 30px;
		top: 5px;
		left: 0;
		right: 0;
		margin: auto;
	}
	
}

/*tel*/
.free_box .tel_box{
margin-bottom:20px;
}
.free_box .tel_box p{
font-size: 1.275rem;
font-weight: 500;
font-family: 'Noto Serif JP', serif;
margin:0 0 1rem 0;
text-align: center;
color: #000000;
font-weight:bold;
}

.free_box .tel_box a {
	color: #a08703;
	font-size: 1.45rem;
	font-family: 'NotoSerifCJK';
}
.free_box .tel_box span.text {
	font-weight: 500;
	font-size: 1.45rem;
	font-family: 'NotoSerifCJK';
}
.free_box .tel_box .mini {
	font-weight: 500;
	font-size: .8rem;
}
@media screen and (max-width: 768px) {
.free_box .tel_box{
margin-bottom:3vw;
}
.free_box .tel_box p{
font-size:4.5vw;
}
.free_box .tel_box a {
font-size:6vw;
}
.free_box .tel_box span.text {
font-size:4.5vw;
}
.free_box .tel_box .mini {
font-size:2.5vw;
}
}

/*added 2023/8/10*/
#youtube{
padding:0 30px;
margin-bottom:80px;
}
#youtube>h2{
max-width:1000px;
margin:0 auto;
text-align:center;
font-size:32px;
margin-bottom:20px;
display:flex;
justify-content:center;
align-items:center;
}
#youtube>h2:before,
#youtube>h2:after{
content:'';
display:block;
width:60px;
height:1px;
background-color:#999;
}
#youtube>h2:before{
margin-right:10px;
}
#youtube>h2:after{
margin-left:10px;
}
#youtube>div{
max-width:1000px;
margin:0 auto;
display:flex;
justify-content:center;
}
#youtube>div>div{
width:48%;
height:0;
padding-bottom:27%;
position:relative;
}
#youtube>div>div:nth-child(2){
	margin-left:4%;
}
#youtube>div>div iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}
@media screen and (max-width: 768px) {
#youtube{
padding:0 4vw;
margin-bottom:8vw;
}
#youtube>h2{
font-size:5vw;
margin-bottom:4vw;
}
#youtube>h2:before,
#youtube>h2:after{
width:6vw;
}
#youtube>h2:before{
margin-right:1vw;
}
#youtube>h2:after{
margin-left:1vw;
}
#youtube>div{
flex-direction:column;
}
#youtube>div>div{
width:100%;
padding-bottom:56.25%;
}
#youtube>div>div:nth-child(2){
margin:4vw 0 0 0;
}
}

/*addes 2023/11/15*/
.flyer{
	margin-bottom:60px;
}
.flyer ul{
	display:flex;
	justify-content:space-between;
}
.flyer ul li{
	width:48%;
}