@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

/**************************************************
*  background-color: colors(warning,dark);
*            ↓↓↓↓↓↓
*  background-color: #ff7b7b;
**************************************************/
/****************************************************************************
reset.css
--------------------------------------------------------
Author : Yasuo Tominaga @ penpengusa
Group : http://www.penpengusa.com
Creation date : 2016.10.06
Last up date   : 2016.10.06
****************************************************************************/
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, 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, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
}

strong {
  font-size: 100%;
  font-style: normal;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

html {
  overflow-y: scroll;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

input, textarea {
  margin: 0;
  padding: 0;
}

ol, ul {
  list-style: none;
}

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

caption, th {
  text-align: left;
}

a:focus {
  outline: none;
}

.clearfix:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: '.';
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
}

.both {
  clear: both;
}

/****************************************************************************
pc_common.css
--------------------------------------------------------
Author : Yasuo Tominaga @ penpengusa
Group : http://www.penpengusa.com
Creation date : 2020.2.25
Last up date   : 2020.2.25
****************************************************************************/
/*============================================================
//  初期設定
//==========================================================*/
.on {
  display: block !important;
}

/* モダンブラウザ（Firefox Opera Safari）対策 */
.clearfix:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: '.';
}

/* Win版IE7とMac版IE5対策 */
.clearfix {
  display: inline-block;
}

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1px;
}

.clearfix {
  display: block;
}

/* End hide from IE-mac */
/* 共通設定--------------------------------------------------------- */
* {
  margin: 0;
  padding: 0;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  overflow: hidden;
}

a img {
  transition: .2s;
  border: 0;
}

ul, ol, dl {
  list-style: none;
}

body {
  font-family: "Zen Kaku Gothic New", 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku GothicPro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  /*font-family: '\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3','Hiragino Kaku GothicPro','\30E1\30A4\30EA\30AA',Meiryo,'\FF2D\FF33   \FF30\30B4\30B7\30C3\30AF',sans-serif;*/
  font-size: 14px;
  line-height: 1.6;
  width: 100%;
  text-align: left;
  color: #000000;
  background: #fff;
  background-size: 100% auto;
  position: relative;
  z-index: 1;
}


a {
  text-decoration: none;
  color: #0062ce;
  border: none;
}

a:hover {
  text-decoration: underline;
  color: #806239;
}

a:link, a:visited img {
  color: #0062ce;
}

a:hover img {
  opacity: .75;
  filter: alpha(opacity=75);
}

img {
  vertical-align: bottom;
  border: none;
}

.Oswald {
	font-family: "Oswald", sans-serif;
}

/* CSS Document */
#wrapper {
  width: 100%;
}

/***********************************
共通ヘッダ
***********************************/
header {
	width: 100%;
	height: 85px;
	padding: 0px !important;
	margin: 0 auto 0 auto;
	display: block;
	text-align: left;
	z-index: 100;
	/*background: url(../images/header_bg.png) repeat-x bottom left;*/
}
header h1 a {
	/*width: 136px;*/
	width: auto;
    height: 30px;
	display: inline-block;
	/*margin: 12px 0 0 20px !important;*/
	margin: 13px 0 0 20px !important;
	padding: 0 !important;
	float: left;
}

header h1 a img {
	width: 100%;
	display: block;
	margin: 0 !important;
	padding: 0 !important;
}

#wrapper hr {
  border-top: none;
  border-right: none;
  border-bottom: 1px solid #65be22;
  border-left: none;
}

/***********************************
共通カラー
***********************************/
.red {
  color: #f00;
}

#contents {
  width: 100%;
  /*max-width: 1000px;*/
	background: #000;
}

/***********************************
共通設定
***********************************/
.special-credit .define_wrap {
  padding: 0 24px;
}

.special-credit .define_inner {
  max-width: 100%;
  width: 990px;
  margin: 0 auto;
}

.special-credit img {
  max-width: 100%;
}

