@charset "utf-8";

/* 電話番号 GoogleFont */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@800&display=swap');



/* 電話リンク */
a.Tel {
	text-decoration: none;
}


/* ////////////////////////////////////////////////////////////

カラム設定

/////////////////////////////////////////////////////////////*/


#header,
#container,
#footer {
	letter-spacing: 0;
}



#container .MainColumn {
	width: 75%;
	float: left;
	font-size: 1.1em;
}

@media(max-width:800px){
	#container .MainColumn {
		width: 100%;
		float: inherit;
		padding: 0;
	}
}


body.SingleColumn #container .MainColumn {
  width: 100%;
  float: inherit;
}


/* ////////////////////////////////////////////////////////////

本文

/////////////////////////////////////////////////////////////*/

#container p {
	font-size: 1.25em;
	line-height: 1.8;
	margin: 1em 0;

	/* 両端揃え */
	text-align: justify;
	letter-spacing: 1px;
}

body:not(.index) #container p {
	font-size: 1.1em;
}
@media(max-width:800px){
	body:not(.index) #container p {
	}
}

@media(max-width:800px){
	#container p {
		font-size: 1.2em;
		line-height: 1.9;
	}
}

#container p.Center {
	text-align: center;
}


/* ////////////////////////////////////////////////////////////

見出し系

/////////////////////////////////////////////////////////////*/

#container h3 {
}

#container h3:not(:first-of-type) {
	margin-top: 1em;
}

/* ////////////////////////////////////////////////////////////

コンテンツ

/////////////////////////////////////////////////////////////*/

#container section.AreaBasic {
	background: rgba(255,255,255, 1);
	padding: 1.5em 0;
}

@media(max-width:800px){
	#container section.AreaBasic {
	}
}

#container section.content01 {
	background: linear-gradient(to top, rgba(255, 255, 255, 0), #ddebf6 100%), url(../img/01_bg.jpg);
	background-repeat: no-repeat;
  background-position: center top;
	background-color: #ddebf6;
	background-size: cover;
	padding-bottom: 50px;
	padding-top: 0px;
}

@media screen and (min-width: 501px) and (max-width: 800px){
	#container section.content01 {
		padding-top: 0;
	}
}

@media screen and (min-width: 361px) and (max-width: 500px){
	#container section.content01 {
		padding-top: 0;
	}
}

@media(max-width:360px) {
	#container section.content01 {
		padding-top: 0;
	}
}

#container section.content02 {
}

#container section.content03 {
	bottom:-155px;
	margin-top: -180px;
}

#container section.content04 {
	background: url(../img/04_bg.png);
	background-color:rgba(255,255,255,0.5);
	background-blend-mode:lighten;
	padding-bottom: 180px;
	bottom: -155px;
}

	#container section.content05 {
		background: url(../img/05_bg.png) no-repeat left top;
		background-size: cover;
		width: 100vw;
		top: -40px;
    z-index: 100;
		height: 400px;
	}

/* タブレット */
@media screen and (min-width: 501px) and (max-width: 800px){
	#container section.content05 {
		background: url(../img/05_bg_sp.png) no-repeat center center;
		z-index: 120;
		background-size: cover;
		top: 0px;
		height: 270px;
	}
}
/* スマホ */
@media(max-width:500px){
	#container section.content05 {
		background: url(../img/05_bg_sp.png) no-repeat center center;
		z-index: 120;
		background-size: cover;
		top: -30px;
		height: 150px;
	}
}


#container section.content06 {
	background: url(../img/06_bg.png) no-repeat left top;
	background-size: cover;
	width: 100vw;
	top: -40px;
	z-index: 110;
	padding-top: 7em;
	top: -115px;
	margin-bottom: -115px;
}

@media(max-width:800px) {
	#container section.content06 {
		padding-top: 9em;
		top: -100px;
}
}

#container section.content07 {
}

#container section.content08 {
	background: url(../img/form.jpg) no-repeat center center;
	    background-color: #ddebf6;
	    background-size: cover;
	    padding: 1.5em 0 0.5em;
	    height: 350px;
		}

@media(max-width:800px) {
	#container section.content08 {
    height: auto;
	}
}

#container section.content_admin {
	background: linear-gradient(to top, rgba(255, 255, 255, 0), #ddebf6 100%), url(../img/01_bg.jpg);
	background-repeat: no-repeat;
  background-position: center top;
	background-color: #ddebf6;
	background-size: cover;
}

@media(max-width:500px) {
#container section.content_admin {
}
}

#container section.Form {
	background: #F5FAFD;
	padding: 3em 0;
}

@media(max-width:800px){
	#container section.Form {
		padding: 1.5em 0;
	}
}


	#container section.Form h3 {
		margin: .5em 0 0;
	}

	#container section.Form form.form {
		background: rgba(255,255,255, 1);
		width: 90%;
		padding: 1.5em 3em;
	}

	@media(max-width:800px){
		#container section.Form form.form {
			width: 98%;
			padding: 1em 1.5em;
		}
	}

	#container section.Form table td.Contact {
		-webkit-flex-flow:row wrap;
    flex-flow:row wrap;
	}

		#container section.Form table td.Contact .small {
			font-size: 1em;
		}

	#container section.Form table td .small {
		font-size: .9em;
	}


	#container section.Form p.textlink {
	}

		#container section.Form p.textlink a {
			background: rgba(255,255,255, 1);
		}



/* ////////////////////////////////////////////////////////////

#header

/////////////////////////////////////////////////////////////*/

#header {
	position: relative;
}

@media(max-width:800px){
	#header {
		height: inherit;
		background: none;
	}
}

body:not(.index) #header {
	background-color: #ddebf6;
}

body:not(.index) #header .headerBg {
	height: 450px;
}

@media screen and (min-width: 801px) and (max-width: 1000px){
	body:not(.index) #header .headerBg {
		height: 400px;
		background-size: 100vw;
	}
}

@media screen and (min-width: 601px) and (max-width: 800px){
	body:not(.index) #header .headerBg {
		height: 350px;
		background-size: 100vw;
	}
}

@media screen and (min-width: 501px) and (max-width: 600px){
	body:not(.index) #header .headerBg {
		height: 280px;
		background-size: 100vw;
	}
}

@media(max-width:500px) {
body:not(.index) #header .headerBg {
	height: 200px;
	background-size: cover;
}
}


@media(max-width:800px){
	#header .headerBg .wrapper {
		width: 100%;
	}
}

#header .headerSP {
	display: none;
}

@media(max-width:800px){
	#header .headerSP {
		display: block;
	}
}

#header .headerBg img.Image {
	/* 透明 */
	-webkit-opacity:0;
	opacity:0;
	/* animation */
	-webkit-animation: fadeIn .3s ease-in-out 0s forwards;
	animation: fadeIn .3s ease-in-out 0s forwards;
}


#header .logo {
	position: absolute;
	display: inline-block;
	z-index: 1;
	top: -.5em;
	left: -.5em;
}

@media(max-width:800px){
	#header .logo {
		width: 50%;
		display: block;
		margin: 0 auto;
	}
}

	#header .logo a {
		position: relative;
	}

	@media(max-width:800px){
		#header .logo a {
		}

			#header .logo a img.Image {
			}
	}


	#header .logo a:hover {
	}


	#header .logo .Icon {
		position: absolute;;
		top: 0;
		left: 0;
		display: block;

		/* animation */
		-webkit-animation: heartbeat 1s ease-in-out infinite normal; /* alternate / normal */
		animation: heartbeat 1s ease-in-out infinite normal; /* alternate / normal */
	}

	@media(max-width:800px){
		#header .logo .Icon {
			top: 3px;
			left: .5em;
			width: 15%;
		}
	}

	#header .logo a:hover .Icon {
	}


@media(max-width:800px){
	#header h1 {
	}
}


#header .ContactButton {
	display: block;
	float: right;
}

@media(max-width:800px){
	#header .ContactButton {
		width: 40%;
		margin-top: .1em;
		padding-right: .2em;
	}

		#header .ContactButton img {
			width: 100%;
		}
}


#header .ContactButton:hover {
	/* animation */
	-webkit-animation: bounce .8s ease-in-out 0s forwards;
	animation: bounce .8s ease-in-out 0s forwards;
}

#header .TelBn {
	float: right;
	margin-top: 1.5em;
}

@media(max-width:800px){
	#header .TelBn {
		display: none;
	}
}


#header .topbar > .wrapper {
}

@media(max-width:800px){
	#header .topbar > .wrapper {
		width: 100%;
	}
}

body:not(.index) #header .topbar > .wrapper {
}


#header .TelBox {
	float: right;
	margin: 0 0 .5em;
}

@media(max-width:800px){
	#header .TelBox {
		width: 90%;
		margin: 0 auto;
		text-align: center;
		float: inherit;
	}
}

	#header .TelBox .Num {
		font-family: 'Montserrat', sans-serif;
		font-size: 2em;
		letter-spacing: 0px;
	}

	#header .TelBox span {
		line-height: 1.3;
		font-size: 12px;
		margin-top: -5px;
		display: block;
		width: 100%;
		text-align: center;
	}




