@charset "utf-8";
/*-------------------------------------------------------------------

	Init

-------------------------------------------------------------------*/
html {
	font-size: 62.5%;
}
body {
	color: #333;
	font-size: 14px;
	line-height: 1.7;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight: normal;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd, figure {
	margin: 0;
	padding: 0
}
ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.3;
	font-size: 1em;
}
address {
	font-style: inherit
}
a {
	color: #01a5e4;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
p {
	margin-bottom: 1em;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
hr {
	border: none;
	height: 1px;
	background: #1c1c1c;
	margin-bottom: 1em;
}

/*-------------------------------------------------------------------
	PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
body {
	font-size: 20px;
	min-width: 1200px;
}
}
/*-------------------------------------------------------------------

	Utility

-------------------------------------------------------------------*/
.u-sp-item {
	display: block !important;
}
.u-sp-item-inline {
	display: inline !important;
}
.u-pc-item, .u-pc-item-inline {
	display: none !important;
}
.u-marker {
	background: #FFFF73;
	font-style: normal;
}
.u-clr {
	clear: both;
}
.u-mb-0em {
	margin-bottom: 0;
}
.u-mb-05em {
	margin-bottom: .5em;
}
.u-mb-1em {
	margin-bottom: 1em;
}
.u-mb-1-5em {
	margin-bottom: 1.5em;
}
.u-mb-2em {
	margin-bottom: 2em;
}
.u-mb-3em {
	margin-bottom: 3em;
}
.u-text-center {
	text-align: center;
}
.u-text-left {
	text-align: left;
}
.u-text-right {
	text-align: right;
}
.u-text-bold {
	font-weight: bold;
}
.u-text-red {
	color: #e4080d;
}
.u-text-blue {
	color: #254a78;
}
.u-text-small {
	font-size: .93em;
}
.u-text-x-small {
	font-size: .86em;
}
.u-text-xx-small {
	font-size: .79em;
}
.u-text-large {
	font-size: 1.07em;
}
.u-text-x-large {
	font-size: 1.14em;
}
.u-text-xx-large {
	font-size: 1.29em;
}
.u-text-serif {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.u-replace {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.u-item-left {
	float: left;
}
.u-item-right {
	float: right;
}
.u-item-left.is-margin {
	margin: 0 1.5em 1em 0;
}
.u-item-right.is-margin {
	margin: 0 0 1em 1.5em;
}
.u-item-auto {
	margin-left: auto;
	margin-right: auto;
}
.u-figcaption-basic {
	text-align: center;
	padding-top: .5em;
}
.u-ul-basic, .u-ol-basic {
	padding-left: 1.5em;
	line-height: 1.3;
}
.u-ul-basic li {
	list-style-type: disc;
	padding: 0 0 .5em 0;
}
.u-ol-basic li {
	list-style-type: decimal;
	padding: 0 0 .5em 0;
}
.u-ul-basic > :last-child, .u-ol-basic > :last-child {
	padding: 0;
}
.u-check-list li {
	margin: 0 0 .7em 0;
	padding: 0 0 0 2em;
	line-height: 1.3;
}
.u-check-list li:last-child {
	margin: 0;
}
.u-check-list li::before {
	content: "\f00c";
	display: inline-block;
	margin-left: -2em;
	width: 2em;
	color: #f23a6c;
	font-family: fontAwesome;
	text-align: center;
}
.u-dl-basic dt {
	padding-left: .8em;
	margin-bottom: .5em;
	line-height: 1.3;
	font-weight: 600;
	color: #254a78;
	border-left: 4px solid #254a78;
	border-radius: 2px 0 0 2px;
}
.u-dl-basic dd {
	font-size: .88em;
	margin-bottom: 1.5em;
}
.u-dl-basic dl > dd > :last-child {
	margin-bottom: 0;
}
.u-dl-basic dl > dd:last-child {
	margin-bottom: 0;
}
/*table*/
.u-table-basic {
	width: 100%;
	border: 1px solid #DDD;
	background: #FFF;
}
.u-table-basic th, .u-table-basic td {
	border: 1px solid #DDD;
	padding: 1em .5em;
}
.u-table-basic th {
	border: 1px solid #DDD;
	padding: 1em .5em;
	font-weight: 600;
	text-align: center;
	vertical-align: middle;
	background: #f7f7f7;
	line-height: 1.3;
}
.u-table-basic td {
	text-align: left;
	vertical-align: top;
	line-height: 1.4;
	font-weight: 500;
}
.u-table-basic td.yen {
	text-align: right;
}
.u-table-basic td.unit {
	text-align: center;
}
.u-table-basic .emp {
	background-color: #ffeeee;
}
.u-table-basic.price td {
	vertical-align: middle;
}
/*button*/
.u-button-detail {
	font-size: 12px;
	line-height: 1.2;
	font-weight: 600;
}
.u-button-detail a {
	display: inline-block;
	text-decoration: none;
	color: #FFF;
	background: #32a7eb;
	padding: 1em;
}
.u-button-detail a::after {
	content: "\f054";
	display: inline-block;
	font-family: FontAwesome;
	margin-left: .5em;
}
.u-button-detail.is-back a::after {
	content: "\f0e2";
}
.u-button-detail.is-center {
	text-align: center;
}
.u-button-detail.is-right {
	text-align: right;
}
.u-button-detail.is-middle a {
	font-size: 1.16em;
}
.u-button-detail.is-large a {
	font-size: 1.33em;
}
/*flex*/
.u-flex-basic {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.u-flex-align-center {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
/*column*/
.u-column-basic::after {
	content: "";
	display: block;
	clear: both;
}
.u-column-basic > li {
	float: left;
	line-height: 1.5;
	font-weight: 500;
}
.u-column-basic.is-2col > li {
	width: 48.0519%;
	margin-right: 3.8961%;
	margin-bottom: 1em;
}
.u-column-basic.is-2col > li:nth-child(2n) {
	margin-right: 0;
}
.u-column-basic.is-arrow > li figure {
	position: relative;
}
.u-column-basic.is-arrow > li:first-child figure::after {
	content: "";
	position: absolute;
	width: 5px;
	height: 20px;
	top: 50%;
	right: -5.9459%;
	background: url(/img/ico_arrow_bf.svg) no-repeat center center;
	background-size: cover;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.u-column-basic.is-3col > li {
	width: 31.4285%;
	margin-right: 2.8571%;
	margin-bottom: 1em;
}
.u-column-basic.is-3col > li:nth-child(3n) {
	margin-right: 0;
}
.u-column-basic.is-1-2col > li {
	width: 31.4285%;
	margin-right: 2.8571%;
	margin-bottom: 1em;
}
.u-column-basic.is-1-2col > li:nth-child(2n) {
	width: 65.7142%;
	margin-right: 0;
}
/*animate*/
.a-animate {
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
}

/*-------------------------------------------------------------------
	SP
-------------------------------------------------------------------*/
@media (max-width: 767px) {
.u-spitem-w-30 {
	width: 30%;
}
.u-spitem-w-40 {
	width: 40%;
}
.u-spitem-w-45 {
	width: 45%;
}
.u-spitem-w-50 {
	width: 50%;
}
.u-spitem-w-60 {
	width: 60%;
}
.u-spitem-w-70 {
	width: 70%;
}
.u-spitem-w-80 {
	width: 80%;
}
.u-spitem-w-90 {
	width: 90%;
}
.u-spitem-w-100 {
	width: 100%;
}
.u-spitem-center {
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
}

/*-------------------------------------------------------------------
	PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.u-sp-item, .u-sp-item-inline {
	display: none !important;
}
.u-pc-item {
	display: block !important;
}
.u-pc-item-inline {
	display: inline !important;
}
.u-button-detail.is-middle a {
	font-size: 1.33em;
}
.u-button-detail.is-large a {
	font-size: 1.5em;
}
.u-text-small {
	font-size: .88em;
}
.u-text-x-small {
	font-size: .77em;
}
.u-text-xx-small {
	font-size: .66em;
}
.u-text-large {
	font-size: 1.11em;
}
.u-text-x-large {
	font-size: 1.22em;
}
.u-text-xx-large {
	font-size: 1.33em;
}
.u-column-basic.is-arrow > li:first-child figure::after {
	width: 9px;
	height: 34px;
}
.u-ul-basic, .u-ol-basic {
	padding-left: 0;
	float: left;
}
	
}
/*-------------------------------------------------------------------

	common

-------------------------------------------------------------------*/
.my-animated {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	z-index: 100;
	box-sizing: border-box;
}
/*title*/
.sub-title {
	text-align: center;
	margin-bottom: 1.5em;
}
.sub-title::before {
	content: "";
	display: block;
	background: #333;
	width: 60px;
	height: 2px;
	margin: 0 auto 2em;
}
.sub-title > i {
	display: block;
	font-family: "Times New Roman", Times, "serif";
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 2px;
	margin-bottom: .2em;
}
.sub-title > span {
	font-size: 28px;
	font-weight: 600;
}
/*title-small*/
.sub-title.is-small {
	margin-bottom: 1.5em;
}
.sub-title.is-small::before {
	background: #32a7eb;
	width: 40px;
	height: 2px;
	margin: 0 auto 1.5em;
}
.sub-title.is-small > i {
	font-size: 11px;
}
.sub-title.is-small > span {
	font-size: 23px;
}
/*title-form*/
.sub-title.is-form {
	margin-bottom: 1.5em;
}
.sub-title.is-form::before {
	display: none;
}
.sub-title.is-form > i {
	font-size: 3.1vw;
}
.sub-title.is-form > span {
	font-size: 5vw;
}
/*contents-box*/
.contents-inner {
	padding: 0 4% 9.5%;
}
.contents-inner > :last-child {
	margin-bottom: 0;
}
/*other*/
.title-ribbon {
	text-align: center;
}
.title-ribbon > span {
	display: inline-block;
	padding: 1em 2em;
	background: url(/img/green_titleback.svg) no-repeat center center;
	background-size: 100% 100%;
	color: #fff;
	font-weight: 600;
	text-align: center;
	line-height: 1.3;
	font-size: 14px;
}

/*-------------------------------------------------------------------
	common PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.callbtn > a {
	text-decoration: none;
	cursor: none;
	color: #333;
}
/*title*/
.sub-title::before {
	width: 120px;
	height: 4px;
}
.sub-title > i {
	font-size: 20px;
}
.sub-title > span {
	font-size: 50px;
}
/*title-small*/
.sub-title.is-small::before {
	width: 80px;
	height: 4px;
	margin: 0 auto 2em;
}
.sub-title.is-small > i {
	font-size: 20px;
}
.sub-title.is-small > span {
	font-size: 40px;
}
/*title-form*/
.sub-title.is-form > i {
	font-size: 20px;
}
.sub-title.is-form > span {
	font-size: 50px;
}
/*contents-box*/
.contents-inner {
	padding: 0 0 70px;
	width: 1000px;
	margin: 0 auto;
}
/*other*/
.title-ribbon > span {
	font-size: 20px;
}
	.price_spot img{
		max-width: 226px;
	}
}
/*-------------------------------------------------------------------

	Header

-------------------------------------------------------------------*/
#header {
	position: relative;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 500;
	background: #FFF;
	box-sizing: border-box;
	box-shadow: 0 0 6px 0 rgba(0,0,0,.1);
}
#header > .header_inner {
	padding: 5px 2.6666% 10px;
	box-sizing: border-box;
}
#header h1 {
	font-size: 9px;
	text-align: center;
	font-weight: 400;
	margin-bottom: 7px;
}
#header p {
	margin-bottom: 0;
}
.header_logo {
	width: 160px;
	float: left;
}
#menu-button {
	position: fixed;
	width: 35px;
	right: 2.6666%;
	top: 22px;
	z-index: 1000;
}

/*-------------------------------------------------------------------
	Header PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
#header {
	position: fixed;
}
#header > .header_inner {
	padding: 10px 14px 10px;
	max-width: 1300px;
	min-width: 1200px;
	margin: 0 auto;
}
#header h1 {
	font-size: 12px;
	font-weight: 500;
}
.header_logo {
	width: 256px;
}
.header_tel {
	width: 241px;
	float: right;
	margin-top: 13px;
}
.header_line {
	max-width: 241px;
    height: 42px;
	float: right;
	margin-top: 13px;
    margin-left: 32px;
}
    .header_line a{
        display: block;
        width: 100%;
    }
    .header_line a img{
        width: auto;
        height: 42px;
    }
.header_form {
	float: right;
	margin-left: 32px;
	margin-top: 11px;
}
.header_form a {
	display: block;
	width: 326px;
	height: 42px;
	background: #e4080d url(/img/header_form_pc.png) no-repeat center center;
	background-size: 100%;
	border: 2px solid #FFF;
	box-shadow: 0 0 6px 0 rgba(0,0,0,.2);
	box-sizing: border-box;
	border-radius: 4px;
	overflow: hidden;
}
#header.is-scroll h1 {
	display: none;
}
#header.is-scroll .header_logo {
	width: 230px;
}
#header.is-scroll .header_tel {
	width: 217px;
	margin-top: 12px;
}
#header.is-scroll .header_form {
	margin-left: 29px;
	margin-top: 10px;
}
#header.is-scroll .header_form a {
	width: 299px;
	height: 43px;
	border: 1px solid #FFF;
	border-radius: 0;
}
}
/*-------------------------------------------------------------------

	mv

-------------------------------------------------------------------*/
#mv {
	background: #e0e6e7 url(/img/mv_back_sp.jpg) no-repeat center top;
	background-size: 100%;
}
.mv_inner {
	padding: 6.1333vw 0 4.1333vw 2.6666vw;
	min-height: 85.2vw;
	box-sizing: border-box;
}
.mv_text1 {
	width: 60.2666vw;
	height: 43.2vw;
	margin: 0 auto 5.6vw 0.1333vw;
	background: url(/img/mv_text1_sp.png) no-repeat left top;
	background-size: contain;
}
.mv_text2 {
	width: 52.1333vw;
	height: 26.1333vw;
	margin: 0 auto 0 1.0666vw;
	background: url(/img/mv_text2_sp.png) no-repeat left top;
	background-size: contain;
}
.mv_free {
	padding: 1.8666vw 4vw 4vw;
	background: url(/img/mv_free_back.png) repeat 0 0;
}
.mv_free-inner {
	height: 56.9333vw;
	background: url(/img/mv_free_sp.png) no-repeat center center;
	background-size: contain;
}

/*-------------------------------------------------------------------
	mv PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
#mv {
	background: #e0e6e7 url(/img/mv_back_pc.jpg) no-repeat center top;
	background-size: auto;
}
.mv_inner {
	padding: 137px 0 14px 0;
	width: 1100px;
	min-height: 536px;
	margin: 0 auto;
	box-sizing: border-box;
}
.mv_text1 {
	width: 720px;
	height: 214px;
	margin: 0 auto 12px 0;
	background: url(/img/mv_text1_pc.png) no-repeat left top;
	background-size: contain;
}
.mv_text2 {
	width: 436px;
	height: 160px;
	margin: 0 auto 0 0;
	background: url(/img/mv_text2_pc.png) no-repeat left top;
	background-size: contain;
}
.mv_free {
	padding: 20px 0 23px;
}
.mv_free-inner {
	width: 1100px;
	height: 225px;
	margin: 0 auto;
	background: url(/img/mv_free_pc.png) no-repeat center center;
	background-size: contain;
}
}
/*-------------------------------------------------------------------

	co2

-------------------------------------------------------------------*/
.co2_photo {
	width: 39.1304%;
	float: right;
	margin: 0 0 1em 1em;
}

/*-------------------------------------------------------------------
	co2 PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.co2_photo {
	width: 200px;
	margin: 0 0 0 1em;
}
}
/*-------------------------------------------------------------------

	mechanism

-------------------------------------------------------------------*/
#mechanism {
	background: #fff5ec;
}
.mechanism_flow {
	font-size: 13px;
	line-height: 1.5;
}
.mechanism_flow > figure::after {
	content: "";
	display: block;
	clear: both;
}
.mechanism_flow > figure > img {
	display: block;
	width: 32.7536%;
	float: left;
	margin: 0 1em 0 0;
}
.mechanism_flow-arrow {
	width: 16px;
	height: 12px;
	margin: 0 auto .5em;
	background: url(/img/mechanism_arrow_sp.svg) no-repeat center center;
	background-size: contain;
}