.special-credit .ov {
  transition: opacity 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.special-credit .ov:hover {
  opacity: .7;
}


@media screen and (min-width:768px){
  .special-credit .sp {
	  display: none !important;
  }
}
@media screen and (max-width:767px){

  .special-credit .pc {
    display: none !important;
  }

  .special-credit .define_wrap {
    padding: 0 4%;
  }
}



/*--------------------------------------------------------
footer
--------------------------------------------------------*/
footer {
  font-size: 12px;
  line-height: 1.5;
  z-index: 1000;
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto 0 auto;
  padding: 90px 0 60px 0;
  text-align: center;
  color: #fff;
	background: #000;
}

footer p {
  color: #fff;
}

#footer {
  overflow: hidden;
  width: 1000px;
  margin: 0 auto;
}

.cRight {
  width: 100%;
  padding: 10px 0 0 0;
  text-align: center;
  /*color: #000000;*/
  font-size: 14px;
}

.pcLayer, img.pcImg {
  display: block;
}

.spLayer, img.spImg {
  display: none;
}

/* --- pagetop --- */
.pagetop {
  position: fixed;
  right: 8px;
  bottom: 58px;
  transition: all .6s;
  transform: scale(0.3);
  opacity: 0;
  filter: alpha(opacity=0);
}

.pagetop a {
  font-size: 1.6rem;
  display: table-cell;
  width: 60px;
  height: 60px;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  color: #fff !important;
  border-radius: 0;
  background: rgba(126, 202, 68, 0.9);
  border: 1px solid #fff;
}

.pagetop.show {
  transform: scale(1);
  opacity: .8;
  filter: alpha(opacity=80);
}

.pagetop a:hover {
  text-decoration: none;
  background: rgba(126, 202, 68, 0.6);
}


/****************************************************************************
sp_common.css
--------------------------------------------------------
Author : Yasuo Tominaga @ penpengusa
Group : http://www.penpengusa.com
Creation date : 2020.2.25
Last up date   : 2020.2.25
****************************************************************************/
/* CSS Document */
@media screen and (max-width: 768px) {
  /***********************************
    共通ヘッダ
    ***********************************/
  header {
		width: 100%;
		height: 82px;
		padding: 0px 0 0px 0 !important;
		margin: 0 auto 0 auto;
		display: block;
		text-align: left;
		z-index: 100;
		background: url(../images/header_bg.png) repeat-x bottom left;
		overflow: hidden;
	}
	header h1 a {
        width: 74%;
        display: inline-block;
        margin: 17px 0 0px 17px !important;
		padding: 0 !important;
		float: left;
	}

	header h1 a img {
		width: 100%;
		display: block;
		margin: 0 !important;
		padding: 0 !important;
	}
  #wrapper hr {
    border-top: none;
    border-right: none;
    border-bottom: 1px solid #65be22;
    border-left: none;
  }
  .fixed {
    position: fixed;
    width: 100%;
    height: 100%;
  }
  /*--------------------------------------------------------
    footer
    --------------------------------------------------------*/
  footer {
    font-size: 10px;
    line-height: 1.5;
    z-index: 1000;
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 0 auto;
    padding: 25px 0 15px 0;
    text-align: center;
    color: #fff;
  }
  #footer {
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
  }
  .cRight {
    width: 100%;
    padding: 10px 0 0 0;
    text-align: center;
    font-size: 10px;
  }
  /* --- pagetop --- */
  .pagetop {
    z-index: 1000;
    bottom: 10px;
  }
  .pagetop a {
    width: 50px;
    height: 50px;
  }
  .pcLayer, img.pcImg {
    display: none !important;
  }
  .spLayer, img.spImg {
    display: block !important;
  }
}

/**** END media screen *****/

/*--------------------------------------------------------
@html
--------------------------------------------------------*/
html {
	font-size: 10px;
}


@media screen and (max-width:1037px){
	html {
		font-size: .96432015vw;
	}
}

@media screen and (max-width:767px){
	html {
		font-size: 2.66666667vw;
	}
}


/*--------------------------------------------------------
@#contents
--------------------------------------------------------*/
#contents {
  overflow: clip;
}

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


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

 hero-bg