#header .headerBg {
	position: relative;
	background: url(../img/header_bg.png) no-repeat center center;
	background-size: cover;
	padding: 60px 0 30px;
}

#header .headerBg::before {
	content: "";
	position: absolute;
	bottom: 0;
	right: calc(50% - 20px);
	max-width: 650px;
	width: 55%;
	height: auto;
	aspect-ratio: 1432 / 1251;
	background: url(../img/header_img_new.png) no-repeat;
	background-size: contain;
}


@media(max-width:500px){
	#header .headerBg {
		position: relative;
		background: url(../img/header_bg_sp.png) no-repeat center top #fff;
		background-size: contain;
		padding: 30px 0 20px;
	}

	#header .headerBg::before {
		bottom: 53vw;
		left: -10%;
		right: auto;
		width: 75%;
		height: auto;
		aspect-ratio: 1432 / 1251;
		background: url(../img/header_img_new.png) no-repeat;
		background-size: contain;
	}
}

.headerTtl {
	max-width: 700px;
	margin: 0 auto;
}

.headerWrapper {
	max-width: 60%;
	margin: 0 0 0 auto;
}

.headerlogo {
	max-width: 300px;
	margin: 0 auto;
}

.headerList {
	display: flex;
	justify-content: space-between;
	max-width: 90%;
	margin: 0 auto 30px;
}

.headerList li {
	width: 49%;
	position: relative;
	box-sizing: border-box;
	aspect-ratio: 603 / 423;
	text-align: center;
	padding-top: 10%;
}


.headerList li:nth-child(1) {
	background: url(../img/box_bg01.png) no-repeat;
	background-size: contain;
}

.headerList li:nth-child(2) {
	background: url(../img/box_bg02.png) no-repeat;
	background-size: contain;
}

.headerList li p {
	display: inline-block;
	color: #616161;
	font-size: 4.2em;
	margin: 0;
	background: linear-gradient(transparent 80%, #FFF07D 80%);
}

.headerList li p em {
	display: inline-block;
	color: #DF336D;
	font-size: 1.7em;
	font-weight: bold;
}

.headerList li:nth-child(2) p em {
	letter-spacing: -0.2em;
	margin-right: 0.2em;
}
.headerList li:nth-child(2) span {
	position: absolute;
	color: #616161;
	font-size: 1.8em;
	top: 34%;
	right: 15%;
}

@media(max-width:1200px){
	.headerList li {
		padding-top: 12%;
	}
	.headerList li p {
		padding: 0;
		font-size: 6vw;
	}

	.headerList li p em {
		font-size: 9vw;
	}
	.headerList li:nth-child(2) span {
		font-size: 2.4vw;
		top: 29%;
		right: 20%;
	}
}

@media(max-width:500px){
	.headerTtl {
		max-width: 95%;
		margin: 0 auto;
	}

	.headerWrapper {
		max-width: 95%;
		margin: 0 auto;
	}

	.headerlogo {
		max-width: 40%;
		margin: 5px 0 5px auto;
	}

	.headerList {
		display: block;
		max-width: 45%;
		margin: 0 0 20px auto;
	}

	.headerList li {
		width: 100%;
		position: relative;
		box-sizing: border-box;
		aspect-ratio: 603 / 423;
		text-align: center;
		padding-top: 22%;
	}

	.headerList li + li {
		margin-top: 10px;
	}


	.headerList li p {
		font-size: 10vw;
		padding: 0;
		background: linear-gradient(transparent 80%, #FFF07D 80%);
	}

	.headerList li p em {
		font-size: 16vw;
	}

	.headerList li:nth-child(2) p em {
		letter-spacing: -0.2em;
		margin-right: 0.2em;
	}
	.headerList li:nth-child(2) span {
		position: absolute;
		color: #616161;
		font-size: 4vw;
		top: 35%;
		right: 17%;
	}

	.headerCampaign {

	}
}


/* ////////////////////////////////////////////////////////////

フォームカスタマイズ

/////////////////////////////////////////////////////////////*/


#container form.form {
	font-size: .8em;
	width: 80%;
	margin: 0 auto;
	background: rgba(247,150,70, .02);
	padding: 1em 1em;
	/* 角丸 */
	-webkit-border-radius: 1em;
	border-radius: 1em;
}

@media(max-width:800px){
	#container form.form {
		width: 100%;
	}
}

#container form.form input,
#container form.form textarea,
#container form.form select {
	border-width: 1px;
}

/* セレクト要素を中央寄せ */
#container form.form .SelArea {
	display: block;
	text-align: left!important;
	position: relative;
	width: 30%;
	margin: 0 auto 0 0;
	background: rgba(255,255,255, 1);
	cursor: pointer;
	font-size: 1.5em;
	font-weight: bold;
	height: 3em;
	line-height: 3em;
	border:  1px solid #ccc;
}

#container form.form .SelArea div.form_error {
	}


@media(max-width:800px){
	#container form.form .SelArea {
		width: 60%;
	}
}

	#container form.form .SelArea .SelLabel {
		position: absolute;
	  width: 100%;
	  z-index: 1;
		color: #ccc;
		font-weight: normal;
		padding-left: 1em;
	}

	#container form.form .SelArea .SelLabel.Active {
		color: rgba(30,30,30, 1);
		font-weight: bold;
	}

	#container form.form .SelArea select {
		-webkit-appearance: none;
	     -moz-appearance: none;
	          appearance: none;
	  display: block;
	  cursor: pointer;
	  width: 100%;
	  border: none;
		font-size: .9em;
	  /* 透明 */
		-webkit-opacity:0;
		opacity:0;
	  position: relative;
	  z-index: 2;
	}

	#container form.form .SelArea select:focus {
		z-index: -1;
	  /* 透明 */
		-webkit-opacity:1;
		opacity:1;
	}

	#container form.form .SelArea select + i {
		left: inherit;
		right: 10px;
		bottom: 8px;
		position: absolute;
		font-size: 1.5em;
	}

	#container form.form table td {
		position: relative;
	}

	#container form.form textarea#homepage {
		height: 100px;
	}




/* ////////////////////////////////////////////////////////////

横並びブログカード

/////////////////////////////////////////////////////////////*/

#cardlayout-wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    margin: 0 auto 2em;
    max-width: 960px;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

/* カードレイアウト内の画像を幅いっぱいに表示 */
#cardlayout-wrap img {
    display: block;
    max-width: 100%;
    height: auto;
}

.card-figure {
    margin: 0;
    padding: 0;
}

/* カードレイアウトのタイトル部分 */
.card-title {
    margin: .7em 0 .2em;
    color: #fff;
    text-align: center;
    font-size: 1.8em;
		letter-spacing: 1px;
		font-weight: bold;
}

.card-catch {
	background: #fff;
  color: #9ccfee;
  position: absolute;
  top: 0.6em;
  left: 0.6em;
  padding: 0 1em;
  border-radius: 1em;
}

.card-text {
	background: #fff;
	background-size: cover;
	height: 205px;
}

/* カードレイアウトの説明文部分 */
p.card-text-tax {
    margin: .5em 0 0!important;
    padding: 1em;
		line-height: 1.3!important;
		font-size: .9em!important;
		letter-spacing: 0!important;
}


/* カードレイアウトを1カラムで配置 */
.card-list {
    margin: 0.5em auto;
    padding: 1em 1em .5em;
    width: 96%;
		/*background: rgba(156,207,238,1);*/
    background: #9ccfee;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

/* 画面幅320px-500px以上の場合カードレイアウトを1カラムで配置 */
@media screen and (min-width: 320px) and (max-width: 500px) {
    .card-list {
        margin: 0.5em auto;
        width: calc(92% / 1); /* 96%幅を1で割るという指定 */
				padding: 1em;
    }
}

/* 画面幅501px-800px以上の場合カードレイアウトを1カラムで配置 */
@media screen and (min-width: 501px) and (max-width: 800px) {
    .card-list {
        margin: 0.5em auto;
        width: calc(85% / 1); /* 85%幅を1で割るという指定 */
				padding: 1em;
    }
}

/* 画面幅801px以上の場合カードレイアウトを3カラムで配置 */
@media all and (min-width: 801px) {
    .card-list {
        width: calc(96% / 3); /* 96%幅を3で割るという指定 */
}

/* 最後の行が3列より少ない場合左寄せにレイアウトさせる */
    #cardlayout-wrap::after{
        content: "";
        display: block;
        width: calc(96% / 3);
    }
}

/*//////////レスポンシブ//////////*/

@media screen and (min-width: 801px) and (max-width: 1000px){
	.card-title {
	    font-size: 1.5em;
			margin: .9em 0 .2em;
	}
	.card-text {
		height: 250px;
	}
}

@media screen and (min-width: 501px) and (max-width: 800px) {
	.card-catch {
	font-size: 1.2em;
	}
	.card-title {
    font-size: 2em;
	}
	}