/*-------------------------------------------------------------------
	mechanism PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.mechanism_flow {
	font-size: 16px;
}
.mechanism_flow > figure {
	float: left;
	width: 226px;
}
.mechanism_flow > figure::after {
	clear: none;
}
.mechanism_flow > figure > img {
	width: 100%;
	float: none;
	margin: 0 0 .5em 0;
}
.mechanism_flow-arrow {
	float: left;
	width: 32px;
	height: 24px;
	margin: 116px 0 0;
	background: url(/img/mechanism_arrow_pc.svg) no-repeat center center;
	background-size: 16px 24px;
}
}
/*-------------------------------------------------------------------

	caution

-------------------------------------------------------------------*/
.caution_flow > li {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	padding: .6em 0;
	border-top: 2px solid #DDD;
	font-size: 12px;
	line-height: 1.5;
	width: 100%;
	box-sizing: border-box;
}
.caution_flow > li > i {
	width: 11.5942%;
	margin-right: 4.6376%;
	display: block;
}
.caution_flow > li > h4 {
	width: 17.3913%;
	color: #3dd5a4;
}
.caution_flow > li > span {
	width: 66.0869%;
	display: block;
	font-weight: 500;
}

/*-------------------------------------------------------------------
	caution PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.caution_flow > li {
	padding: 14px 10px 20px;
	font-size: 18px;
}
.caution_flow > li.half {
	width: 476px;
}
.caution_flow > li > i {
	width: 60px;
	margin-right: 16px;
}
.caution_flow > li > h4 {
	font-size: 20px;
	width: 118px;
}
.caution_flow > li > span {
	width: auto;
}
}
/*-------------------------------------------------------------------

	flow

-------------------------------------------------------------------*/
#flow {
	background: #ecfff9;
}
.flow_box-list > .flow_box:nth-child(odd) {
	-webkit-transform: translateX(1px);
	transform: translateX(1px);
}
.flow_box-list > .flow_box:nth-child(even) {
	-webkit-transform: translateX(9px);
	transform: translateX(9px);
}
.flow_box {
	background: #FFF;
	position: relative;
	margin-bottom: 1.5em;
	box-sizing: border-box;
}
.flow_box > div {
	border-style: solid;
	border-width: 3px 3px 3px 3px;
	-moz-border-image: url(/img/border_image.png) 3 3 3 3 repeat;
	-webkit-border-image: url(/img/border_image.png) 3 3 3 3 repeat;
	-o-border-image: url(/img/border_image.png) 3 3 3 3 repeat;
	border-image: url(/img/border_image.png) 3 3 3 3 fill repeat;
	position: relative;
	-webkit-transform: translateY(5px) translateX(-5px);
	transform: translateY(5px) translateX(-5px);
	box-sizing: border-box;
	padding: 4% 3% 4% 18.3%;
	background-repeat: no-repeat;
	background-position: 4.2% 10%;
}
.flow_box > div > figure {
	width: 28%;
	float: right;
	margin: 0 0 .5em 1em;
}
.flow_box > div > h4 {
	font-size: 15px;
	color: #3dd5a4;
	margin-bottom: .5em;
}
.flow_box > div > p {
	font-size: 12px;
}
.flow_box > div > :last-child {
	margin-bottom: 0;
}
#flow_box1 > div {
	background-image: url(/img/flow_num1.png);
	background-size: 7.9646%;
}
#flow_box2 > div {
	background-image: url(/img/flow_num2.png);
	background-size: 10.0294%;
}
#flow_box3 > div {
	background-image: url(/img/flow_num3.png);
	background-size: 9.292%;
}
#flow_box4 > div {
	background-image: url(/img/flow_num4.png);
	background-size: 10.1769%;
}
.flow_last-text {
	text-align: center;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 600;
}