***********************************/
.hero-bg {
	background: #fff;
	position: relative;
	z-index: 1;
}

.hero-bg:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url(images/hero_bg01.jpg) no-repeat center top;
	background-size: 130rem auto;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

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

	.hero-bg:before {
		background-size: 100% auto;
	}
}

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

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

	.hero-bg:before {
		width: 101%;
		background-size: 140% auto;
	}

}


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

 c-hero

***********************************/
.c-hero {
}

.c-hero__inner {
	padding-top: 10rem;
	padding-bottom: 17rem;
}

.c-hero__inner-ttl {
	width: 44.6rem;
	margin: 0 auto;
	text-align: center;
}

.c-hero__inner-ttl img {
	width: 100%;
	max-width: none;
}

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

	.c-hero__inner {
		padding-top: 7.692vw;
		padding-bottom: 13.077vw;
	}

	.c-hero__inner-ttl {
		width: 34.30769231vw;
	}
}

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

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

	.c-hero__inner {
		padding-top: 3.5rem;
		padding-bottom: 6rem;
	}

	.c-hero__inner-ttl {
		width: 19rem;
	}

}


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

 c-about

***********************************/
.c-about {
}

.c-about__inner {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	padding-bottom: 4rem;
}

.c-about__inner-left {
	width: 41.5rem;
	margin-right: 4.4rem;
}

.c-about__inner-left .ttl {
}

.c-about__inner-left .txt01 {
	margin-top: 1.5rem;
}

.c-about__inner-left .txt01 .block {
	display: inline-block;
	padding: .5rem 1.5rem;
	color: #fff;
	font-size: 1.4rem;
	border-radius: 20rem;
	background: #000;
}

.c-about__inner-right {
	width: 42rem;
}

.c-about__inner-right .txt01 {
}

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

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

	.c-about__inner {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		padding-bottom: 2rem;
	}

	.c-about__inner-left {
		width: 16.5rem;
		margin-right: 0;
	}

	.c-about__inner-left .ttl {
	}

	.c-about__inner-left .txt01 {
		margin-top: 1rem;
	}

	.c-about__inner-left .txt01 .block {
		padding: .5rem 1.5rem;
		font-size: 1.1rem;
		line-height: 1.2;
		text-align: center;
		border-radius: 20rem;
		background: #000;
	}

	.c-about__inner-right {
		width: 17rem;
	}

	.c-about__inner-right .txt01 {
	}
}

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

 c-payment-example

***********************************/
.c-payment-example {
	width: 30.8rem;
}

.c-payment-example__ttl {
	padding: .5rem 1rem;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 500;
	text-align: center;
	background: #69BE28;
}

.c-payment-example__list {
	margin-top: 1.2rem;
}

.c-payment-example__list dl {
	display: flex;
	justify-content: space-between;
	padding: .3rem 0;
	border-bottom: 1px solid #fff;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.c-payment-example__list dl:last-child {
	border-bottom: none;
}

.c-payment-example__list dl dt {
	padding-right: .5em;
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.5;
	white-space: nowrap;
	position: relative;
	z-index: 1;
}

.c-payment-example__list dl dd {
	padding-left: .5em;
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}


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

	.c-payment-example {
		width: auto;
		margin-top: 1.5rem;
	}

	.c-payment-example__ttl {
		padding: .5rem 1rem;
		font-size: 1.6rem;
	}

	.c-payment-example__list {
		margin-top: 1.2rem;
	}

	.c-payment-example__list dl {
		padding: .3rem 0;
		border-bottom: .1rem solid #fff;
	}

	.c-payment-example__list dl dt {
		padding-right: .5em;
		font-size: 1.5rem;
	}

	.c-payment-example__list dl dd {
		padding-left: .5em;
		font-size: 1.5rem;
	}
}



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

 c-cv

***********************************/
.c-cv {
}

.c-cv__btn {
	margin-top: 3.8rem;
	text-align: center;
}

.c-cv__btn:first-child {
	margin-top: 0;
}