@media(max-width:800px) {
	#cardlayout-wrap {
			margin: 0 auto;
	}
		.card-catch {
			top: 0.8em;
		  left: 0.8em;
		}

	p.card-text-tax {
			font-size: 1.2em!important;
			line-height: 1.6!important;
			margin-top: 1em!important;
	}
	.card-text {
		height: auto;
	}
}



/* ////////////////////////////////////////////////////////////

文字装飾

/////////////////////////////////////////////////////////////*/


.orange {
	color:#F99F01;
}

.yellow_line {
	background:rgba(0, 0, 0, 0) linear-gradient(transparent 70%, #fff100 0%) repeat scroll 0 0;
}

.big {
	font-size: 1.3em!important;
}

.big2 {
	font-size: 1.45em!important;
}

@media(max-width:800px) {
	.big2 {
		font-size: 1.3em!important;
	}
}

.big3 {
	font-size: 1.2em!important;
}

.big4 {
	font-size: 1.6em!important;
}
@media(max-width:800px) {
	.big4 {
		font-size: 1.3em!important;
		display: block;
	  text-align: center;
		margin-bottom: -1em;
	}
}

 .small2 {
	 font-size: .75em;
 }


.bold {
	font-weight: bold;
}

.yellow_wave {
	position: relative;
	z-index: 1;
	font-size: 1.3em;
	}

	.yellow_wave::after {
		content: url(../img/yellow_wave.png);
	  padding-right: 5px;
		position: absolute;
		top: -45px;
		left: -12px;
		z-index: -1;
	}

	@media(max-width:800px) {
	.yellow_wave::after {
		content: url(../img/yellow_wave_sp.png);
		top: -40px;

	}
}


.underline {
	text-decoration: underline;
}

.flame {
	background-color: #fff;
	border: solid 1px #000;
	border-radius: 5px;
	padding: .2em .5em;
	margin: .2em;
	font-size: .95em;
	line-height: 2.5em;
}

.flame:nth-child(1) {
	margin-left: 1em;
}

@media(max-width:800px) {
	.flame {
		padding: 0em .5em;
		margin: .2em .4em .2em 0;
		font-size: .95em;
		line-height: 1.5em;

		display: inline-block;
	}

	.flame:nth-child(1) {
		margin-left: 0;
	}
}

.small {
	font-size: .8em;
}



/* ////////////////////////////////////////////////////////////

フォント指定

/////////////////////////////////////////////////////////////*/

.folk {
	font-family: 'MaruFoBoldSubset', sans-serif;
	font-size: 1.8em;
}

@media(max-width:800px) {
	.folk {
		font-family: 'MaruFoBoldSubset', sans-serif;
		font-size: 1.3em;
	}
}

.folk p {
	text-align: center!important;
	margin: 0 0 1.5em!important;
}

@media(max-width:800px) {
	.folk p {
		line-height: 1.5!important;
	}
}

.oswald {
font-family: 'Oswald', sans-serif;
letter-spacing: 5px;
padding-left: .2em;
font-weight: 400;
}


/* ////////////////////////////////////////////////////////////

ヘッダー下の詳細ボックス

/////////////////////////////////////////////////////////////*/



#header .detail {
	position: absolute;
	top: 34em;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
	background-color: #0000ff;
	color: rgba(255,255,255,1);
	z-index: 1;
	/*padding: .5em 1em;*/
	text-align: center;
	letter-spacing: 1px;
	width: 800px;
	/*height: 350px;*/
	border-radius: 2.5em 2.5em 0 0;

	/* ドロップシャドウ */
	/*-webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,.2);
	box-shadow: 0 0 10px 0 rgba(0,0,0,.2);*/

	/* フィルタードロップシャドウ */
	-webkit-filter:drop-shadow(0 0 10px rgba(0, 0, 0, .2));
  -moz-filter:drop-shadow(0 0 10px rgba(0, 0, 0, .2));
  -ms-filter:drop-shadow(0 0 10px rgba(0, 0, 0, .2));
  filter:drop-shadow(0 0 10px rgba(0, 0, 0, .2));
}

#header .detail .medal{
	position: absolute;
	top: -7em;
  left: 0;
	width: 200px;
	z-index: 2;
}

#header .detail .text {
	font-weight: bold;
	background-color: #fff;
	color: rgba(0,0,0,1);
	z-index: 1;
	margin: .5em;
}

#header .detail .text.firstline {
	font-size: 2em;
	padding: 0 .5em 0 1.1em;
	position: absolute;
	top: -1.5em;
	left: 5em;
	letter-spacing: 0px;
}

#header .detail .text.firstline span{
	color: #0000ff;
	font-size: 1.3em;
	margin-right: .15em;
}

#header .detail .text.secondline {
	font-size: 2.2em;
	padding: 0 .5em;
	position: absolute;
	top: .7em;
	right: .1em;
	letter-spacing: 0px;
}



#header .detail .Box_speed {
	display: flex;
	justify-content: space-between;
  align-items: center;

	background: #fff;

	width: 95%;
	height: 150px;
	margin: 7em auto 0;
	border:1px solid #f99f01;
}


#header .detail .Box_speed .immediately {
	background-color: #f99f01;

	font-weight: bold;
	text-align: center;
	font-style: italic;
	height: 100%;
	width: 45%;
}

#header .detail .Box_speed .immediately::after {
	position: absolute;
  display: inline-block;
  left: 362px;
	top:108px;
  content: '';

	border: 75px solid transparent;
  border-left: 20px solid #f99f01;
}

#header .detail .Box_speed .immediately p {
	font-size: 1.5em;
}
#header .detail .Box_speed .immediately span {
	font-size: 2.4em;
}


#header .detail .Box_speed .minutes {
	color: #f99f01;
	background-color: #fff;
	text-align: center;
	width: 23%;

	display: contents;
}

#header .detail .Box_speed .minutes .first {
	width: 30%;
	margin: 0 -1.5em 0 0;
}

#header .detail .Box_speed .line {
	width: 2px;
	background-color: #f99f01;
	height: 80%;
}

#header .detail .Box_speed .minutes .second {
	width: 25%;
	/*margin: 0 -.5em 0 0;*/
}

#header .detail .Box_speed .minutes p {
	font-size: 1.1em;
	color: #000;
	margin: 1em -.5em -1em 0;
	padding-right: 1em;
}


#header .detail .Box_speed .minutes .emphasis {
	font-weight: bold;
	font-size: 5.2em;
	color: #f99f01;
	letter-spacing: -10px;
	margin: 0 .2em 0 .1em;
}
#header .detail .Box_speed .minutes .little {
	font-weight: bold;
	font-size: 2em;
	color: #f99f01;
}

#header .detail .Box_speed .minutes .first .saitan,
#header .detail .Box_speed .minutes .second .saitan {
	font-weight: bold;
	width: 0;
	display: inline-block;
	color: #000;
	font-size: 1.8em;
	line-height: 30px;
}
#header .detail .Box_speed .minutes .first .saitan {
	margin-right: .8em;
}

#header .detail .Box_speed .minutes .second .saitan {
	margin-right: 1.1em;
}



#header .detail .Box_speed .minutes .saitan .three {
	margin-right: 1.2em;
}


#header .detail .card {
	margin-top: 1em;
	background-color: #fff;
}

#header .detail .card p{
	font-size: 1.3em;
	color:#000;
	text-align: center;
	padding: .4em 0 0 0;
	margin: .4em 0;
}

#header .detail .card img{
	width: 400px;
	margin-bottom: .7em;
	display: inline-block;
}


/*//////////レスポンシブ501-650//////////*/

@media screen and (min-width: 501px) and (max-width: 650px){
		#header .detail {
		width: 92%;
		top: 30em;
	}

#header .detail .text.firstline {
	font-size: 1.3em;
	padding: 0 .5em 0 1.1em;
	left: 8em;
	top: -1.8em;
	white-space: nowrap;
}

#header .detail .text.firstline span{
	font-size: 1.1em;
}

#header .detail .text.secondline {
	font-size: 1.3em;
	top: .2em;
	right: .1em;
	padding: 0 .5em;
	white-space: nowrap;
}

#header .detail .Box_speed {
	display: block;
	height: auto;
	margin: 4em auto 0;
}


#header .detail .Box_speed .immediately {
	height: 100%;
	width: 100%;
	padding: .3em 0;
}

#header .detail .Box_speed .immediately::after {
	display: none;

	}

#header .detail .Box_speed .immediately p {
	font-size: 1.2em;
	margin: 0;
}
#header .detail .Box_speed .immediately span {
	font-size: 1.8em;
}

#header .detail .Box_speed .minutes {
	display: inline-flex;
	justify-content: space-between;
  align-items: center;
	width: 100%;
	height: 135px;
}

#header .detail .Box_speed .minutes .first {
	margin: 0;
	width: 50%;
}


#header .detail .Box_speed .line {
	width: 2px;
	background-color: #f99f01;
	height: 80px;
}

#header .detail .Box_speed .minutes .second {
	width: 50%;
}


#header .detail .Box_speed .minutes p {
	font-size: 1em;
	color: #000;
	margin: 1em -.5em -.5em 0;
	padding-right: 1em;
	white-space: nowrap;
}