/*-------------------------------------------------------------------
	flow PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.flow_box-list > .flow_box:nth-child(odd) {
	-webkit-transform: translateX(10px);
	transform: translateX(10px);
}
.flow_box-list > .flow_box:nth-child(even) {
	-webkit-transform: translateX(60px);
	transform: translateX(60px);
}
.flow_box {
	margin-bottom: 2em;
	width: 950px;
}
.flow_box > div {
	-webkit-transform: translateY(10px) translateX(-10px);
	transform: translateY(10px) translateX(-10px);
	padding: 40px 40px 40px 180px;
	background-position: 40px 35px;
}
.flow_box > div > figure {
	width: 290px;
}
.flow_box > div > h4 {
	font-size: 26px;
}
.flow_box > div > p {
	font-size: 18px;
}
#flow_box1 > div {
	background-size: auto;
}
#flow_box2 > div {
	background-size: auto;
}
#flow_box3 > div {
	background-size: auto;
}
#flow_box4 > div {
	background-size: auto;
}
.flow_last-text {
	font-size: 30px;
}
}
/*-------------------------------------------------------------------

	case

-------------------------------------------------------------------*/
#case {
	background: #f7f7f7;
}
.case_flow {
	width: 91.3043%;
	margin: 0 auto;
}
.case_flow > section {
	margin-bottom: 1.5em;
}
.case_flow > :last-child {
	margin-bottom: 0;
}
.case_flow > section > figure {
	width: 42.8571%;
	float: left;
	text-align: center;
}
.case_flow > section > figure > figcaption {
	font-size: 12px;
	padding-top: .5em;
	font-weight: 600;
}
.case_flow > section > .arrow {
	width: 14.2857%;
	height: 3.8666vw;
	float: left;
	background: url(/img/case_arrow.svg) no-repeat center center;
	background-size: 21.1111%;
	margin-top: 18%;
}