.c-cv__btn a {
	display: inline-block;
	width: 41.7rem;
	padding: 1.5rem 3.2rem;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 500;
	text-align: center;
	vertical-align: top;
	background: #69BE28;
	position: relative;
	z-index: 1;
}

.c-cv__btn a:before {
	content: "";
	display: block;
	width: 1.8rem;
	height: 1.8rem;
	background: url(images/icon_blank.png) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 1.7rem;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.c-cv__btn a span {
	display: inline-block;
	padding-right: 0;
	font-weight: 500;
	position: relative;
	z-index: 1;
}

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

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

	.c-cv__btn {
		margin-top: 2rem;
	}

	.c-cv__btn a {
		width: 34.5rem;
		max-width: 100%;
		padding: .8rem 1.5rem;
		font-size: 1.5rem;
		letter-spacing: normal;
	}

	.c-cv__btn a:before {
		width: 1.6rem;
		height: 1.6rem;
		right: 1.5rem;
	}

	.c-cv__btn a span {
		letter-spacing: normal;
	}

}


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

 c-detail

***********************************/
.c-detail {
}

.c-detail__inner {
	padding-top: 4rem;
	padding-bottom: 10rem;
}

.c-detail__inner-content {

}

.c-detail__inner-content-sec {
	margin-top: 4rem;
	position: relative;
	z-index: 1;
}

.c-detail__inner-content-sec:first-child {
	margin-top: 0;
}

.c-detail__inner-content-sec:first-child:before {
	content: "";
	display: block;
	width: 16.6rem;
	height: 4.2rem;
	margin-left: 2rem;
	background: url(images/detail_bg01.png) no-repeat center bottom / contain;
	position: absolute;
	bottom: 100%;
	left: 0;
	z-index: 1;
}

.c-detail__inner-content-sec:first-child:after {
	content: "";
	display: block;
	width: 19.7rem;
	height: 3.4rem;
	margin-right: 2.7rem;
	background: url(images/detail_bg02.png) no-repeat center bottom / contain;
	position: absolute;
	bottom: 100%;
	right: 0;
	z-index: 1;
}

.c-detail__inner-content-sec .head {
	padding: 2.5rem 1.5rem;
	background: #5F983A;
	position: relative;
	z-index: 1;
}

.c-detail__inner-content-sec .head:before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 1.5rem solid transparent;
	border-left: 1.5rem solid transparent;
	border-top: 1.5rem solid #5f983a;
	border-bottom: 0;
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.c-detail__inner-content-sec .head .monthly {
}

.c-detail__inner-content-sec .head .monthly p {
	color: #fff;
	font-size: 3.5rem;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}

.c-detail__inner-content-sec .head .monthly p .large {
	display: inline-block;
	font-size: 7.6rem;
	font-weight: bold;
	line-height: .6;
}

.c-detail__inner-content-sec .content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding: 3.5rem 6rem 4rem;
	background: #000;
}

.c-detail__inner-content-sec .content .box {
	width: 100%;
	margin-bottom: 3.5rem;
}

.c-detail__inner-content-sec .content .box .ttl {
	color: #fff;
	font-size: 3.4rem;
	font-weight: bold;
	letter-spacing: normal;
	text-align: center;
}

.c-detail__inner-content-sec .content .box .ttl .d-ib {
	display: inline-block;
	font-weight: bold;
}

.c-detail__inner-content-sec .content .box .txt01 {
	margin-top: 1.5rem;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.5625;
	text-align: center;
}

.c-detail__inner-content-sec .content .pic {
	width: 47.5rem;
}

.c-detail__inner-content-sec .content .c-payment-example {

}

.c-detail__inner-note {
	margin-top: 2.8rem;
}

.c-detail__inner-note p {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.71428571;
	text-align: center;
}