#header .detail .Box_speed .minutes .emphasis {
	font-weight: bold;
	font-size: 4.5em;
	color: #f99f01;
	letter-spacing: -10px;
	margin: 0 .2em 0 .1em;
}
#header .detail .Box_speed .minutes .little {
	font-weight: bold;
	font-size: 2em;
	color: #f99f01;
}

#header .detail .Box_speed .minutes .saitan.three {
	margin-right: 1.2em;
}


#header .detail .card {
	margin-top: 1em;
}

#header .detail .card p{
	font-size: 1em;
	padding: .4em 0 0 0;
}

#header .detail .card img{
	width: 300px;
	margin: 0 auto;
	padding-bottom: .7em;
}
}



/*//////////レスポンシブ651-800//////////*/

@media screen and (min-width: 651px) and (max-width: 800px){
		#header .detail {
		width: 92%;
		top: 30em;
	}

header .detail .medal{
	top: -4em;
  left: -.7em;
	width: 100px;
}

#header .detail .text.firstline {
	font-size: 1.7em;
	padding: 0 .5em 0 1.1em;
	left: 6em;
	top: -2em;
	white-space: nowrap;
}

#header .detail .text.firstline span{
	font-size: 1.1em;
}

#header .detail .text.secondline {
	font-size: 1.7em;
	top: 0;
	right: .1em;
	padding: 0 .5em;
	white-space: nowrap;
}

#header .detail .Box_speed {
	display: block;
	height: auto;
	margin: 4em auto 0;
}


#header .detail .Box_speed .immediately {
	height: 100%;
	width: 100%;
	padding: .3em 0;
}

#header .detail .Box_speed .immediately::after {
	display: none;

	}

#header .detail .Box_speed .immediately p {
	font-size: 1.2em;
	margin: 0;
}
#header .detail .Box_speed .immediately span {
	font-size: 1.8em;
}

#header .detail .Box_speed .minutes {
	display: inline-flex;
	justify-content: space-between;
  align-items: center;
	width: 100%;
	height: 135px;
}

#header .detail .Box_speed .minutes .first {
	margin: 0;
	width: 50%;
}


#header .detail .Box_speed .line {
	width: 2px;
	background-color: #f99f01;
	height: 80px;
}

#header .detail .Box_speed .minutes .second {
	width: 50%;
}


#header .detail .Box_speed .minutes p {
	font-size: 1em;
	color: #000;
	margin: 1em -.5em -.5em 0;
	padding-right: 1em;
	white-space: nowrap;
}


#header .detail .Box_speed .minutes .emphasis {
	font-weight: bold;
	font-size: 4.5em;
	color: #f99f01;
	letter-spacing: -10px;
	margin: 0 .2em 0 .1em;
}
#header .detail .Box_speed .minutes .little {
	font-weight: bold;
	font-size: 2em;
	color: #f99f01;
}

#header .detail .Box_speed .minutes .saitan.three {
	margin-right: 1.2em;
}


#header .detail .card {
	margin-top: 1em;
}

#header .detail .card p{
	font-size: 1em;
	padding: .4em 0 0 0;
}

#header .detail .card img{
	width: 300px;
	margin: 0 auto;
	padding-bottom: .7em;
}
}

/*//////////レスポンシブ500//////////*/

@media(max-width:500px) {
	#header .detail {
		width: 92%;
		top: 20em;
	}

#header .detail .medal{
	top: -4em;
  left: -.7em;
	width: 100px;
}

#header .detail .text {
}

#header .detail .text.firstline {
	font-size: 1.2em;
	padding: .2em .5em .2em 1.1em;
	left: 4.1em;
	top: -2em;
	white-space: nowrap;
}

#header .detail .text.firstline span{
	font-size: 1.1em;
}

#header .detail .text.secondline {
	font-size: 1.15em;
	top: .4em;
	right: .1em;
	padding: .2em .5em;
	white-space: nowrap;
}

#header .detail .Box_speed {
	display: block;
	height: auto;
	margin: 4em auto 0;
}


#header .detail .Box_speed .immediately {
	height: 100%;
	width: 100%;
	padding: .3em 0;
}

#header .detail .Box_speed .immediately::after {
	display: none;
	}

#header .detail .Box_speed .immediately p {
	font-size: 1.2em;
	margin: 0;
}
#header .detail .Box_speed .immediately span {
	font-size: 1.8em;
}

#header .detail .Box_speed .minutes {
	display: inline-flex;
	justify-content: space-between;
  align-items: center;
	width: 100%;
}

#header .detail .Box_speed .minutes .first {
	margin: 0;
	width: 50%;
}


#header .detail .Box_speed .line {
	width: 2px;
	background-color: #f99f01;
	height: 80px;
}

#header .detail .Box_speed .minutes .second {
	width: 50%;
}


#header .detail .Box_speed .minutes p {
	font-size: 1em;
	color: #000;
	margin: 1em -.5em -.5em 0;
	padding-right: 1em;
	white-space: nowrap;
}


#header .detail .Box_speed .minutes .emphasis {
	font-weight: bold;
	font-size: 4.5em;
	color: #f99f01;
	letter-spacing: -10px;
	margin: 0 .2em 0 .1em;
}
#header .detail .Box_speed .minutes .little {
	font-weight: bold;
	font-size: 2em;
	color: #f99f01;
}

#header .detail .Box_speed .minutes .saitan.three {
	margin-right: 1.2em;
}


#header .detail .card {
	margin-top: 1em;
}

#header .detail .card p{
	font-size: 1em;
	padding: .4em 0 0 0;
}

#header .detail .card img{
	width: 300px;
	margin: 0 auto;
	padding-bottom: .7em;
}

}

/*//////////レスポンシブ360//////////*/

@media(max-width:360px) {

#header .detail .text.firstline {
	font-size: .9em;
	padding: .2em .5em .2em 1.1em;
	left: 6.5em;
	top: -2em;
	white-space: nowrap;
}

#header .detail .text.firstline span{
	font-size: 1.1em;
}

#header .detail .text.secondline {
	font-size: .9em;
	top: .4em;
	right: .1em;
	padding: .2em .5em;
	white-space: nowrap;
}
}



/* ////////////////////////////////////////////////////////////

現金化比較テーブル

/////////////////////////////////////////////////////////////*/


table.plan{
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  width: 85%;
	margin: 0 auto;
}

table.plan tr:last-child{
  border-bottom:solid 2px #fff;
}

table.plan th{
  text-align: center;
  padding: 7px 0;
  border-right:solid 2px #fff;
  border-left:solid 2px #fff;
	border-bottom:solid 3px #fff;
  /*width: 155px;*/

	background-color:#9fa0a0;
	color: #fff;
	height: 110px;

	font-size: 1.3em!important;
}

table.plan th:nth-child(1){
	background-color:#9ccfee;
	color: #fff;
	width: 30%;
	font-size: 1.6em!important;
}

table.plan th:nth-child(3){
}

table.plan tr:nth-child(2) td {
}

table.plan tr:nth-child(2) {
	outline: 3px solid #f99f01;
	outline-offset: -3px;
	height: 90px;
}
table.plan tr:nth-child(3) {
	border-top: 4px solid #fff;
}
table.plan tr:nth-child(3),
table.plan tr:nth-child(4),
table.plan tr:nth-child(5),
table.plan tr:nth-child(6) {
	height: 75px;
}


table.plan tr:nth-child(2) td:nth-child(4) {
}

table.plan tr:nth-child(2) td:nth-child(1) {
	background: #f99f01;
	color: #fff;
}
table.plan tr:nth-child(2) td:nth-child(2) {
}
table.plan tr:nth-child(2) td:nth-child(3),
table.plan tr:nth-child(2) td:nth-child(4)  {
	line-height: 27px;
	padding-top: .9em;
}



table.plan tr:nth-child(2) td {
	background: #fffcd1;
	color: #ff0000;
	font-size: 1.4em!important;
}

table.plan td:nth-child(1){
	background-color:#9ccfee;
	color: #fff;
	font-weight: bold;
	font-size: 1.3em!important;
}

table.plan tr:nth-child(2){
	/*height: 60px;*/
}

table.plan td{
  text-align: center;
  padding: 7px 0;
  border-right:solid 2px #fff;
  border-left:solid 2px #fff;
	border-bottom:solid 2px #fff;
  width: 155px;

	background-color:#efefef;
	font-size: 1.4em;
}

table.plan td a{
  background-color: #25b327;
  color: white;
  padding:5px 20px;
  border-radius: 30px;
  font-weight: bold;
}