/*-------------------------------------------------------------------
	case PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.case_flow {
	width: 100%;
}
.case_flow > section {
	margin-bottom: 0;
	width: 47.6%;
	float: left;
}
.case_flow > section:nth-child(even) {
	float: right;
}
.case_flow > section > figure {
	width: 220px;
}
.case_flow > section > figure > figcaption {
	font-size: 18px;
}
.case_flow > section > .arrow {
	width: 36px;
	height: 24px;
	float: left;
	background-size: contain;
	margin-top: 98px;
}
}
/*-------------------------------------------------------------------

	price

-------------------------------------------------------------------*/
.price_spot {
	width: 82.6086%;
	margin: 0 auto;
}
.price_spot li {
	width: 47.3684%;
	margin-bottom: 1.5em;
	text-align: center;
}
.price_data {
	margin-bottom: 1.5em;
}
.price_data th, .price_data td {
	font-size: 13px;
	line-height: 1.3;
	font-weight: 500;
	vertical-align: middle;
}
.price_data .head th {
	font-weight: 600;
}
.price_data .head th {
	background: #ecf8ff;
}

/*-------------------------------------------------------------------
	price PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.price_spot {
	width: 100%;
}
.price_spot li {
	width: 226px;
}
.price_spot.img3 li{
	width: 300px;
}
.price_spot.img3 li:first-child{
	text-align: right;
}
.price_spot.img3 li:last-child{
	text-align: left;
}

.price_data th, .price_data td {
	font-size: 22px;
	padding: .5em 1em;
}
}
/*-------------------------------------------------------------------

	faq

-------------------------------------------------------------------*/
#faq {
	background: #ecf8ff;
}
.faq_list th{
	font-family: 'Spectral', serif;
	width: 10%;
	text-align: center;
	font-weight: bold;
	font-size: 2rem;
}
.faq_list th.faqQ{
	color: #e4080d;
}
.faq_list th.faqA{
	color: #3dd5a4;
}