.c-detail__inner .c-cv {
	margin-top: 7rem;
}

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

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

	.c-detail__inner {
		padding-top: 2rem;
		padding-bottom: 4rem;
	}

	.c-detail__inner-content-sec {
		margin-top: 3rem;
	}

	.c-detail__inner-content-sec:first-child:before {
		width: 8.3rem;
		height: 2.1rem;
		margin-left: 1rem;
	}

	.c-detail__inner-content-sec:first-child:after {
		width: 9.85rem;
		height: 1.7rem;
		margin-right: 1.35rem;
	}

	.c-detail__inner-content-sec .head {
		padding: 1.25rem 1.5rem;
	}

	.c-detail__inner-content-sec .head:before {
		border-right: 1rem solid transparent;
		border-left: 1rem solid transparent;
		border-top: 1rem solid #5f983a;
	}

	.c-detail__inner-content-sec .head .monthly p {
		font-size: 1.8rem;
	}

	.c-detail__inner-content-sec .head .monthly p .large {
		font-size: 3.6rem;
	}

	.c-detail__inner-content-sec .content {
		display: block;
		padding: 2rem 1.5rem 2rem;
	}

	.c-detail__inner-content-sec .content .box {
		width: 100%;
		margin-bottom: 2rem;
	}

	.c-detail__inner-content-sec .content .box .ttl {
		font-size: 1.8rem;
	}

	.c-detail__inner-content-sec .content .box .txt01 {
		margin-top: 1rem;
		font-size: 1.4rem;
		text-align: left;
	}

	.c-detail__inner-content-sec .content .pic {
		width: auto;
	}

	.c-detail__inner-content-sec .content .c-payment-example {

	}

	.c-detail__inner-note {
		margin-top: 1.4rem;
	}

	.c-detail__inner-note p {
		font-size: 1.2rem;
		text-align: left;
	}

	.c-detail__inner .c-cv {
		margin-top: 3.5rem;
	}
}


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

 c-model

***********************************/
.c-model {
}

.c-model__inner {
	padding: 8rem 0 0;
}

.c-model__inner-ttl {
	text-align: center;
}

.c-model__inner-ttl span {
	display: inline-block;
	padding-bottom: 1.3rem;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	border-bottom: .5rem solid #fff;
}

.c-model__inner-txt01 {
	margin-top: 4.8rem;
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
}

.c-model__inner-list {
	display: flex;
	flex-wrap: wrap;
	gap: 7.2rem 2.4rem;
	margin-top: 7.2rem;
}

.c-model__inner-list-sec {
	width: calc(100%/4 - 1.8rem);
	flex: 0 1 calc(100%/4 - 1.8rem);
}

.c-model__inner-list-sec a {
	display: block;
	text-decoration: none;
}

.c-model__inner-list-sec .pic {

}

.c-model__inner-list-sec .name {
	margin-top: 1.7rem;
	color: #fff;
	font-size: 1.5rem;
	line-height: 2;
	text-align: center;
}

.c-model__inner-note {
	padding-top: 2rem;
	margin-top: 7rem;
	border-top: 1px solid #69BE28;
}

.c-model__inner-note p {
	color: #fff;
	font-size: 1.3rem;
	font-weight: 500;
}

.c-model__inner .c-cv {
	margin-top: 5.5rem;
}

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

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

	.c-model__inner {
		padding: 4rem 0 0;
	}

	.c-model__inner-ttl span {
		padding-bottom: .9rem;
		font-size: 1.8rem;
		border-bottom: .3rem solid #fff;
	}

	.c-model__inner-txt01 {
		margin-top: 2.8rem;
		font-size: 1.4rem;
	}

	.c-model__inner-list {
		gap: 3rem 2rem;
		margin-top: 3.6rem;
	}

	.c-model__inner-list-sec {
		width: calc(100%/2 - 1rem);
		flex: 0 1 calc(100%/2 - 1rem);
	}

	.c-model__inner-list-sec .name {
		margin-top: .8rem;
		font-size: 1.4rem;
	}

	.c-model__inner-note {
		padding-top: 1.5rem;
		margin-top: 3.5rem;
		border-top: .1rem solid #69BE28;
	}

	.c-model__inner-note p {
		font-size: 1.2rem;
	}

	.c-model__inner .c-cv {
		margin-top: 3.5rem;
	}
}


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

 xxx

***********************************/
.xxx {
}

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

}