table.plan td .mark {
 font-size: 2em;

	/* Font-Family 明朝系 */
	font-family: "YakuHanJP","游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

table.plan th.leftline,
table.plan td.leftline {
	border-left: 6px solid #fff;
}
table.plan th.rightline,
table.plan td.rightline {
	border-right: 6px solid #fff;
}


/*//////////レスポンシブ//////////*/


@media(max-width:800px) {
	table.plan{
	  width: 100%;
		font-size: .7em;
	}

	table.plan th{
		height: 60px;
}

table.plan tr:nth-child(2) {
	height: auto;
}

table.plan tr:nth-child(3),
table.plan tr:nth-child(4),
table.plan tr:nth-child(5),
table.plan tr:nth-child(6) {
	height: auto;
}

table.plan tr:nth-child(2) td:nth-child(3),
table.plan tr:nth-child(2) td:nth-child(4)  {
	line-height: 15px;
	padding-top: 1em;
}

}

@media(max-width:500px) {
table.plan tr:nth-child(2) td {
	font-size: 1.3em!important;
}
}


/* ////////////////////////////////////////////////////////////

換金率比較テーブル

/////////////////////////////////////////////////////////////*/



table.rate{
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
	margin: 0 auto;
	position: relative;
	margin-top: 4em;
	font-size: 1.4em;
	z-index: 1;
}


table.rate::after {
	content: url(../img/table_logo.png);
	position: absolute;
	top: -34%;
	right: -2%;
}

table.rate tr:last-child{
  /*border-bottom:solid 2px #fff;*/
}

table.rate th{
  text-align: center;
  padding: 7px 0;
  border-right:solid 2px #fff;
  border-left:solid 2px #fff;
	border-bottom:solid 2px #fff;
	background-color:#9fa0a0;
	color: #fff;
	height: 70px;
	font-size: 1.4em;
	height: 100px;
}

table.rate th:nth-child(1){
	background-color:#9ccfee;
	color: #fff;
	font-size: 1.2em!important;
}

table.rate th:nth-child(4) {
	border-left: 3px solid #f99f01;
	border-right: 3px solid #f99f01;
	border-top: 15px solid #f99f01;
	background: #f99f01;
	color: #fff;
}

table.rate td:nth-child(4) {
	background: #fffcd1;
	border-left: 3px solid #f99f01;
	border-right: 3px solid #f99f01;
}

table.rate tr:nth-child(6) td:nth-child(1),
table.rate tr:nth-child(6) td:nth-child(2),
table.rate tr:nth-child(6) td:nth-child(3) {
	border-bottom: none!important;
}

table.rate tr:nth-child(6) td:nth-child(4) {
	border-bottom: 3px solid #f99f01;
	color: #ff0000;
	font-size: 1.6em;
}


table.rate td:nth-child(1){
  font-size: 1.3em;
	background-color:#9ccfee;
	color: #fff;
	font-weight: bold;
}

table.rate td{
  text-align: center;
  padding: 7px 0;
  border-right:solid 2px #fff;
  border-left:solid 2px #fff;
	border-bottom:solid 2px #fff;
  width: 155px;
	background-color:#efefef;
	font-size: 1.3em;
	height: 75px;
}

table.rate td a{
  background-color: #25b327;
  color: white;
  padding:5px 20px;
  border-radius: 30px;
  font-weight: bold;
}


/*//////////レスポンシブ//////////*/

@media(max-width:800px) {
table.rate{
	font-size: .8em;
	width: 95%;
	margin: 3em auto;
}

table.rate th{
	height:auto!important;
}

table.rate td {
	height:auto!important;
}

table.rate td:nth-child(1){
}

table.rate th:nth-child(1){
	width: 30%;
	font-size: 1.3em!important;
}
}

@media screen and (min-width: 901px) and (max-width: 1000px){
	table.rate::after {
		content: url(../img/table_logo.png);
		position: absolute;
		top: -34%;
		right: -3.5%;
	}
}

@media screen and (min-width: 801px) and (max-width: 900px){
	table.rate::after {
		content: url(../img/table_logo.png);
		position: absolute;
		top: -34%;
		right: -5%;
	}
}

@media screen and (min-width: 701px) and (max-width: 800px){
	table.rate::after {
		content: '';
		display: inline-block;
		width: 150px;
		height: 150px;
		background-image: url(../img/table_logo.png);
		background-size: contain;
		vertical-align: middle;
		top: -38%;
		left: 79.3%;
	}
}

@media screen and (min-width: 601px) and (max-width: 700px){
	table.rate::after {
		content: '';
		display: inline-block;
		width: 150px;
		height: 150px;
		background-image: url(../img/table_logo.png);
		background-size: contain;
		vertical-align: middle;
		top: -38%;
		left: 76.5%;
	}
}

@media screen and (min-width: 501px) and (max-width: 600px){
	table.rate::after {
		content: '';
		display: inline-block;
		width: 150px;
		height: 150px;
		background-image: url(../img/table_logo.png);
		background-size: contain;
		vertical-align: middle;
		top: -38%;
		left: 75.1%;
	}
}

@media screen and (min-width: 401px) and (max-width: 500px){
	table.rate::after {
		content: '';
		display: inline-block;
		width: 100px;
		height: 100px;
		background-image: url(../img/table_logo.png);
		background-size: contain;
		vertical-align: middle;
		top: -27%;
		left: 77%;
}
}

@media screen and (min-width: 361px) and (max-width: 400px){
	table.rate::after {
		content: '';
		display: inline-block;
		width: 90px;
		height: 90px;
		background-image: url(../img/table_logo.png);
		background-size: contain;
		vertical-align: middle;
		top: -23%;
		left: 76.8%;
}
}

@media(max-width:360px) {
	table.rate::after {
		content: '';
		display: inline-block;
		width: 90px;
		height: 90px;
		background-image: url(../img/table_logo.png);
		background-size: contain;
		vertical-align: middle;
		top: -23%;
		left: 76.4%;
}
}


/* ////////////////////////////////////////////////////////////

画像回り込み　テキスト改行なし

/////////////////////////////////////////////////////////////*/

#container .Box_appeal {
display: block;
width: 80%;
margin: 0 auto;
overflow: hidden;
}

#container .Box_appeal .space {
float: right;/*画像の位置を右下にしたい場合はright*/
height: 0/*画像上の余白の高さ*/
}


#container .Box_appeal img {
	float: right;/*画像の位置を右下にしたい場合はright*/
	clear: both;/*.spaceのfloat解除*/
	/*margin: 1.2em 1.2em 0 0;/*画像の周りの余白*/
	width: 250px;
}

#container .Box_appeal .Text p {
	/*font-size: 1em;*/
	line-height: 1.7;
}


/*//////////レスポンシブ//////////*/

@media screen and (min-width: 501px) and (max-width: 800px) {
#container .Box_appeal {
width: 100%;
}
}

@media(max-width:500px) {

	#container .Box_appeal {
	display: block;
	width: 100%;
	overflow: hidden;/*float解除*/
}

#container .Box_appeal .space {
  float: right;/*画像の位置を右下にしたい場合はright*/
  height: 7em/*画像上の余白の高さ*/
}

	#container .Box_appeal img {
		float: right;/*画像の位置を右下にしたい場合はright*/
	  clear: both;/*.spaceのfloat解除*/
	  /*margin: 1.2em 1.2em 0 0;/*画像の周りの余白*/
		width: 40%;
	}

	#container .Box_appeal .Text p {
		/*font-size: 1em;*/
		line-height: 1.7;
	}
}


/* ////////////////////////////////////////////////////////////

影付きボックス

/////////////////////////////////////////////////////////////*/

.shadow_box {
	/* ドロップシャドウ */
	-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, .3);
	box-shadow: 0px 0px 10px rgba(0, 0, 0, .3);

	/* フィルタードロップシャドウ */
	/*filter: drop-shadow(0 0 10px rgba(0,0,0,0.2));
	-webkit-filter: drop-shadow(0 0 10px rgba(0,0,0,0.2));*/

	padding: 8em 1em 3em;
	margin: 3em auto;
}

@media(max-width:800px) {
.shadow_box {
	/* ドロップシャドウ */
	-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, .3);
	box-shadow: 0px 0px 10px rgba(0, 0, 0, .3);
	padding: 2em .5em;
	margin: 1.5em auto;
	width: 95%;
}
}

.absolute {
	position: absolute;
	top: 40px;
	left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.absolute_a {
	position: absolute;
	top: 0;
	left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);

	width: 100px;
}

.absolute_b {
	position: absolute;
	top: 50px;
	left: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}


/* ////////////////////////////////////////////////////////////

お申し込みのステップ

/////////////////////////////////////////////////////////////*/

.step {
    position: relative;
    padding: .5em 1.5em .5em 0;
    border: solid 3px rgba(201, 202, 202, .9);
		width: 100%;
		margin: 7em auto 2em;
		-webkit-box-shadow: 4px 4px 0px rgba(201, 202, 202, .4);
		box-shadow: 4px 4px 0px rgba(201, 202, 202, .4);
		background: #fff;
}

@media(max-width:800px) {
	.step {
	    padding: 1em;
			width: 90%;
			margin: 5em auto 8em;
	}
}

.step .box-title {
    position: absolute;
    display: inline-block;
    top: -25px;
    left: -10px;
    height: auto;
    font-size: 1.3em;
    background: #0195ee;
    color: #ffffff;

		letter-spacing: 4px;
}

.step .box-title o {
	font-size: 2.2em;
	margin-left: .2em;
}