.faq_list th.faqQ,
.faq_list td.faqQ{
	padding-top: 10px;
	padding-bottom: 10px;
}

.faq_list th.faqA,
.faq_list td.faqA{
	border-bottom: 1px solid #cccccc;
	padding-bottom: 10px;
}
.faq_list td{
	padding-left: 1%;
}
.faq_list tr:last-child th.faqA,
.faq_list tr:last-child td.faqA{
	border-bottom: none;
	padding-bottom: 0;
}


/*-------------------------------------------------------------------
	faq PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
	
	.faq_list th{
		font-size: 4rem;
	}
}
/*-------------------------------------------------------------------

	doctor

-------------------------------------------------------------------*/
#doctor {
	background: #f7f7f7;
}
.doctor_list {
	margin-bottom: 1.5em;
}
.doctor_list figure {
	width: 31.884%;
	float: left;
	margin-right: 4.3478%;
}
.doctor_data {
	overflow: hidden;
	font-size: 10px;
	line-height: 1.5;
	font-weight: 500;
}
.doctor_name {
	font-size: 15px;
	line-height: 1.3;
	font-weight: 600;
	margin-bottom: .5em;
}
.doctor_list dt {
	clear: left;
	float: left;
	width: 5em;
}
.doctor_list dd {
	padding: 0 0 0 5em;
	margin-bottom: .5em;
}
.doctor_hr {
	width: 40px;
	height: 2px;
	background: #dddddd;
	margin: 0 auto 1.5em;
}