.step p {
    margin: 0;
    padding: 0;
}

.step .box-title span{
position: absolute;
padding-left: 1em;
padding-right: 1em;
top: -15px;
left: 0;
color: #fff;
background-color: #0195ee;
z-index: 1;
white-space: nowrap;
}

.step .box-title span::after {
position: absolute;
display: inline-block;
content: '';
border-width: 0 0 71px 40px;
border-style: solid;
border-color: transparent #0195ee;
margin-left: 1em;
}


@media screen and (min-width: 501px) and (max-width: 800px){
	.step .box-title span::after {
	border-width: 0 0 67px 40px;
	margin-left: 1em;
	}
}


@media screen and (min-width: 361px) and (max-width: 500px){
.step .box-title span::after {
border-width: 0 0 58px 40px;
}
}

@media(max-width:360px) {
.step .box-title span::after {
border-width: 0 0 54px 40px;
}
}

.step p.nobottom {
	margin-bottom: 0!important;
}


/* ////////////////////////////////////////////////////////////

お申込みステップのボックス

/////////////////////////////////////////////////////////////*/

#container .Box_Step {
	 display: flex;
	 justify-content: flex-start;
	 align-items: center;
	 width: 100%;
	 margin: 0 auto;
	 padding: 0 .5em;
}

#container .Box_Step img {
	margin: 2em 1.5em 0 1em;
	width: 180px!important;
}

#container .Box_Step img.right {
	float: right;
	margin-left: 1em;
	margin-right: 0;
}

@media(max-width:800px){
	#container .Box_Step {
	display: block;
	padding: 0;
}

	#container .Box_Step img,
	#container .Box_Step img.right {
		margin: 1.5em auto 0;
		float: inherit;
		width: 120px!important
	}
}

	#container .Box_Step .Text {
		font-size: .95em;
		margin-left: .5em;
	}

	#container .Box_Step .graybox {
		display: block;
    width: 100%;
    margin: 0.4em auto 0.8em;
    padding: 0.5em 2em;
    word-break: break-all;
    background: #f4f4f4;
}

#container .graybox p {
    margin: 0.7em 0;
    font-size: 1.2em;
    line-height: 20px;
    margin-left: 1em;
    text-indent: -1em;
}

p.stepsmall {
	line-height: 1.5!important;
	font-size: .95em!important;
	padding-left: 1em;
}


#container .graybox i {
    font-weight: 700;
    font-size: 1.3em;
}

/*//////////レスポンシブ//////////*/
	@media(max-width:800px) {
	#container .Box_Step .graybox {
		width: 100%!important;
		padding: .4em 1em;
	}

	#container .Box_Step .graybox p {
		line-height: 2;
		margin-left: 0;
    text-indent: 0;
	}

	p.stepsmall {
		line-height: 1.5!important;
		font-size: .9em!important;
		padding-left: 0;
	}
}


.step.step01 {
}

.step.step02,
.step.step03 {
	}

.step.step01:after,
.step.step02:after,
.step.step03:after {
  content: '';
  width: 0;
  height: 0;
  position: absolute;
	border: 120px solid transparent;
	border-top: 40px solid #bad4ee;
  top: 115%;
	left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  /*-webkit-animation: slideInTop_s 1s ease-in-out infinite alternate;
  animation: slideInTop_s 1s ease-in-out infinite alternate;*/
}

.step.step01:after {
	border-top: 40px solid #bad4ee;
}

.step.step02:after {
border-top: 40px solid #65a9dc;
}

.step.step03:after {
border-top: 40px solid #187fc3;
}

.step.step04 {
margin-bottom: 100px;
}


/*//////////レスポンシブ//////////*/


@media(max-width:800px) {

.step.step01:after,
.step.step02:after,
.step.step03:after {
border: 40px solid transparent;
}

.step.step01:after {
border-top: 20px solid #bad4ee;
top: 106%;
}

.step.step02:after {
border-top: 20px solid #65a9dc;
top: 104%;
}

.step.step03:after {
border-top: 20px solid #187fc3;
top: 108%;
}

.step.step04 {
margin-bottom: 40px;
}

}


/* ////////////////////////////////////////////////////////////

.faq

/////////////////////////////////////////////////////////////*/

	.faq {
	width: 90%;
	margin: 0 auto 6em;
	margin-top: 2em;

	border-top: 1px solid #000;
	}

	@media screen and (min-width: 481px) and (max-width: 800px){
	.faq {
	margin: 0 auto 20px;
	margin-top: none;
	width: 95%;
	}
	}

	@media (max-width: 480px) {
	.faq {
	margin: 20px auto 20px;
	width: 95%;
	}
	}

	.faq_item {
	width: 100%;
	border-bottom: 1px solid rgba(0,0,0, 1);
	overflow: hidden;
	font-size: 1em!important;
	line-height: 1!important;
	font-weight: bold!important;
	padding: .3em 0;
	}

	.faq_q {
	background-color:none;
	font-weight: bold;
	font-size: .9em;
	padding: 25px 55px 25px 70px!important;
	text-align: justify;
	color: #0195ee;
	position: relative;
	cursor: pointer;
	line-height: 1.2;
	}
	.faq_q span{
	font-weight: bold;
	font-size: 1.2em;
	}

	@media(max-width:800px) {
		.faq_q span{
		font-weight: normal;
		}
}

	@media (max-width: 800px) {
	.faq_q {
	font-size: 1em!important;
	padding: 15px 50px 15px 65px!important;
	line-height: 1.5;
	}
	}

	@media (max-width: 480px) {
	.faq_q {
	padding: 18px 35px 18px 60px;
	}
	}

	.faq_q:after {
	content: url(../img/plus.png);
	position: absolute;
	right: 20px;
	top: 55%;
	transform: translateY(-50%);
	transition: 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
	}


	@media (max-width: 800px) {
	.faq_q:after {

			content: '';
			display: inline-block;
			width: 20px;
			height: 20px;
			background-image: url(../img/plus.png);
			background-size: contain;
			vertical-align: middle;
			top: 50%;
			right: 2%;

	font-size: 1.1rem;
	right: 12px;
	}
	}

	.faq_q.is-active:after {
	transform: translateY(-50%) rotate(180deg);
	content: url(../img/minus.png);
	position: absolute;
	right: 20px;
	top: 50%;
	}


	@media(max-width:800px) {
	.faq_q.is-active:after {
		content: '';
		display: inline-block;
		width: 20px;
		height: 20px;
		background-image: url(../img/minus.png);
		background-size: contain;
		vertical-align: middle;
		top: 50%;
		right: 2%;

font-size: 1.1rem;
right: 12px;
	}
}

	.faq_q .q {
	/* Qのスタイル */
	font-size: 1.2em;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	border-radius: 50%;
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #99d5f8;
	color: #fff;
	font-weight: normal!important;
	font-family: "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", sans-serif;
	}

	@media (max-width: 800px) {
	.faq_q .q {
	width: 38px;
	height: 38px;
	font-size: 1.1em;
	}
	}

	.faq_q .p {
		padding-left: .5em;
	}

	@media(max-width:800px) {
		.faq_q .p {
			padding-left: 0;
			font-size: 1.1em;
		}
}

	.faq_a {
	display: none;
	transition: unset;
	position: relative;
	padding: .3em .5em!important;

	background-image : linear-gradient(to right, #000, #000 5px, transparent 5px, transparent 8px);  /* 幅2の線を作る */
  background-size: 11px 1px;          /* グラデーションの幅・高さを指定 */
  background-position: left top;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
	}

	@media (max-width: 800px) {
	.faq_a {
	}
	}

	.faq_a p {
	font-size: 1em !important;
	font-weight: normal;
	padding: 0 1em 0 4.1em!important;
	margin: 3px;
	line-height: 1.5;
	}

	@media (max-width: 800px) {
	.faq_a p {
	font-size: 1.1em !important;
	padding:0!important;
	padding-left: 59px!important;
	}
	}

	.faq_a .a {
	/* Aのスタイル */
	font-size: 1.2em;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	border-radius: 50%;
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fedc4b;
	color: #fff;
	font-weight: normal!important;
	font-family: "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", sans-serif;
	}

	@media (max-width: 800px) {
	.faq_a .a {
	width: 38px;
	height: 38px;
	font-size: 1.1em;
	}
	}



/* ////////////////////////////////////////////////////////////
スマホ下部にフロートボタン
/////////////////////////////////////////////////////////////*/

	#FloatReg {
	width: 100%;
	display: block;
	z-index: 99999;
	position:fixed;
	bottom: -1000px;
	left: 0;

	/* transition */
	-webkit-transition: all .4s ease-in-out 0s;
	transition: all .4s ease-in-out 0s;

	background-color: rgba(0,0,0,.15)
	}


	#FloatReg.spOnly {
	display:none;
	}

	@media(max-width:767px){
	#FloatReg.spOnly {
	display: block;
	}
	}

	#FloatReg.fixed {
	bottom: 0;
	}

	#FloatReg.out {
	bottom: -1000px;
	}

	#FloatReg .clearfix {
	/*padding: 0 .5em;*/
	}

	#FloatReg .clearfix a {
	}