/*-------------------------------------------------------------------
	doctor PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.doctor_list figure {
	width: 220px;
	float: left;
	margin-right: 30px;
}
.doctor_data {
	font-size: 16px;
}
.doctor_list dl {
	float: left;
	width: 460px;
}
.doctor_name {
	font-size: 26px;
}
.doctor_hr {
	width: 80px;
	height: 4px;
	margin: 0 auto 2em;
}
}
/*-------------------------------------------------------------------

	staff

-------------------------------------------------------------------*/
#staff {
	background: #fff;
}
.staff_list {
	width:82.6086%;
	margin:0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.staff_list > figure {
/*	float:left;*/
	width:28.0701%;
	margin:0 7.8947% 1em 0;
	text-align: center;
}
/*
.staff_list > figure:nth-child(3n) {
	margin-right:0;
}
*/
.staff_list > figure:last-of-type {
	margin-right:0;
}

.staff_list > figure > figcaption {
	display:block;
	font-size:12px;
	line-height: 1.2;
	padding-top:.5em;
}
/*-------------------------------------------------------------------
	staff PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.staff_list {
	width:100%;
}
.staff_list > figure {
	width:150px;
	margin:0 20px 0 0;
}
.staff_list > figure:last-of-type {
	margin:0;
}
/*
.staff_list > figure:nth-child(3) {
	margin-right:20px;
}
.staff_list > figure:nth-child(6n) {
	margin-right:0;
}
*/
.staff_list > figure > figcaption {
	font-size:16px;
}
}
/*-------------------------------------------------------------------

	clinic

-------------------------------------------------------------------*/
#clinic {
	background: #f7f7f7;
}
.clinic_logo {
	width: 138px;
	margin: 0 auto 1.5em;
}
.clinic_list {
	width: 82.6086%;
	margin: 0 auto 1em;
	font-size: 12px;
}
.clinic_list dt {
	clear: left;
	float: left;
	width: 5em;
	font-weight: 600;
}
.clinic_list dd {
	padding: 0 0 0 5em;
	margin-bottom: .5em;
}
.clinic_map {
	width: 82.6086%;
	margin: 0 auto;
}
.clinic_map > section {
	width: 100%;
	border-top: 2px solid #DDD;
	padding: 5% 6.1403% 9%;
}
.clinic_map iframe	{
	width: 100%;
	height: 240px;
	padding: 0;
}
.clinic_map > :last-child {
	padding-bottom: 0;
}
.clinic_map-name {
	line-height: 1.4;
	font-weight: 600;
	margin-bottom: .5em;
}
.clinic_map-list {
	font-size: 13px;
}
.clinic_map-list dt {
	clear: left;
	float: left;
	width: 4em;
}
.clinic_map-list dd {
	padding: 0 0 0 4em;
	margin-bottom: .5em;
}

/*-------------------------------------------------------------------
	clinic PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.clinic_logo {
	width: 278px;
}
.clinic_list {
	width: 550px;
	font-size: 20px;
}
.clinic_map {
	width: 100%;
}
.clinic_map > section{
	/*width: 312px;*/
	width: 468px;
	padding: 33px 0 0;
}
.clinic_map iframe	{
	width: 468px;
	height: 370px;
}
.clinic_map-name {
	font-size: 16px;
}
.clinic_map-list {
	font-size: 16px;
}
}
/*-------------------------------------------------------------------

	faq

-------------------------------------------------------------------*/
#faq {
	background: #fff;
}
#faq .staff_list {
	width:82.6086%;
	margin:0 auto;
}
#faq .staff_list > figure {
	float:left;
	width:28.0701%;
	margin:0 7.8947% 1em 0;
	text-align: center;
}
#faq .staff_list > figure:nth-child(3n) {
	margin-right:0;
}
#faq .staff_list > figure > figcaption {
	display:block;
	font-size:12px;
	line-height: 1.2;
	padding-top:.5em;
}
/*-------------------------------------------------------------------
	faq PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.staff_list {
	width:100%;
}
.staff_list > figure {
	width:150px;
	margin:0 20px 0 0;
}
.staff_list > figure:last-of-type {
	margin:0;
}
/*
.staff_list > figure:nth-child(3) {
	margin-right:20px;
}
.staff_list > figure:nth-child(6n) {
	margin-right:0;
}
*/
.staff_list > figure > figcaption {
	font-size:16px;
}
}
/*-------------------------------------------------------------------

	footer

-------------------------------------------------------------------*/
#footer {
	text-align: center;
	font-size: 9px;
/*	padding: 7% 0 18vw;*/
	padding: 7% 0 35vw;
}
#footer.is-form {
	padding: 7% 0;
}
.footer-fixed-button {
	position: fixed;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: 1500;
}
.footer-fixed-button a {
	display: block;
}
.footer-fixed-button-line{
    margin: 0 0 0 auto;
    max-width: 160px;
}
.footer-fixed-button-line img{
    height: auto;
    width: 100%;
}
.footer-fixed-button li {
	float: left;
	width: 43.3333%;
}
.footer-fixed-button li.pagetop {
	width: 13.3333%;
}
.footer-fixed-button span {
	display: block;
	width: 100%;
	height: 13.3333vw;
}
.footer-fixed-button .reserve span {
	background: #e4080d url(/img/footer_mail.png) no-repeat center center;
	background-size: contain;
}
.footer-fixed-button .tel span {
	background: #32a7eb url(/img/footer_tel.png) no-repeat center center;
	background-size: contain;
}
.footer-fixed-button .pagetop span {
	background: #d3fef0 url(/img/footer_pagetop.png) no-repeat center center;
	background-size: contain;
}