/* ////////////////////////////////////////////////////////////

画像class追加

/////////////////////////////////////////////////////////////*/


.flow {
	margin: 2em 0 2.5em;
}
@media(max-width:1000px) {
	.flow {
		padding: 0 .5em;
	}
}

	.icon {
    max-width: 200px;
  }

	@media(max-width:800px) {
		.icon {
	    max-width: 100px;
	  }
}

.backBox {
	position: relative;
	height: 290px;
}

@media screen and (min-width: 501px) and (max-width: 800px){
	.backBox {
		height: 110px;
	}
}

@media(max-width:500px) {
	.backBox {
		height: 110px;
	}
}

 .back {
   z-index: 0;
	 position: absolute;
	 top:-50px;
	 left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
 }

 /* タブレット */
 @media screen and (min-width: 501px) and (max-width: 800px){
	 .back {
		 top:-80px;
	 }
}
/* スマホ */
 @media(max-width:500px) {
	 .back {
		 top:-40px;
	 }
}


 .stepicon {
 	width: 100vw;
 }


 /* ////////////////////////////////////////////////////////////

 フォーム追加装飾

 /////////////////////////////////////////////////////////////*/

 .form table td .addauto {
 	background-color: #9f9f9f;
 	color: #fff;
 	padding: .5em 1em;
 	font-size: 1.5em;
 	margin-left: 1.5em;
 	border-radius: .5em;
 	letter-spacing: 1px;

 	/* フィルタードロップシャドウ */
 	filter: drop-shadow(0 0 5px rgba(0,0,0,0.2));
 	-webkit-filter: drop-shadow(0 0 5px rgba(0,0,0,0.2));

 }

 .form table td .addsymbol {
 	font-weight: bold;
 	font-size: 1.7em;
 	padding: 0 .2em;
 }

 .form table td .S_1 {
 	font-weight: normal;
 	margin-bottom: -5px;
 	margin-top: -15px;
 }

 .form table td .S {
 	font-weight: normal;
 	margin-bottom: -5px;
 }




 /* ////////////////////////////////////////////////////////////

 子ページ装飾

 /////////////////////////////////////////////////////////////*/

.whiteback {
	padding: 1em 1.5em;
	margin: 1.5em 0;
	background-color: rgba(255,255,255,.7)
}

@media(max-width:800px) {
	.whiteback {
 max-width: 95%;
 padding: .5em 1em;
 margin: 1.5em auto;
}
}

table.admin{
  width: 75%;
  border-collapse: collapse;
	margin: 1.5em auto;

	/* フィルタードロップシャドウ */
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.1));
	-webkit-filter: drop-shadow(0 0 5px rgba(0,0,0,0.1));

}

@media(max-width:800px) {
	table.admin{
	  width: 100%;
	}
}

table.admin tr{
  /*border-bottom: solid 2px white;*/
	border-bottom: solid 2px #dcdcdc;

}

table.admin tr:last-child{
  border-bottom: none;
}

table.admin th{
  position: relative;
  text-align: left;
  width: 30%;
  background-color: #f99f01;
  color: white;
  text-align: center;
  padding: 1em 0;
}

table.admin th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #f99f01;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

table.admin td{
  text-align: left;
  width: 70%;
	background-color: #fff;
  padding-left: 1.5em;
}

@media(max-width:800px) {
	table.admin td{
	  text-align: left;
	  width: 70%;
	  padding: 0 1.2em;
	}
}



/* ////////////////////////////////////////////////////////////

QRボックス

/////////////////////////////////////////////////////////////*/

@media(min-width:1001px) {

#header .qr_wrapper {
	/*display: flex;
  justify-content: center;
  align-items: center;*/

	display: block;
	position: absolute;
	top: 500px;
	right: -85px;
	height: 170px;
	width: 170px;
	background: #fff;
	z-index: 2;
	border: 5px solid #0000ff;
	line-height: 0;
	text-align: center;

	/* フィルタードロップシャドウ */
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.2));
	-webkit-filter: drop-shadow(0 0 10px rgba(0,0,0,0.2));
	border-radius: 1em;
}


#header .qr_wrapper #qrcode{
	margin-top: 15px;
}

#header .qr_wrapper::after {
	content: "スマホサイト";
	font-size: 1.1em;
	font-weight: bold;
	color: #fff!important;
	background: #0000ff;
	padding: 1em;

	position: absolute;
	top:100%;
	left: 8%;
	}

}

@media(max-width:1000px) {
	#header .qr_wrapper,
	#header .qr_wrapper #qrcode {
		display: none;
}
}

/* ////////////////////////////////////////////////////////////

改行設定

/////////////////////////////////////////////////////////////*/

	.br-sp{
	display: none;
	}
	@media(max-width:800px) {
	.br-sp{
	display: inline-block;
	}
	}
	.br-pc{
	display: inline-block;
	}
	@media(max-width:800px) {
	.br-pc{
	display: none;
	}
	}


/* ////////////////////////////////////////////////////////////

ヘッダー申し込みボックス(2022.5 新規作成)

/////////////////////////////////////////////////////////////*/

.applicationWrap {
	padding: 30px 0;
}

.applicationBox {
background-color: #fff;
color: #fff;
z-index: 1;
padding: 20px;
text-align: center;
letter-spacing: 1px;
max-width: 400px;
border-radius: 15px;
margin: 0 auto ;
box-shadow: 0px 4px 4px rgba(0,0,0,0.2);
}

.applicationBox .head {
font-size: 1.9em;
font-weight: 700;
color: #fff;
background: url(../img/application_ttl_bg.png) no-repeat;
background-size: contain;
aspect-ratio: 640 / 80;
margin-bottom: 15px;

}

.applicationBox .wrap {
	width: 90%;
	margin: 0 auto;
}

.applicationBox .wrap .btn_tel {
color: #000;
background: #fff;
text-align: center;
margin-bottom: 10px;
border-radius: 999em;
height: 72px;
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
padding-top: 6px;
background: #F99F02;
border: 4px solid #fff;
box-shadow: 2px 4px 4px rgba(0,0,0,0.2);
}


.applicationBox .wrap .btn_tel .num {
font-size: 1.6em;
font-weight: bold;
color: #fff;
margin: -.2em 0;
}

.applicationBox .wrap .btn_tel .num:before {
content: "";
display: inline-block;
width: 30px;
height: 20px;
background: url(../img/telicon.png) no-repeat;
background-size: contain;
margin-right: 5px;
}

.applicationBox .wrap .btn_tel .time {
color: #fff;
letter-spacing: 0;
font-size: .9em;
}

.applicationBox .wrap .btn_web {
color: #fff;
background-color: #00f;
text-align: center;
margin: .5em 0;
border-radius: 999em;
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
height: 72px;
position: relative;
-webkit-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
padding-top: 2px;
border: 4px solid #fff;
box-shadow: 2px 4px 4px rgba(0,0,0,0.2);
}

.applicationBox .wrap .btn_web:hover {
-webkit-animation: popup .4s ease-in-out 0s forwards;
animation: popup .4s ease-in-out 0s forwards;
}

.applicationBox .wrap .btn_web:before {
content: "";
position: absolute;
top: 46%;
right: 12px;
width: 10px;
height: 2px;
background: #fff;
transform: rotate(45deg);
}

.applicationBox .wrap .btn_web:after {
content: "";
position: absolute;
top: 54%;
right: 12px;
width: 10px;
height: 2px;
background: #fff;
transform: rotate(-45deg);
}


.applicationBox .wrap .btn_web .entry {
font-size: 1.6em;
font-weight: bold;
}

.applicationBox .wrap .btn_line {
color: #fff;
background-color: #0EC756;
text-align: center;
margin: .5em 0;
border-radius: 999em;
width: 100%;
display: inline-flex;
align-items: center;
justify-content: flex-end;
height: 73px;
-webkit-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
padding-top: 2px;
border: 4px solid #fff;
box-shadow: 2px 4px 4px rgba(0,0,0,0.2);
}

.applicationBox .wrap .btn_line:hover {
-webkit-animation: popup .4s ease-in-out 0s forwards;
animation: popup .4s ease-in-out 0s forwards;
}

.applicationBox .wrap .btn_line img {
width: 35px;
margin-left: 0.5em;
margin-right: 1.5em;
}

.applicationBox .wrap .btn_line .catch {
font-weight: bold;
}

.applicationBox .wrap .btn_line .add {
font-size: 1.6em;
font-weight: bold;
}



/*//////////レスポンシブ500//////////*/
@media(max-width:500px) {

.applicationWrap {
	padding: 20px 0;
}

.applicationBox {
padding: 20px;
width: 95%;
}

.applicationBox .head {
font-size: 1.9em;
font-weight: 700;
color: #fff;
background: url(../img/application_ttl_bg.png) no-repeat;
background-size: contain;
aspect-ratio: 640 / 80;
margin-bottom: 15px;

}

.applicationBox .wrap {
	width: 95%;
	margin: 0 auto;
}

.applicationBox .wrap .btn_tel {
color: #000;
background: #fff;
text-align: center;
margin-bottom: 10px;
border-radius: 999em;
height: 72px;
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
padding-top: 6px;
background: #F99F02;
border: 4px solid #fff;
box-shadow: 2px 4px 4px rgba(0,0,0,0.2);
}


.applicationBox .wrap .btn_tel .num {
font-size: 1.6em;
font-weight: bold;
color: #fff;
margin: -.2em 0;
}

.applicationBox .wrap .btn_tel .num:before {
content: "";
display: inline-block;
width: 30px;
height: 20px;
background: url(../img/telicon.png) no-repeat;
background-size: contain;
margin-right: 5px;
}

.applicationBox .wrap .btn_tel .time {
color: #fff;
letter-spacing: 0;
font-size: .9em;
}

.applicationBox .wrap .btn_web {
color: #fff;
background-color: #00f;
text-align: center;
margin: .5em 0;
border-radius: 999em;
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
height: 72px;
position: relative;
-webkit-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
padding-top: 2px;
border: 4px solid #fff;
box-shadow: 2px 4px 4px rgba(0,0,0,0.2);
}

.applicationBox .wrap .btn_web:hover {
-webkit-animation: popup .4s ease-in-out 0s forwards;
animation: popup .4s ease-in-out 0s forwards;
}

.applicationBox .wrap .btn_web:before {
content: "";
position: absolute;
top: 46%;
right: 12px;
width: 10px;
height: 2px;
background: #fff;
transform: rotate(45deg);
}

.applicationBox .wrap .btn_web:after {
content: "";
position: absolute;
top: 54%;
right: 12px;
width: 10px;
height: 2px;
background: #fff;
transform: rotate(-45deg);
}


.applicationBox .wrap .btn_web .entry {
font-size: 1.6em;
font-weight: bold;
}

.applicationBox .wrap .btn_line {
color: #fff;
background-color: #0EC756;
text-align: center;
margin: .5em 0;
border-radius: 999em;
width: 100%;
display: inline-flex;
align-items: center;
justify-content: flex-end;
height: 73px;
-webkit-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
padding-top: 2px;
border: 4px solid #fff;
box-shadow: 2px 4px 4px rgba(0,0,0,0.2);
}

.applicationBox .wrap .btn_line:hover {
-webkit-animation: popup .4s ease-in-out 0s forwards;
animation: popup .4s ease-in-out 0s forwards;
}

.applicationBox .wrap .btn_line img {
width: 35px;
margin-left: 0.5em;
margin-right: 1.5em;
}

.applicationBox .wrap .btn_line .catch {
font-weight: bold;
}

.applicationBox .wrap .btn_line .add {
font-size: 1.6em;
font-weight: bold;
}
}

/* ////////////////////////////////////////////////////////////

フロートフッター（2022.5 新規作成）

/////////////////////////////////////////////////////////////*/

#FloatReg .wrap {
width: 1000px;
display: flex;
justify-content: space-evenly;
align-items: center;
margin: 0 auto;
}

#FloatReg .wrap .btn_tel,
#FloatReg .wrap .btn_web,
#FloatReg .wrap .btn_line {
width: 30%;
margin: 1em 0;
height: 80px;
text-align: center;
height: 73px;
border-radius: 0.5em;
padding-top: 2px;
}

#FloatReg .wrap .btn_tel {
background: #fff;
display: inline-flex;
align-items: center;
justify-content: center;
}

#FloatReg .wrap .btn_tel .catch {
font-size: .9em;
font-weight: bold;
}

#FloatReg .wrap .btn_tel .num {
color: #f99f01;
font-weight: bold;
font-size: 1.6em;
margin: -0.2em 0;
}

#FloatReg .wrap .btn_tel .num:before {
content: "";
display: inline-block;
width: 20px;
height: 20px;
background: url(../img/telicon.png) no-repeat;
background-size: contain;
margin-right: 5px;
vertical-align: middle;
margin-top: -3px;
}

#FloatReg .wrap .btn_tel .time {
font-size: .9em;
color: #f99f01;
}

#FloatReg .wrap .btn_web {
background: #00f;
color: #fff;
display: inline-flex;
align-items: center;
justify-content: flex-end;
}

#FloatReg .wrap .btn_web:hover {
-webkit-animation: popup .4s ease-in-out 0s forwards;
animation: popup .4s ease-in-out 0s forwards;
}

#FloatReg .wrap .btn_web .catch {
}

#FloatReg .wrap .btn_web .entry {
font-size: 1.6em;
font-weight: bold;
}

#FloatReg .wrap .btn_web:after {
content: '\f054';
font-family: "Font Awesome 5 Free";
font-weight: 600;
font-size: 1.2em;
color: #fff;
margin: 0 0.7em 0 1.2em;
}

#FloatReg .wrap .btn_line {
background: #fff;
border:solid 2px #06c755;
color: #06c755;
display: inline-flex;
align-items: center;
justify-content: flex-end;
}

#FloatReg .wrap .btn_line:hover {
-webkit-animation: popup .4s ease-in-out 0s forwards;
animation: popup .4s ease-in-out 0s forwards;
}

#FloatReg .wrap .btn_line .catch {
font-weight: bold;
letter-spacing: 1.5px;
}

#FloatReg .wrap .btn_line .add {
font-weight: bold;
font-size: 1.6em;
}

#FloatReg .wrap .btn_line img {
width: 50px;
margin-left: 1em;
margin-right: .7em;
}


/*//////////レスポンシブ501-1000//////////*/

@media screen and (min-width: 501px) and (max-width: 1000px){
#FloatReg .wrap {
width: 100%;
}

#FloatReg .wrap .btn_tel,
#FloatReg .wrap .btn_web,
#FloatReg .wrap .btn_line {
height: 9vw;
}

#FloatReg .wrap .btn_tel .catch {
font-size: 1.6vw;
}

#FloatReg .wrap .btn_tel .num {
font-size: 2.5vw;
margin: 0 0 -0.1em 0;
}

#FloatReg .wrap .btn_tel .num:before {
width: 20px;
height: 20px;
}

#FloatReg .wrap .btn_tel .time {
font-size: 1.6vw;
}

#FloatReg .wrap .btn_web .catch {
font-size: 1.6vw;
}

#FloatReg .wrap .btn_web .entry {
font-size: 2.7vw;
}

#FloatReg .wrap .btn_web:after {
font-size: 1.6vw;
margin: 0 1vw 0 2vw;
}

#FloatReg .wrap .btn_line .catch {
font-weight: bold;
letter-spacing: 1px;
font-size: 1.6vw;
}

#FloatReg .wrap .btn_line .add {
font-weight: bold;
font-size: 2.7vw;
}

#FloatReg .wrap .btn_line img {
width: 4vw;
margin-left: 1vw;
margin-right: 1vw;
}
}


/*//////////レスポンシブ500//////////*/

@media(max-width:500px) {
#FloatReg .wrap {
width: 100%;
margin:0;
}

#FloatReg .wrap .btn_tel,
#FloatReg .wrap .btn_web,
#FloatReg .wrap .btn_line {
height: 11vw;
width: 32%;
margin: .5em 0;
-webkit-box-shadow: 1px 2px 5px rgba(0, 0, 0, .5);
box-shadow: 1px 2px 5px rgba(0, 0, 0, .5);
}

#FloatReg .wrap .btn_tel .catch {
font-size: 1.5vw;
display: none;
}

#FloatReg .wrap .btn_tel .num {
font-size: 3.3vw;
margin: 0 0 -0.1em 0;
letter-spacing: 0;
}

#FloatReg .wrap .btn_tel .num:before {
width: 15px;
height: 15px;
margin-right: 2px;
}

#FloatReg .wrap .btn_tel .time {
font-size: 2.2vw;
font-weight: bold;
}

#FloatReg .wrap .btn_web {
justify-content: flex-end;
}

#FloatReg .wrap .btn_web .catch {
font-size: 2.2vw;
font-weight: bold;
}

#FloatReg .wrap .btn_web .entry {
font-size: 3.1vw;
}

#FloatReg .wrap .btn_web:after {
font-size: 2.5vw;
margin: 0 1vw 0 1vw;
}

#FloatReg .wrap .btn_line {
background: #06c755;
color: #fff;
justify-content: flex-end;
}

#FloatReg .wrap .btn_line .catch {
display: none;
}

#FloatReg .wrap .btn_line .add {
font-weight: bold;
font-size: 1.2em;
font-size: 4vw;
}

#FloatReg .wrap .btn_line .add span {
display: none;
}

#FloatReg .wrap .btn_line img {
width: 9.5vw;
margin-left: 0;
margin-right: 0;
}
}

/**/



/* ////////////////////////////////////////////////////////////

キャンペーン追加

/////////////////////////////////////////////////////////////*/
.campaign {
 margin-bottom: 5%;
 text-align: center;
}

.campaign img {
 width: 95%;
 margin: auto;
}

@media screen and (min-width: 768px) {
.campaign img {
   width: 750px;
}
}