/*-------------------------------------------------------------------
	footer PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
#footer {
	font-size: 14px;
	padding: 60px 0;
}
#footer.is-form {
	padding: 30px 0 60px;
}
}
/*-------------------------------------------------------------------

	menu-list

-------------------------------------------------------------------*/
#menu-list_sp {
	position: fixed;
	z-index: 2000;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	background: #FFF;
	padding: 4%;
	box-sizing: border-box;
	font-size: 14px;
	line-height: 1.2;
	overflow: auto;
}
#menu-list_sp ul {
	margin-bottom: 1em;
}
#menu-list_sp ul li {
	margin-bottom: .4em;
}
#menu-list_sp ul li a {
	display: block;
	background: #ecf8ff url(/img/arrow_blue.svg) no-repeat 96% center;
	background-size: 9px;
	text-decoration: none;
	color: #32a7eb;
	padding: .8em 2em .8em .8em;
}
#menu-list_sp ul li.is-form a {
	background: #e4080d url(/img/arrow_white.svg) no-repeat 96% center;
	background-size: 9px;
	color: #FFF;
}
.menu-list_close {
	text-align: center;
	margin-bottom: 0;
}
.menu-list_close span {
	display: inline-block;
	padding: .8em;
	background: #333;
	color: #FFF;
}
#menu-list_sp .menu-inner {
	display:block;
}
#menu-list_pc .menu-inner {
	display:none;
}
/*-------------------------------------------------------------------
	menu-list PC
-------------------------------------------------------------------*/
@media (min-width: 768px) {
#menu-list_pc {
	position: fixed;
	z-index: 2000;
	width: 100px;
	height: auto;
	top: 100px;
	left: auto;
	right: 0;
	background: none;
	padding: 0;
	font-size: 12px;
	line-height: 1.1;
	font-weight: 500;
	overflow: visible;
}
#menu-list_pc ul, .pagetop-pc {
	margin-bottom: .5em;
	padding: 2px;
	background: #FFF;
	box-shadow: 0 0 6px 0 rgba(0,0,0,.15);
}
#menu-list_pc ul li, .pagetop-pc span {
	margin-bottom: 2px;
	display: table;
	width: 100%;
}
#menu-list_pc ul li:last-child, .pagetop-pc span {
	margin-bottom: 0;
}
#menu-list_pc ul li a, .pagetop-pc span a {
	background-color: #ecf8ff;
	background-image: none;
	padding: 0;
	width: 100%;
	height: 40px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
}
#menu-list_pc ul li.is-form a {
	background-color: #e4080d;
	color: #FFF;
	height: 50px;
}
#menu-list_sp .menu-inner {
	display:none;
}
#menu-list_pc .menu-inner {
	display:block;
}
}
/*-------------------------------------------------------------------

	form

-------------------------------------------------------------------*/
.form-block {
	padding: 5% 4% 3%;
}
/*reset*/
.form-data input[type="submit"], .form-data input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
.form-data input[type="submit"]::-webkit-search-decoration, .form-data input[type="button"]::-webkit-search-decoration {
 display: none;
}
.form-data input[type="submit"]::focus, .form-data input[type="button"]::focus {
 outline-offset: -2px;
}
/*setting*/
.must-icon {
	display: inline-block;
	padding: .3em;
	background: #990033;
	font-size: 12px;
	line-height: 1;
	color: #FFF;
	font-weight: 500;
	border-radius: 4px;
}
.form-flow {
	margin-bottom: 1.5em;
}
.form-flow::after {
	content: "";
	display: block;
	clear: both;
}
.form-flow li {
	float: left;
	width: 31.0344%;
	margin-right: 3.4482%;
	padding: 1em 0;
	text-align: center;
	background: url(/img/form_step_default.svg) no-repeat right center;
	background-size: cover;
	border-radius: 5px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
}
.form-flow li:last-child {
	margin-right: 0;
	background-position: left center;
}
.form-flow li.current {
	background-image: url(/img/form_step_current.svg);
	color: #FFF;
}
.form-data {
	width: 100%;
}
.cell-even tr:nth-child(even) th, .cell-even tr:nth-child(even) td {
	background: #f4fffb;
}
.cell-odd tr:nth-child(odd) th, .cell-odd tr:nth-child(odd) td {
	background: #f4fffb;
}
.form-data th, .form-data td {
	display: block;
	width: 100%;
	text-align: left;
	vertical-align: top;
	box-sizing: border-box;
}
.form-data th {
	padding: 1em .6em .5em;
	line-height: 1.5;
	font-weight: 600;
	font-size: 16px;
	border-top: 2px solid #3dd5a4;
}
.form-data td {
	padding: 0 .6em 1.5em;
}
.form-data .list-inline li {
	display: inline-block;
	margin: 0 2em 0 0;
}
.form-data .list-inline.is-margin li {
	display: inline-block;
	margin: 0 2em .5em 0;
}
.form-data .caption {
	margin: 5px 0 0;
	font-size: .88em;
	line-height: 1.5;
	font-weight: 500;
}
.form-data .hope > div {
	margin-bottom: .5em;
	padding-bottom: .5em;
	border-bottom: 1px solid #DDD;
}
.form-data .hope > div > span {
	display: inline-block;
	margin: 0 1.3em .5em 0;
}
.form-data .hope > div > span.hour {
	margin-right: 0;
}
.form-data .hope > div:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.form-data .spot li {
	margin-bottom: 1em;
}
.form-data input[type="text"], .form-data input[type="number"], .form-data input[type="email"], .form-data input[type="tel"], .form-data textarea {
	padding: 6px;
	font-size: 16px;
	box-sizing: border-box;
}
.form-data input[name="age"] {
	width: 5em;
}
.form-data input[type="radio"], .form-data input[type="checkbox"] {
	margin: 0 8px 0 0;
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transform-origin: left 50%;
	transform-origin: left 50%;
}
.form-data select {
	padding: 6px;
	font-size: 16px;
}
.form-data .wide {
	width: 100%;
}
.form-data .half {
	width: 50%;
}
.form-data .form-button {
	padding-top: 1em;
}
.form-data .form-button:after {
	content: "";
	display: block;
	clear: both;
}
/*
.form-data .form-button.is-2col form {
	width: 49%;
	float: right;
}
.form-data .form-button.is-2col form:last-child {
	float: left;
}
*/
.form-data .form-button.is-2col > form > input.button {
	width: 100%;
    max-width: 500px;
}
.form-data .form-button input.button {
	display: block;
	width: 50%;
	border-radius: 8px;
	padding: 1em 0 .9em;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	margin: 0 auto 1em;
	color: #FFF;
	text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.2);
}
.form-data .form-button input.button-send {
	background: #e4080d;
}
.form-data .form-button input.button-mod {
	background: #999;
}
/*error*/
label.error {
	display:block;
	padding:.7em;
	background:#ff6600;
	color:#FFF;
	font-size:.88em;
	line-height: 1;
	font-weight:600;
	margin-top:.3em;
	border-radius: 4px;
}
label.success {
	padding:0;
	background:none;
}
label.success::before {
	content:"OK!";
	display:inline-block;
	padding:.7em;
	background:#00cc33;
	border-radius: 6px;
}
/*-------------------------------------------------------------------
	form
-------------------------------------------------------------------*/
@media (min-width: 768px) {
.form-block {
	padding: 130px 0 30px;
	width: 900px;
	margin: 0 auto;
}
/*setting*/
.must-icon {
	font-size: 14px;
}
.form-flow li {
	font-size: 22px;
}
.form-data th, .form-data td {
	display: table-cell;
}
.form-data th {
	width: 40%;
	padding: 1.5em .5em;
	font-size: 20px;
}
.form-data td {
	width: 60%;
	padding: 1.5em .5em;
	border-top: 2px solid #DDD;
	font-size: 20px;
}
.form-data .caption {
	font-size: .78em;
}
.form-data .spot li {
	margin-bottom: .5em;
}
/*
.form-data .form-button.is-2col form {
	width: 40%;
}
*/
.form-data .form-button input.button {
/*	width: 40%;*/
	font-size: 30px;
}
/*error*/
label.error {
	font-size:.7em;
}
}
/*-------------------------------------------------------------------

	Animation

-------------------------------------------------------------------*/
.a-hidden {
	opacity: 0;
	visibility: hidden;
}
.a-none {
	opacity: 0;
	display: none;
}
/*---------------basic fade---------------*/
/*fast*/
.a-fade-in {
	-webkit-animation-name: fade-in;
	-webkit-animation-duration: .5s;
	-webkit-animation-timing-function: ease-in;
	-webkit-animation-iteration-count: 1;
	animation-name: fade-in;
	animation-duration: .5s;
	animation-timing-function: ease-in;
	animation-iteration-count: 1;
}
@-webkit-keyframes fade-in {
 0% {
 opacity:0;
 visibility: hidden;
}
 100% {
 opacity:1;
 visibility: visible;
}
}
@keyframes fade-in {
 0% {
 opacity:0;
 visibility: hidden;
}
 100% {
 opacity:1;
 visibility: visible;
}
}
.a-fade-in-block {
	-webkit-animation-name: fade-in-block;
	-webkit-animation-duration: .5s;
	-webkit-animation-timing-function: ease-in;
	-webkit-animation-iteration-count: 1;
	animation-name: fade-in-block;
	animation-duration: .5s;
	animation-timing-function: ease-in;
	animation-iteration-count: 1;
}
@-webkit-keyframes fade-in-block {
 0% {
 opacity:0;
 display:none;
}
 100% {
 opacity:1;
 display:block;
}
}
@keyframes fade-in {
 0% {
 opacity:0;
 display:none;
}
 100% {
 opacity:1;
 display:block;
}
}

/*-------------------------------------------------------------------

LineArea

-------------------------------------------------------------------*/

.LineArea{
    box-sizing: border-box;
    /*    width: 100%;*/
    /*    margin: 6rem 1.5rem 0;*/
    margin: 40px 4% 0;
    border: 1px solid #00b900;
    border-radius: 10px;
    padding: 10px;
}
.LineArea h2{
    text-align: center;
    border-bottom: 1px solid #00b900;
    padding-bottom: 5px;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
}
.LineArea_txt{
    width: 96%;;
    margin: auto;
}
.LineArea_txt h3{
    text-align: center;
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.5;
}
.lineFlex{
    display: flex;
    align-items: center;
    justify-content: center;
}
.lineFlex .line-txt{
    width: 48%;
    margin-right: 2%;
    margin-bottom: 1.0em;
}

.lineFlex .line-icon{
    width: 50%;
    text-align: center;
    font-size: 12px;
}
.lineFlex .line-icon img{
    margin-bottom: 0.5em;
}
.lineFlex .line-txt {
    /*    text-align: right;*/
}
.lineFlex .line-txt p{
    width: 70%;
    margin: 0 0 0 auto;
    font-size:min(4vw,26px);
}