@charset "UTF-8";
/*
	BASIC Style	Responsive - Mobile first
**************************************************************************************************** */
/* ------------------------------------------------------------
	Base
------------------------------------------------------------ */
/* Reset */
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;font-style: normal;font-weight: normal;vertical-align:baseline;background:transparent;}
body {line-height:1;-webkit-text-size-adjust: 100%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
ul,ol {list-style:none;}
img {border: 0;}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
a:link, a:visited, a:active {text-decoration: underline;}
a:hover {text-decoration: none;}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
textarea {resize: vertical;}

html {
	overflow-y: scroll;
	font-size: calc(100vw / 3.75);
}
body {
	color: #333;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",YuGothic,"游ゴシック",sans-serif;
	position: relative;
	text-align: center;
	width: 100%;
	font-feature-settings:'palt';
	overflow-x: hidden;
}
a {
	color: inherit;
	outline: none;
}
img {
	width: 100%;
	max-width: 100%;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
}
h1,h2,h3,h4,h5,h6 {
	line-height: 1;
}
p,ul,ol,dl,table {
	line-height: 1.6;
}
p {
	margin-bottom: 0.5em;
	text-align: justify;
}


/* ------------------------------------------------------------
	Layout
------------------------------------------------------------ */
body {
	font-size: 0.16rem;
	padding: 2.3em 0 4em;
}
.header {
	top: 0;
	width: 100%;
	left: 0;
	z-index: 100;
}
.header h1,
.header p {
	display: none;
}
.header__logo {
	background: #56A0E7;
	position: fixed;
	top: 0;
	width: 100%;
	left: 0;
	z-index: 100;
}
.header__logo a {
	height: 2.3em;
	display: flex;
    align-items: center;
	justify-content: center;
}
.header__logo img {
	width: auto;
	height: 1.65em;
}
.header .header__nav__btn {
	position: fixed;
	right: 0;
	bottom: 0;
	background: #56A0E7;
	display: block;
	font-size: 1em;
	width: 25%;
	height: 3.2em;
	border: none;
	cursor: pointer;
	color: #fff;
	outline: none;
	z-index: 100;
}
.header .header__nav__btn a {
	display: block;
}
.header .header__nav__btn span img {
	width: auto;
	height: 0.72em;
}
.header .header__nav__btn span {
	display: block;
	padding-top: 1.3em;
}
.header .header__nav__btn::before,
.header .header__nav__btn::after,
.header .header__nav__btn span::before {
	position: absolute;
	content: "";
	display: block;
	width: 1.7em;
	height: 2px;
	background: #fff;
	left: calc(50% - 0.85em);
}
.header .header__nav__btn::before {top: 0.5em;}
.header .header__nav__btn::after {top: 1.0em;}
.header .header__nav__btn span::before {top: 1.5em;}
.header .active::before {
	transform: rotate(45deg);
	top: 0.9em;
}
.header .active::after {
	transform: rotate(-45deg);
	top: 0.9em;
}
.header .active span::before {
	display: none;
}
.header .header__nav__menu {
	display: none;
	width: 100%;
	background: #5F9CD2;
	position: fixed;
	left: 0;
	bottom: 3.2em;
	text-align:  left;
	z-index: 200;
}
.header .header__nav__menu li a {
	color: #fff;
	text-decoration: none;
	display: block;
	border-bottom: 1px solid #77AAD9;
	padding: 0.6em 5%;
	cursor: pointer;
	width: auto;
	letter-spacing: 0;
}
.header .header__nav__menu li:last-of-type a {
	border-bottom: none;
}

.footer {
	margin-top: 3em;
}
.footer small {
	display: block;
	color: #fff;
	background: #6DA4EB;
	padding: 15px;
	font-size: 0.8em;
}
.footer small span {
	font-size: 1.7em;
	vertical-align: middle;
}

.footer .pagetop {
	position: fixed;
	bottom: 6em;
	right: 3%;
	width: 3.4em;
	height: 3.4em;
	text-indent: -9999px;
	z-index: 100;
}
.footer .pagetop a {
	outline: none;
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: rgba(241,246,253,0.8);
	text-decoration: none;
}
.footer .pagetop a::after {
	position: absolute;
	content: "";
	top: 0.7em;
	left: 0.9em;
	width: 0;
	height: 0;
	border-left: 0.8em solid transparent;
	border-right: 0.8em solid transparent;
	border-bottom: 1.5em solid #69B0F9;
}

.inner {
	padding-left: 3%;
	padding-right: 3%;
}

.sec {
	margin-bottom: 20px;
}
.sec img {
	width: auto;
}
.sec p {
	margin-bottom: 0.7em;
	line-height: 1.6;
	text-align: justify;
}
.sec p strong {
	font-weight: bold;
	color: #b20606;
	font-size: 0.16rem;
}
.sec h3.hl {
	background: url(../img/hl-bg.png) no-repeat 50% 0;
	background-size: auto 100%;
	padding: 0.8em 0 0.2em;
	margin: 0 auto 1em;
}
.sec h3.hl span,
.sec h3.hl strong {
	display: block;
}
.sec h3.hl span img {
	height: 2.2em;
}
.sec h3.hl strong img {
	height: 2.9em;
	padding-bottom: 0.2em;
}
.sec h3.hl span.blueTxt {
	text-align: right;
}
.sec h3.hl span.blueTxt img {
	height: 2.1em;
	padding-right: 0.35em;
}
.sec h4 {
	color: #FFF;
	font-size: 1em;
	margin: 0 auto 1em;
	text-align: center;
}
.sec h4 img {
	width: auto;
	height: 1.22em;
}



#sec__faq .pnl dt {
	position: relative;
}
#sec__faq .pnl dt strong {
	display: block;
}
#sec__faq .pnl dt strong::before,
#sec__faq .pnl dt::before,
#sec__faq .pnl dt::after {
	display: inline-block;
	position: absolute;
	content: "";
	top: 0.5em;
	right: 2%;
}
#sec__faq .pnl dt strong::before {
	background: #FFF;
	border-radius: 50%;
	width: 1.4em;
	height: 1.4em;
}
#sec__faq .pnl dt::before,
#sec__faq .pnl dt::after {
	width: 0.8em;
	height: 2px;
	background: #1886e2;
	margin: calc(0.6em + 1px) calc(0.27em + 1px) 0 0;
	z-index: 10;
}
#sec__faq .pnl dt::after {
	transform: rotate(90deg);
}
#sec__faq .pnl dt.close::after {
	display: none;
}

.sec .movie {
	max-width: 640px;
	margin: 1em auto 0.7em;
	width: 96%;
	height: 53vw;
	max-height: 360px;
}
.sec .movie video {
	width: 100%;
}


.cv {
	max-width: 1000px;
	margin: 0 auto 3em;
}
.cv img {
	width: auto;
}
.cv p {
	text-align: center;
	line-height: 1;
}
.cv__info {
	position: relative;
	padding-top: 1em;
	background: url(../img/cv__info--bg.png) no-repeat calc(100% + 4.6em) calc(100% + 2.2em);
	background-size: 17.8em auto;
}
.cv__info .cv__info__01 {
	width: 65%;
	padding-right: 20%;
	margin: 0 auto 0.25em;
}
.cv__info .cv__info__02 {
	width: 70%;
	margin: 0 auto 2.6em;
	padding-right: 20%;
}
.cv__info .cv__info__02 span {
	display: inline-block;
}
.cv__info .cv__info__02 span:nth-of-type(1) {
	width: 74%;
	padding-bottom: 0.4em;
}
.cv__info .cv__info__02 span:nth-of-type(2) {
	width: 100%;
}
.cv__info .cv__info__03 {
	width: 94%;
	margin: 0 auto 0;
	padding-bottom: 1em;
}

.cv__contact {
	background: #F4F0E6;
	padding: 1em 0 1em;
	color: #7D644A; 
	font-weight: 500;
	margin-bottom: 1em;
	overflow-x: hidden;
}
.cv__contact .cv__contact__txt {
	margin: 0 auto 0.8em;
	padding: 0;
	line-height: 1.4;
	font-size: 1.15em;
}
.cv__contact .cv__contact__txt span {
	display: inline-block;
	margin: 0 -0.5em 0 0;
	letter-spacing: -0.01em;
}
.cv__contact .cv__contact__tel strong {
	display: block;
}
.cv__contact .cv__contact__tel img {
	height: 2.1em;
	margin: 0.8em 0 0.6em;
}
.cv__contact .cv__contact__btn {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	width: 94%;
	margin: 0 auto 0;
}
.cv__contact .cv__contact__btn li {
	width: 49.1%;
	line-height: 1.4;
}
.cv__contact .cv__contact__btn li a {
	display: block;
	border-radius: 2px;
	padding: 0.4em 0;
	text-decoration: none;
	color: #FFF;
	font-size: 1.32em;
	background: linear-gradient(180deg, rgba(221, 194, 129, 1) 0%, rgba(212, 186, 122, 1) 18.61%, rgba(187, 164, 105, 1) 49.11%, rgba(148, 128, 76, 1) 87.48%, rgba(133, 115, 65, 1) 100%);
}


.cmn__mi {
	border: 1px solid #6ABBF7;
	margin: 4em auto 2em;
	position: relative;
	max-width: 800px;
}
.cmn__mi::after {
	content: "";
	display: block;
	width: 100%;
	height: 135%;
	left: 0;
	top: -35%;
	background: url("../img/cmn__mi--bg.png") no-repeat calc(100% + 1em) 0;
	background-size: auto 120%;
	position: absolute;
}
.cmn__mi dt {
	position: absolute;
	left: -1px;
	top: -16%;
	width: 17em;
}
.cmn__mi dd p {
	font-size: 0.7em;
	padding: 0 1% 0.5em 2%;
	margin: 2.7em 0 0;
	line-height: 1.6;
	position: relative;
	z-index: 3;
}
.cmn__mi dd p span {display: inline-block;}
.cmn__mi dd strong {
	display: block;
	background: #4DA0E8;
	color: #FFF;
	padding: 0.4em 0 0.4em;
	text-align: center;
	font-size: 1.15em;
	position: relative;
	z-index: 4;
}
.cmn__bnr {
	margin: 1em auto;
}
.cmn__bnr p {
	margin: .5em auto;
	padding: 0.3em;
	width: min(calc(100% - .6em - 2px), 400px);
}
.cmn__bnr p.cmn__bnr--w {
	border: 1px solid #288AF3;
	background: url(../img/webwari_img.jpg) no-repeat 22% 56% #EAF4FF;
	background-size: 132% auto;
}
.cmn__bnr p.cmn__bnr--g {
	border: 1px solid #7CD5AC;
	background: url(../img/gakuwari_img.png) no-repeat 194% 39% #EBFFF7;
	background-size: 82% auto;
}
.cmn__bnr p img { 
	width: auto;
	height: 3.4em;
}
.cmn__bnr p span{
	font-size: 0.67em;
	display: block;
}
.linktxt a {
	text-decoration: none;
	color: #603813;
	position: relative;
	display: block;
	text-align: right;
}
.linktxt a::after {
	content: ">>";
	display: inline;
	position: relative;
	top: -0.05em;
	left: 0.2em;
}


@media screen and (max-width : 767px) {
	.contact li {
		width: 25%;
		text-indent: -9999px;
		position: fixed;
		bottom: 0;
		z-index: 100;
	}
	.contact li.contact__mail { left: 0;}
	.contact li.contact__reserve { left: 25%;}
	.contact li.contact__tel { left: 50%;}
	.contact li.contact__menu { left: 75%;}
	.contact li a {
		background: #56A0E7;
		height: 3.2em;
		display: flex;
		outline: none;
		background-size: auto 80%;
		background-position: 50%;
		background-repeat: no-repeat;
		border-right: 1px solid #FFF;
	}
	.contact li.contact__mail a {
		background-image: url(../img/contact__mail.png);
	}
	.contact li.contact__reserve a {
		background-image: url(../img/contact__reserve.png);
	}
	.contact li.contact__tel a {
		background-image: url(../img/contact__tel.png);
	}
	.contact li.contact__menu a {
		background-image: url(../img/contact__menu.png);
		border-right: none;
	}
}

@media screen and (min-width : 600px) {
html {
	font-size: 62.5%;
}
body {
	font-size: 1.8rem;
}

.sec p strong {
	font-weight: bold;
	color: #b20606;
	font-size: 1.8rem;
}
.sec .credit span {
	display: block;
}

.cv__info {
	position: relative;
	padding-top: 1em;
	background: url(../img/cv__info--bgpc.png) no-repeat calc(80% + 1.6em) calc(100% + 2.2em);
	background-size: 17.8em auto;
}
.cv__info .cv__info__01 {
	width: 65%;
	padding-right: 20%;
	margin: 0 auto 0.25em;
}
.cv__info .cv__info__02 {
	width: 50%;
	margin: 0 auto 1em;
	padding-right: 20%;
}
.cv__info .cv__info__02 span {
	display: inline-block;
}
.cv__info .cv__info__02 span:nth-of-type(1) {
	width: 50%;
	padding-bottom: 1em;
}
.cv__info .cv__info__02 span:nth-of-type(2) {
	width: 74%;
}
.cv__info .cv__info__03 {
	width: 42%;
	margin: 0 auto 0;
	padding-right: 20%;
	padding-bottom: 1em;
}
}

@media screen and (min-width : 768px) {
body {
	padding: 0;
}
.header--pcfix {
	z-index: 1000;
	position: relative;
	background: #56A0E7;
	padding-bottom: 1px;
}
.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}
.header .wrap {
	background: none;
}
.header h1 {
	display: block;
	font-size: 0.7em;
	padding: 8px 0;
}
.header h1,
.header p {
	display: block;
}
.header__logo {
	position: static;
	padding: 0;
	margin: 0 0 0 1%;
	min-height: 0;
	float: left;
	width: auto;
	background-size: auto 100%;
	text-align: left;
	display: flex;
	align-items: center;
	height: 3.45em;
}
.header__logo a {
	height: 3em;
}
.header__logo img {
	max-height: 2em;
	height: 3.2vw;
}

.contact li a {
	text-decoration: none;
	color: #fff;
	float: right;
}
.contact li.contact__mail a,
.contact li.contact__reserve a {
	display: block;
	margin: 1.3% 1% 1% 1%;
	padding: 0.5em 10px;
	letter-spacing: -1px;
	font-size: 13pt;
	border-radius: 3px;
	background: #9A6E3B;
}
.contact li.contact__line {
	display: none;
}
.contact li.contact__tel a {
	font-size: 2.7vw;
	margin: calc(1.25% + 0.5em) 0;
	padding: 0 0 0 1.4em;
	letter-spacing: 0.5px;
	font-family: sans-serif;
	font-weight: bold;
	line-height: 0.85;
	background: url("../img/header__tel__icon.png") no-repeat 0 0;
	background-size: auto 85%;
}
.contact li.contact__menu {
	display: none;
}
.form .contact li.contact__reserve,
.form .contact li.contact__mail {
		display: none;
}
.header .header__nav__btn {
	display: none;
}
.header .hm--sp {
	display: table !important;
}
.header .header__nav__menu {
clear: both;
	display: table;
	z-index: 10000;
	position: static;
	background: none;
	max-width: 1000px;
	margin: 0 auto 10px;
}
.header .header__nav__menu li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	line-height: 1.2;
}
.header .header__nav__menu li span {
	display: inline-block;
}
.header .header__nav__menu li:nth-child(1) { width: 24%;}
.header .header__nav__menu li:nth-child(2) { width: 24%;}
.header .header__nav__menu li:nth-child(3) { width: 18%;}
.header .header__nav__menu li:nth-child(4) { width: 16%;}
.header .header__nav__menu li:nth-child(5) { width: 18%;}
.header .header__nav__menu li a {
	border-bottom: none;
	width: auto;
	font-size: 0.8em;
	border-left: 1px solid #FFF;
	border-right: 1px solid #FFF;
	margin-left: -1px;
}
.header .header__nav__menu li:nth-child(1) a { 
	margin-left: 0;
	border-left: none;
}
.header .header__nav__menu li:nth-child(5) a {
	border-right: none;
}

.footer .pagetop {
	bottom: 40px;
}
.footer .pagetop a {
	width: 70px;
	height: 70px;
}
.footer .pagetop a::after {
	top: 20px;
	left: 20px;
	border-left-width: 15px;
	border-right-width: 15px;
	border-bottom-width: 25px;
}

.wrap {
	max-width: 1000px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.inner {
	padding-left: 10%;
	padding-right: 10%;
}
.sec h3.hl {
	background: url(../img/hl-bg.png) no-repeat 50% 100%;
	background-size: 145% auto;
	padding: 1em 0 2.5em;
}

.sec h3.hl span,
.sec h3.hl strong {
	display: block;
}
.sec h3.hl span img {
	height: 2.2em;
}
.sec h3.hl strong img {
	height: 2.9em;
	padding-bottom: 0.2em;
}
.sec h3.hl span.blueTxt {
	text-align: right;
	padding-right: 10.35em;
}
.sec h3.hl span.blueTxt img {
	height: 2.1em;
}


.sec .credit img,
.sec .credit img:nth-of-type(9) {
	height: 3.15vw;
	max-height: 1.78em;
}
.sec .credit span img {
	height: 3.5vw;
	max-height: 1.9em;
}

.cv__contact .cv__contact__btn,
.cv__line {
	width: 80%;
	max-width: 800px;
}
/* 安心保証制度 */
.cmn__mi {
	margin-top: 3em;
}
.cmn__mi::after {
	background-position: 100% 0;
}
.cmn__mi dt {
	width: 15em;
}
.cmn__mi dd p {
	font-size: 0.8em;
	margin-top: 2.2em;
}
.cmn__bnr {
	display: flex;
	justify-content: space-between;
}
.cmn__bnr p {
	width: max(48%, 380px);
	display: inline-block;
}

}

@media screen and (min-width : 1000px) {
.header__logo {
	margin-left: 0;
}
.contact li.contact__reserve a {
	margin-right: 0;
}
.contact li.contact__tel a {
	font-size: 20pt;
}
.header .header__nav__menu {
	width: calc(100% - 2px);
	border-left: 1px solid #FFF;
	border-right: 1px solid #FFF;
}
.header__logo {
	position: static;
	padding: 0;
	margin: 0 0 0 0;
	min-height: 0;
	float: left;
	width: auto;
	background-size: auto 100%;
	text-align: left;
	display: flex;
	align-items: center;
	height: 3.45em;
}
.header__logo a {
	height: 2.8em;
}
.header__logo img {
	max-height: 2em;
	height: 3.3vw;
}
}


/* ------------------------------------------------------------
	Style
------------------------------------------------------------ */
#mv {
	background: url(../img/mv_bg.jpg) no-repeat center center;
	background-size: 135% auto;
	text-align: left;
	padding: 0.5em 1% 0.5em;
	margin-bottom: 0;
	position: relative;
	overflow: hidden;
}
#mv .mv_image {
	position: absolute;
	right: -7.1em;
	top: -6.2em;
	z-index: 2;
	width: 18em;
}
#mv h2 {margin: auto;position: relative;z-index: 3;padding-bottom: 0.7em;}
#mv h2 span,#mv h2 strong {display: block;}
#mv h2 span img {
	width: 12em;
	margin-left: 1em;
}
#mv h2 strong img {
	width: 18em;
}
#mv .sub {
	color: #0076DD;
	font-size: 1.5em;
	text-align: center;
	line-height: 1.3;
	padding-bottom: 0.4em;
	position: relative;
	z-index: 3;
}
#mv .sub img {width: 92%;}
#mv ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding-bottom: 0.4em;
	position: relative;
	z-index: 3;
}
#mv ul li {width: 29%;margin: 0 0.35em;}
/* ------------------------------------------------------------*/
#sec__intro h3 {
	background: #56A0E9;
	padding: 0.8em 0;
	color: #fff;
	font-size: 1.25em;
}
#sec__intro .introPrice {
	width: 100%;
	margin: 0 auto;
	max-width: 450px;
	padding: 0.5em 0 0.5em;
}
#sec__intro .introPrice ul {width: 100%;}
#sec__intro .introPrice ul li {
	text-align: left;
	color: #001959;
	font-size: 1em;
	line-height: 1.8;
	letter-spacing: -0.07em;
	position: relative;
}
#sec__intro .introPrice ul li .red {
	color: #C11143;
	position: absolute;
	right: 0;
	top: -0.65em;
	font-size: 1.2em;
}
#sec__intro .introPrice ul li .red img {
	width: auto;
	height: 0.95em;
}
#sec__intro .introPrice ul li .kakko {letter-spacing: -0.6em;}
#sec__intro .introPrice ul li .red .en {font-size: 0.67em;}
#sec__intro .introPrice ul li .red .en .rels {letter-spacing: -0.07em;}
#sec__intro p.kome {letter-spacing: -0.02em;font-size: 0.82em;}
#sec__intro .sec__intro__menu {
	margin: 1.5em auto 3em;
	width: 16em;
}
#sec__intro .sec__intro__menu dt {
	 border: 1px solid #E9E9E9;
	 background: #FCFCFC;
	 font-size: 1.1em;
	 padding: 0.3em 0;
}
#sec__intro .sec__intro__menu dt::before {
	content: "";
	display: inline-block;
    width: 0;
    height: 0;
    border-left: 0.6em solid transparent;
    border-right: 0.6em solid transparent;
    border-top: 0.8em solid #333;
	vertical-align: text-top;
	margin: 0.15em 0.2em 0 0;
	line-height: 0;
}
#sec__intro .sec__intro__menu dd {
	 border-left: 1px solid #F3F3F3;
	 border-right: 1px solid #F3F3F3;
}
#sec__intro .sec__intro__menu dd li {
	border-bottom: 1px dotted #333;
}
#sec__intro .sec__intro__menu dd li a {
	display: block;
	text-align: left;
	padding: 0.3em 0 0.3em 6%;
	text-decoration: none;
}
#sec__intro .sec__intro__menu dd li a::before {
	content: "・";
}
/* ------------------------------------------------------------*/
.sec h3.iconAble {
	position: relative;
	width: 100%;
	margin: 0 auto 0.5em;
	padding: 0.7em 0 0.7em;
	color: #FFF;
	font-size: 1.28em;
	border-top: 0.2em solid #1849A2;
	background-color: #171C2F;
}
.sec h3.iconAble::before {
	content: "";
	position: absolute;
	top: -0.2em;
	left: 0;
	display: block;
	background: #6CA4EB;
	width: 50%;
	height: 0.2em;
	z-index: 2;
}
.sec h3.iconAble::after {
	content: "";
	position: absolute;
	top: -0.2em;
	right: 0;
	display: block;
	background: #1886E2;
	width: 50%;
	height: 0.2em;
	z-index: 2;
}
.sec h3.iconAble span {
	background: url(../img/bg_h3icon.png) no-repeat left center;
	background-size: 0.84em auto;
	padding: 0.7em 0 0.7em ;
	padding-left: 1.2em;
}
#sec__about .img_mnd {
	background: url(../img/bg_sec_img_about.jpg) no-repeat left center;
	background-size: 35% auto;
	text-align: right;
	max-width: 450px;
	margin: 0 auto 1em;
}
#sec__about .img_mnd img {
	width: 60%;
}
#sec__about .about {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#sec__about .about li {
	width: 48%;
	border: solid 1px #56A0E9;
	border-radius: 0.4em;
	margin-bottom: 0.8em;
}
#sec__about .about li h4 {
	background: url(../img/bg_about_h4.png) no-repeat 0.5em center;
	background-size: 1.8em auto;
	background-color: #56A0E9;
	padding: 0.3em 0 0.5em;
	margin-bottom: 0.4em;
}
#sec__about .about li h4 img {
	width: auto;
	height: 1.4em;
}
#sec__about .about li p {
	font-size: 1.1em;
	font-style: italic;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 0.4em;
}
#sec__about .about li p span {display: inline-block;}
.sec h3.llineImgtxt {
	border-left: 0.4em solid #56A0E9;
	padding-left: 0.5em;
	text-align: left;
	margin-bottom: 0.6em;
}
.sec h3.llineImgtxt img {
	width: auto;
	height: 1.16em;
	padding: 0.24em 0;
}
.summary {
	max-width: calc(800px - 2em);
	margin: 0 auto;
	padding: 0.9em 0.8em;
	background-color: #C7E7FE;
}
.summary p {
	background-color: #4498E9;
	margin: 0;
	text-align: center;
	line-height: 2.1;
	padding: 0.2em 0 1.1em;
}
.summary p span {
	border-bottom: dashed 1px #fff;
	display: inline-block;
}
.summary p span img {
	width: auto;
	height: 1.1em;
	padding: 0 0.1em 0.35em;
}
/* ------------------------------------------------------------*/
#sec__aboutMND figure figcaption {
	background-color: #56A0E9;
	border-radius: 1.5em;
	font-size: 1.18em;
	color: #fff;
	padding: 0.6em 0;
	text-align: center;
	width: 98%;
	margin: 0 auto;
}
#sec__aboutMND .compare {width: 100%;}
#sec__aboutMND .compare th {
	background-color: #DABEA0;
	color: #fff;
	vertical-align: middle;
}
#sec__aboutMND .compare th span {
	letter-spacing: 0.3em;
}
#sec__aboutMND .compare th,
#sec__aboutMND .compare td {border: solid 1px #A8A8A8;padding: 0.4em 0;}
#sec__aboutMND .compare td {font-size: 0.95em;padding: 0.95em 0;}
#sec__aboutMND .compare tr:nth-of-type(1)  th {background-color: #F4EBE3; width: 14.5%;}
#sec__aboutMND .compare tr:nth-of-type(1)  th:nth-of-type(2) {
	background-color: #171C2F;
	width: 28.5%;
	color: #fff;
	font-size: 0.8em;
	letter-spacing: -0.1em;
}
#sec__aboutMND .compare tr:nth-of-type(1)  th:nth-of-type(3) {
	background-color: #CD5359;
	width: 28.5%;
	color: #fff;
	font-size: 1em;
	letter-spacing: -0.01em;
}
#sec__aboutMND .compare tr:nth-of-type(1)  th:nth-of-type(4) {
	background-color: #4F8F6D;
	width: 28.5%;
	color: #fff;
	font-size: 1em;
	letter-spacing: -0.01em;
}
#sec__aboutMND .compare tr td:nth-of-type(1) {
	background-color: #EDF7FE;
	color: #0148B0;
}
.resolve {
	padding: 8.5em 0 0.3em;
	background: url(../img/bg_resolve.jpg) no-repeat left -4em;
	background-size: auto 140%;	
}
.resolve img {
	max-width: 450px;
	width: 85%;
	margin: 0 auto;
}
.afterImgslick {
	margin: 0 auto 1.2em;
	position: relative;
	max-width: 500px;
}
.afterImgslick .slick-list {
	margin: 0 1.3em;
}
.afterImgslick figure {
	margin: 0;
}
.afterImgslick figure img {
	width: 100%;
	max-width: 100%;
}
#sec__aboutMND .slick-arrow {
	position: absolute;
	font-size: 0;
	display: block;
	width: 50px;
	height: 50px;
	background: #0C1E49;
	top: calc(50% - 40px);
	border-radius: 50%;
	outline: none;
	border: none;
	cursor: pointer;
	z-index: 30;
}
#sec__aboutMND .slick-prev {
	left: 8px;
}
#sec__aboutMND .slick-prev.slick-disabled {
    visibility: hidden;
}
#sec__aboutMND .slick-next {
	right: 8px;
}
#sec__aboutMND .slick-arrow::after {

	position: absolute;
	content: "";
	display: block;
	top: calc(50% - 25px);
	width: 0px;
	height: 0px;
	border-style: solid;
}
#sec__aboutMND .slick-prev::after {
	background: url(../img/bg_arrowl.png) no-repeat center center;
	background-size: 24px auto;	
	width: 50px;
	height: 50px;
	content: "";
	border: none;
	left: -2px;
	/*
	left: calc(50% - 10px);
	border-color: transparent #808080 transparent transparent;
	border-width: 10px 15px 10px 0;
	*/
}
#sec__aboutMND .slick-next::after {
	background: url(../img/bg_arrowr.png) no-repeat center center;
	background-size: 24px auto;	
	width: 50px;
	height: 50px;
	content: "";
	border: none;
	right: -2px;
}
/* ------------------------------------------------------------*/
#sec__recommend h3.nstripe {
	background: #56A0E9;
	padding: 0.7em 0;
	color: #fff;
	font-size: 1.25em;
}
.sec .list {
	max-width: calc(800px - 6%);
	margin: 0 auto;
	padding: 0.1em 3% 1.2em;
	background-color: #FFFDFA;
}
.sec .list li {
	text-align: left;
	margin: 0.35em 0;
	padding-left: 0.2em;
}
.sec .list li img {
	width: auto;
	height: 1.2em;
}
.sec h3.smooth {
	background: url(../img/bg_smooth.gif) no-repeat center top;
	background-size: 100% 0.2em;	
	position: relative;
	width: 98%;
	max-width: 800px;
	margin: 0 auto 0.5em;
	padding: 0.8em 0 0.6em;
	color: #FFF;
	font-size: 1.28em;
	background-color: #171C2F;
	border-radius: 5em;
	overflow: hidden;
}
#sec__recommend .recommend01 {
	background: url(../img/sec_img_recommend01.jpg) no-repeat -0.5em top;
	background-size: 110% auto;	
	padding-top: 10.5em;
	max-width: 800px;
	margin: 0 auto;
}
/* ------------------------------------------------------------*/
#sec__flow .sec__flow__chart {
	position: relative;
}
#sec__flow .sec__flow__chart::after {
	content: "";
	position: absolute;
	left: 11%;
	top: 0;
	width: 2px;
	height: 98%;
	background: #56A0E9;
	z-index: -1;
}
#sec__flow .sec__flow__chart li figure {
	width: 37%;
	float: left;
	margin: 0 0 1.5em;
	background: #FFF;
}
#sec__flow .sec__flow__chart li figure img:nth-of-type(n + 2) {
	margin-top: 5%;
}
#sec__flow .sec__flow__chart li strong {
	display: block;
	background: #56A0E9;
	border-radius: 0 1em 1em 0;
	padding: 0.45em 0 0.45em 1.5%;
	color: #FFF;
	font-weight: normal;
	text-align: left;
	margin: 0 0 0.3em 37%;
	line-height: 1;
	font-size: 1.15em;
	letter-spacing: -0.02EM;
}
#sec__flow .sec__flow__chart li p {
	font-size: 0.88em;
	margin: 0 0 0 37%;
	padding: 0 0 0.5em 3%;
}
#sec__flow .sec__flow__chart li p span {color: #0076DD;}
#sec__flow .sec__flow__chart li:last-of-type {
	background: #FFF;
}
#sec__flow .sec__flow__chart:nth-of-type(2) {
	border-top: 1px solid #6ca2ea;
	border-bottom: 1px solid #6ca2ea;
	padding: 1em 0 0.5em;
	margin: 1em auto 2em;
	background: #FFF;
}
#sec__flow .flowlast {
	background-color: #59A6E9;
	border-radius: 0.3em;
	max-width: 600px;
	margin: 0 auto;
	padding: 0.55em 0.5em;
}
#sec__flow .flowlast p {
	border: solid 1px #fff;
	border-radius: 0.3em;
	margin-bottom: 0;
	padding: 0.5em 0;
	text-align: center;
	color: #fff;
}
#sec__flow .flowlast p span {display: inline-block;}
/* ------------------------------------------------------------*/
#sec__faq {
	margin-bottom: 50px;
}
#sec__faq .sec__faq__list {
	text-align: justify;
	border-bottom: 1px solid #80828C;
	padding-bottom: 1.5em;
	margin-bottom: 1.5em;
}
#sec__faq .sec__faq__list dt {
	background: url(../img/sec__faq__list--icon.png) 2% 0.45em no-repeat #559DE4;
	background-size: 1.3em auto;
	color: #FFF;
	padding: 0.5em 3.5% 0.5em calc(1.3em + 3.5%);
	margin-bottom: 0.5em;
	line-height: 1.3;
}
#sec__faq .sec__faq__list dt span {
	display: inline-block;
}
#sec__faq .sec__faq__list dd {
	padding-bottom: 1.5em;
}
#sec__faq .sec__faq__list dd:last-of-type {
	padding-bottom: 0;
}
/* ------------------------------------------------------------*/
#sec__fee table {width: 100%; color: #333333;}
#sec__fee table tr:nth-of-type(2n) {background-color: #F5FAFF;}
#sec__fee .freefee {margin-bottom: 0.5em;}
#sec__fee .freefee th {
	width: 80%;
	border: solid 1px #C3C4C5;
	padding: 0.5em 0.5em;
	text-align: left;
}
#sec__fee .freefee td {
	width: 20%;
	border: solid 1px #C3C4C5;
	padding: 0.5em 0.5em;
	text-align: center;
}
#sec__fee .partsfee {margin-bottom: 0.5em;}
#sec__fee .partsfee th {
	width: 57%;
	border: solid 1px #C3C4C5;
	padding: 0.5em 0 0.5em 0.5em;
	text-align: left;
}
#sec__fee .partsfee tr td:nth-of-type(1) {
	width: 31%;
	border: solid 1px #C3C4C5;
	padding: 0.5em 0.5em;
	text-align: right;
}
#sec__fee .partsfee tr td:nth-of-type(1) span {font-size: 0.73em;}
#sec__fee .partsfee tr td:nth-of-type(2) {
	width: 12%;
	border: solid 1px #C3C4C5;
	padding: 0.5em 0.5em;
	text-align: center;
}
#sec__fee .masui tr th,
#sec__fee .masui tr td {
	vertical-align: middle;
	background: #FFF !important;
}


#sec__fee th.ls {letter-spacing: -0.1em;}
#sec__fee p.ls {letter-spacing: -0.02em;}
.paybox {
	margin: 0 auto 1.5em;
	margin-top: 15px;
	max-width: 800px;
	padding-left: 1%;
	padding-right: 1%;
}
.paybox dt {
	background: #CEB9A3;
	border-radius: 8px 8px 0 0;
	padding: 0.3em 0 0.2em;
	color: #fff;
	font-size: 1.15em;
}
.paybox dt.feeblock {
	background: #CEB9A3;
	border-radius: 8px 8px 0 0;
	padding: 0.8em 0 0.6em;
	color: #fff;
	font-size: 0.9em;
}
.paybox dd {
	text-align: left;
	padding: 0.5em 12px;
	border-radius: 0 0 8px 8px;
	border: 1px solid #CEB9A3;
	font-size: 1em;
}
.paybox .paybox__list li {
	display: inline;
	position: relative;
	line-height: 1.4;
	padding: 0;
}
.sec .paybox .paybox__list li:nth-of-type(1) {
	margin-right: 0.5em;
}
.paybox .paybox__list li::before {
	content: "";
	display: inline-block;
	width: 0.7em;
	height: 0.7em;
	border-radius: 50%;
	background: #CEB9A3;
	margin: 0.4em 0.2em 0 0;
	vertical-align: top;
}
.paybox dd .paybox__list li p {
	margin: 0.2em 0 0;
	font-size: 0.8em;
}
.paybox__credit {
	margin-bottom: 0.4em;
}
.paybox .paybox__credit img {
	height: 1.32em;
	margin: 0.2em 0.05%;
}
.sec .paybox__credit img:nth-child(n + 10) {
	height: 1.38em;
}
#sec__fee h4 {
	color: #333;
	font-size: 1.15em;
	margin-bottom: 0.5em;
}
#sec__fee .feelast {
	background-color: #CFB8A3;
	border-radius: 0.3em;
	max-width: 600px;
	margin: 0 auto;
	padding: 0.55em 0.5em;
}
#sec__fee .feelast p {
	border: solid 1px #fff;
	border-radius: 0.3em;
	margin-bottom: 0;
	padding: 0.5em 0;
	text-align: center;
	color: #fff;
}
/* ------------------------------------------------------------*/
#sec__info h3.clinic {
	background: url(../img/hl-bg.png) no-repeat 50% 0;
	background-size: auto 100%;
	padding: 0.3em 0 1.4em;
	margin: 0 auto 1em;
	position: relative;
	z-index: 3;
}
#sec__info h3.clinic span,
#sec__info h3.clinic strong {
	display: block;
}
#sec__info h3.clinic span img {
	height: 2.1em;
}
#sec__info h3.clinic strong img {
	height: 2.9em;
	padding-bottom: 0.2em;
}
#sec__info .sec__info__lead {
	background: url(../img/sec__info__lead--bg.jpg) no-repeat 80% 28% #F8F6F6;
	background-size: auto 133%;
	color:#2F3344;
	font-size: 1.05em;
	letter-spacing: -0.03em;
	text-align: center;
	padding: 4.3em 31% 3em 2%;
	margin: 0 auto 1em;
	line-height: 1.5;
	position: relative;
	margin-top: -4.6em;
	z-index: 2;
}
#sec__info .sec__info__lead span {
	display: inline-block;
	font-weight: 600;
}
#sec__info .sec__info__lead span.txt4 {
	padding-top: 0.4em;
}
#sec__info .sec__info__lead span.txt5 {
	position: absolute;
	display: block;
	left: calc(50% - 6.1em);
	bottom: 0.5em;
	width: 17em;
	letter-spacing: 0;
}
#sec__info .ls3 {letter-spacing: -0.1em;}
#sec__info .sec__info__dr {
	margin-bottom: 40px;
}
#sec__info .sec__info__dr dt {
	text-align: left;
	margin-bottom: 1em;
}
#sec__info .sec__info__dr dd p {
	letter-spacing: -0.02em;
	font-size: 0.95em;
}
#sec__info h4 {
	background: #56A0E9;
	color: #FFF;
	font-size: 1.45em;
	padding: 13.5px 0;
	margin-bottom: 1.5em;
}
#sec__info figure {max-width: 500px;}
#sec__info .sub {font-size: 1.12em;color: #0548A0;margin-bottom: 0.8em;font-weight: bold;}
#sec__info .ta--center {margin-bottom: 1.2em;font-size: 0.95em;}
#sec__info .ta--center span {display: inline-block;}
#sec__info .sec__info__gbtn {
	border: 1px solid #FFF;
	color: #FFF;
	text-decoration: none;
	display: block;
	padding: 0.8em 0;
	width: 85%;
	max-width: 600px;
	margin: 0.8em auto 3.8em;
	font-size: 1.2em;
	border-radius: 0.8em;
    filter: drop-shadow(0 3px 1px #C2A17B);
	background:url(../img/sec__info__gbtn.png), linear-gradient(0deg, rgba(194,162,123,1) 0%, rgba(194,162,123,1) 90%, rgba(219,194,163,1) 100%);
	background-position:calc(50% - 5.3em) 50%, 0 0;
	background-repeat: no-repeat, no-repeat;
    background-size: auto 50%, auto;
}
#sec__info .sec__info__gbtn::before,
#sec__info .sec__info__gbtn::after {
	content: "";
    display: block;
    position: absolute;
    top: calc(50% - 0.6em);
    right: calc(50% - 6.2em);
}
#sec__info .sec__info__gbtn::before {
	width: 1.2em;
    height: 1.2em;
    border-radius: 1em;
    background: rgba(255,255,255,0.3);
}
#sec__info .sec__info__gbtn::after {
	width: 0px;
    height: 0px;
    border-style: solid;
    border-color: transparent transparent transparent #FFF;
    border-width: 0.4em 0 0.4em 0.6em;
    margin: 0.2em 0.2em 0 0;
}
#sec__info .sec__info__clinic__logo {
	width: 65%;
	max-width: 300px;
	margin: 1em auto 1.2em;
}
#sec__info .sec__info__tbl {
	width: 100%;
	border-top: 1px solid #CCC;
	margin: 0 auto 2em;
}
#sec__info .sec__info__tbl th,
#sec__info .sec__info__tbl td {
	text-align: left;
	line-height: 1.6;
}
#sec__info .sec__info__tbl th {
	border-bottom: 1px solid #CCC;
	padding: 0.7em 0 0.8em 2%;
	width: 25%;
	text-align: justify;
	vertical-align: middle;
}
#sec__info .sec__info__tbl td {
	border-bottom: 1px solid #CCC;
	padding: 0.7em 2% 0.8em 1%;
	letter-spacing: -0.02em;
}
#sec__info .sec__info__tbl td a {
	text-decoration: none;
}
#sec__info .sec__info__tbl td span {
	display: inline-block;
}
#sec__info .sec__info__tbl td span.ls {
	letter-spacing: -0.05em;
}
#sec__info .sec__info__tbl th span.closed {
	letter-spacing: 0.5em;
}
#sec__info .sec__info__tbl th span.address {
	letter-spacing: 2em;
}
/* ================================================= */
.sec__tx__crsl {
	margin: 0 auto 1.2em;
	position: relative;
	max-width: 500px;
}
.sec__tx__crsl .slick-list {
	margin: 0 2.3em;
}
.sec__tx__crsl figure {
	margin: 0;
}
.sec__tx__crsl figure img {
	width: 100%;
	max-width: 100%;
}
#sec__info .slick-arrow {
	position: absolute;
	font-size: 0;
	display: block;
	width: 28px;
	height: 28px;
	background: #E7E7E7;
	top: calc(50% - 14px);
	border-radius: 50%;
	outline: none;
	border: none;
	cursor: pointer;
}
#sec__info .slick-prev {
	left: 0;
}
#sec__info .slick-next {
	right: 0;
}
#sec__info .slick-arrow::after {
	position: absolute;
	content: "";
	display: block;
	top: calc(50% - 10px);
	width: 0px;
	height: 0px;
	border-style: solid;
}
#sec__info .slick-prev::after {
	left: calc(50% - 10px);
	border-color: transparent #808080 transparent transparent;
	border-width: 10px 15px 10px 0;
}
#sec__info .slick-next::after {
	right: calc(50% - 10px);
	border-color: transparent transparent transparent #808080;
	border-width: 10px 0 10px 15px;
}
/* ================================================= */
#sec__info .lineTxt h4 {
	background: none;
	color: #1248A8;
	font-size: 1.06em;
	border-bottom: 1px dashed #C0BFBF;
	letter-spacing: -0.1em;
	text-align: left;
	padding-bottom: 0.4em;
	margin-bottom: 0;
}
#sec__info .lineTxt h4 span {
	letter-spacing: -0.13em;
}
#sec__info .lineTxt p {
	letter-spacing: -0.02em;
	text-align: left;
	line-height: 2;
	text-align: justify;
}
#sec__info .lineTxt p span {
	border-bottom: 1px dashed #C0BFBF;
	padding-bottom: 0.45em;
}








@media screen and (min-width : 600px) {
#mv {
	background: url(../img/mv__bg.jpg) no-repeat 50% 40%;
	background-size: 100% auto;
	padding: 0.5em 3%;
}
#mv h2 span img {
	width: 34%;
}
#mv h2 strong img {
	width: 50%;
}
#mv p {
	width: 19%;
}
#mv ul li {
	width: 20%;
}
#sec__info .sec__info__lead {
	max-width: calc(600px - 28%);
	background: url(../img/sec__info__lead--bg.jpg) no-repeat 80% 28% #F8F6F6;
	background-size: 110% auto;
	color:#2F3344;
	font-size: 1.05em;
	letter-spacing: -0.03em;
	text-align: center;
	padding: 2.3em 25% 4em 3%;
	margin: 0 auto 1em;
	line-height: 1.5;
	position: relative;
	margin-top:0;
	z-index: 2;
}
#sec__info .sec__info__lead span {
	display: inline-block;
	font-weight: 600;
}
#sec__info .sec__info__lead span.txt4 {
	padding-top: 1em;
}
#sec__info .sec__info__lead span.txt5 {
	position: absolute;
	display: block;
	left: calc(50% - 4em);
	bottom: 1em;
	width: 18em;
	letter-spacing: 0;
}
}

@media screen and (min-width : 768px) {
#mv {
	background: url(../img/mv_bg.jpg) no-repeat center center;
	background-size: 135% auto;
	text-align: left;
	padding: 0.5em 1% 0.5em;
	margin-bottom: 0;
	position: relative;
	overflow: hidden;
}
#mv .mv_image {
	position: absolute;
	right: 4em;
	top: -2.2em;
	z-index: 2;
	width: 18em;
}
#mv h2 {margin: auto;position: relative;z-index: 3;padding-bottom: 0.7em;}
#mv h2 span,#mv h2 strong {display: block;}
#mv h2 span img {
	width: 12em;
	margin-left: 1em;
}
#mv h2 strong img {
	width: 18em;
}
#mv .sub {
	color: #0076DD;
	font-size: 1.5em;
	text-align: center;
	padding-left: 0;
	line-height: 1.3;
	padding-bottom: 0.4em;
	position: relative;
	width: 60%;
	z-index: 3;
}
#mv .sub img {width: 90%;}
#mv ul {
	display: flex;
	justify-content: left;
	flex-wrap: wrap;
	padding-bottom: 0.4em;
	position: relative;
	z-index: 3;
}
#mv ul li {width: 18%;margin: 0 0.3em;}
/* ------------------------------------------------------------*/
#sec__about .about li {
	width: 24%;
	border: solid 1px #56A0E9;
	border-radius: 0.4em;
	margin-bottom: 0.8em;
}
#sec__about .about li h4 img {
	height: 1.25em;
}
#sec__about .about li p {
	font-size: 1em;
}
/* ------------------------------------------------------------*/
.sec .list li {
	width: 48%;
	margin: 0.35em 0;
	padding-left: 2%;
	float: left;
}
#sec__recommend .recommend01 {
	background: url(../img/sec_img_recommend01.jpg) no-repeat center top;
	background-size: 70% auto;	
	padding-top: 12.5em;
}
/* ------------------------------------------------------------*/
.resolve {
	padding: 8.5em 0 0.3em;
	background: url(../img/bg_resolve.jpg) no-repeat 55% -4em;
	background-size: auto 140%;	
}
.sec h3.smooth {
	width: 100%;
}
/* ------------------------------------------------------------*/
#sec__flow .sec__flow__chart li figure {
	width: 200px;
}
#sec__flow .sec__flow__chart li strong {
	margin-left: 200px;
}
#sec__flow .sec__flow__chart li p {
	margin: 0 3% 0 200px;
}
/* ------------------------------------------------------------*/
#sec__fee .sec__fee__tbl,
#sec__info .sec__info__tbl,
#sec__info figure:first-of-type {
	width: 100%;
	margin: 1em auto;
}
#sec__fee #sec__fee01 {
	margin-top: -130px;
	padding-top: 130px;
}
#sec__fee p.gf--nt {
	text-align: center;
	padding: 1em 3%;
}
/* ------------------------------------------------------------*/
#sec__info h3.clinic {
	background: url(../img/hl-bg.png) no-repeat 50% 100%;
	background-size: 145% auto;
	padding: 1.5em 0 2.5em;
}

#sec__info h3.clinic span,
#sec__info h3.clinic strong {
	display: block;
}
#sec__info h3.clinic span img {
	height: 2.2em;
}
#sec__info h3.clinic strong img {
	height: 2.9em;
	padding-top: 1em;
	padding-bottom: 0.2em;
}
#sec__info figure.sec__info__map {
	width: 100%;
	margin: 1em auto;
}
#sec__info .reki p:nth-of-type(1) {
	float: left;
	width: 52%;
}
#sec__info .reki p:nth-of-type(2) {
	float: left;
	width: 48%;
	padding-top: 1.55em;
}
}

@media screen and (min-width : 1000px) {
#mv {
	padding: 0.5em 100px;
	width: 800px;
}
}


/* Form ......................................... */
/*.form {
	padding-bottom: 0;
}*/
.form h3 {
	background: #6BA2EA;
	color: #FFF;
	font-size: 1.3em;
	padding: 0.6em 0;
}
.form figure.cal {max-width: 800px;width: 100%;}
.form figcaption {
	font-size: 0.9em;
	margin: 0.6em 0 1em;
}
.form figcaption span {
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	background: #F8D7E9;
	vertical-align: middle;
	margin: 0 5px 2px 0;
}
.form .header__nav {
	display: none;
}
.form section {
	padding-top: 10px;
}
.form .inner {
	text-align: center;
}
.form section p {
	margin: 1em 0;
	text-align: left;
}
.form section p span {
	display: inline-block;
}
.form section figure {
	margin: 1em auto;
	width: 84%;
}
.form .telbtn {
	text-align: center;
	margin: 2em auto 0;
}
.form .telbtn img {
	width: 86%;
	max-width: 400px;
}

.form__tbl {
	width: 100%;
	margin: 1em 0 1.5em;
	text-align: left;
}
.form__tbl caption {
	width: 70%;
	max-width: 300px;
	margin: 1em auto;
	background: #6BA2EA;
	color: #FFF;
	padding: 0.2em 0;
	border-radius: 1.5em;
	font-size: 1.2em;
}
.form__tbl th,
.form__tbl td {
	display: block;
	line-height: 1.6;
}
.form__tbl th {
	position: relative;
	padding: 1em 0 0 45px;
    border-top: 1px solid #333;
}
.form__tbl td {
	padding: 5px 0 1.2em 0;
}
.form__tbl th span {
    display: inline-block;
    width: 40px;
    height: 21px;
    font-size: 11px;
    text-align: center;
    line-height: 21px;
    color: #fff;
    vertical-align: middle;
	position: absolute;
	left: 0;
	margin-top: 0.1em;
}
.form__tbl th span.required {
    background-color: #177ED5;
}
.form__tbl th span.any {
    background-color: #808080;
}

.form__tbl input[type="text"],
.form__tbl input[type="number"],
.form__tbl input[type="tel"],
.form__tbl input[type="email"],
.form__tbl select,
.form__tbl textarea {
	border: solid 1px #333;
	box-shadow: none;
	border-radius: 0;
	padding: 10px 10px;
	margin: 5px 0;
	vertical-align: middle;
	font-size: 16px;
    -webkit-appearance: none;
	font-family: sans-serif;
}
.form__tbl input[type="number"] {
	width: 4.5em;
}
.form__tbl input[type="text"],
.form__tbl input[type="email"] {
	width: 90%;
}
.form__tbl input[type="tel"] {
	width: 50%;
}
.form__tbl input[type="checkbox"] {
	vertical-align: middle;
	line-height: 1;
	margin: 0;
	width: 1em;
	height: 1em;

	margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input[type="checkbox"] {
    cursor: pointer;
    padding-left: 2em;/*label手前にチェックボックス用の余白を開ける*/
    vertical-align: middle;
    position: relative;
}
input[type="checkbox"]::before,
input[type="checkbox"]::after {
    content: "";
    display: block; 
    position: absolute;
}
input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 0%;
    border: 1px solid #666;
    width: 18px;/*チェックボックスの横幅*/
    height: 18px;/*チェックボックスの縦幅*/
    transform: translateY(-50%);
    top: 40%;
    left: -0.75em;
}
input[type="checkbox"]::after {
    border-bottom: 3px solid #177ED5;/*チェックの太さ*/
    border-left: 3px solid #177ED5;/*チェックの太さ*/
    opacity: 0;/*チェック前は非表示*/
    height: 6px;/*チェックの高さ*/
    width: 11px;/*チェックの横幅*/
    transform: rotate(-45deg);
    top: -0.21em;/*チェック時の位置調整*/
    left: -0.45em;/*チェック時の位置調整*/
}
input[type="checkbox"]:checked::after {
    opacity: 1;/*チェック後表示*/
}
@media screen and (min-width : 768px) {
	input[type="checkbox"]::before {
		background-color: #fff;
		border-radius: 0%;
		border: 1px solid #666;
		width: 18px;/*チェックボックスの横幅*/
		height: 18px;/*チェックボックスの縦幅*/
		transform: translateY(-50%);
		top: 4px;
		left: -6px;
	}
	input[type="checkbox"]::after {
		border-bottom: 3px solid #177ED5;/*チェックの太さ*/
		border-left: 3px solid #177ED5;/*チェックの太さ*/
		opacity: 0;/*チェック前は非表示*/
		height: 6px;/*チェックの高さ*/
		width: 11px;/*チェックの横幅*/
		transform: rotate(-45deg);
		top: -0.21em;/*チェック時の位置調整*/
		left: -3px;/*チェック時の位置調整*/
	}
}
  
.form__tbl ::placeholder {
	color: #ccc;
}
.form__tbl textarea {
	width: 90% !important;
	height: 10em !important;
}
.form__tbl label {
	display: inline-block !important;
	border: none !important;
	padding: 0 !important;
	margin: 0.2em 20px 0.1em 0 !important;
	padding-left: 0.45em !important;
}

.form__btn {
    border: none;
	background: #1785E1;
    border-radius: 5px;
	margin: 2em auto 1em;
    display: inline-block;
/*    display: block;*/
    position: relative;
}
.form__btn input[type="submit"],
.form__btn a {
    display: block;
    border-radius: 2px;
    position: relative;
    background: none;
    border: none;
    color: #fff;
    padding: 0.5em 2.5em 0.5em 2em;
    z-index: 1;
    cursor: pointer;
    text-decoration: none;
    line-height: 1.5;
    box-shadow: none !important;
    text-shadow: none !important;
	font-size: 1.2em;
    -webkit-appearance: none;
}

.form__btn::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5em);
    left: calc(50% + 4.3em);
    display: inline-block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-color: transparent transparent transparent #FFF;
    border-width: 0.5em 0 0.5em 0.8em;
}
@media screen and (max-width : 767px) {
.form .contact li {
		width: 25%;
		text-indent: -9999px;
		position: fixed;
		bottom: 0;
		z-index: 100;
		display: none;
	}

}

/* default customize */
.mfp_ok {
    background-color: #FFF;
}
div.mfp_ok {
	display: none !important;
}
:focus {
	outline-color: #000;
}
form#mailformpro label.mfp_checked {
    border: none !important;
    background-color: #FFF !important;
    box-shadow: none !important;
}
.mfp_element_submit {
	text-shadow: none;
	margin: 0;
	width: auto;
}


/* privacy policy ............................... */
.pp section {
	padding-top: 10px;
}
.pp h3 {
	background: #6BA2EA;
	color: #FFF;
	font-size: 1.3em;
	padding: 0.6em 0;
}
.pp h4 {
}
.pp__list li {
	list-style: decimal;
	margin: 0 0 1.5em 30px;
	font-weight: bold;
}
.pp__list h4 {
	color: inherit;
	background: none;
	border-radius: 0;
	padding: 0;
	width: auto;
	text-align: left;
	margin: 1.5em 0 0.5em;
	font-size: 1.1em;
	font-weight: bold;
}
.pp__list p {
	margin: 0 0 1em -23px;
}


/* ------------------------------------------------------------
	Common
------------------------------------------------------------ */
.mb0 {margin-bottom: 0 !important;}
.mb05 {margin-bottom: 0.5em !important;}
.mb10 {margin-bottom: 1em !important;}
.mb15 {margin-bottom: 1.5em !important;}
.mb20 {margin-bottom: 2em !important;}
.mb25 {margin-bottom: 2.5em !important;}
.mb30 {margin-bottom: 3em !important;}
.mb35 {margin-bottom: 3.5em !important;}
.mt0 {margin-top: 0 !important;}
.mr05{margin-right: 0.5em;}
.ta--center { text-align: center !important;}
.ta--right { text-align: right !important;}

figure {max-width: 450px;margin: 0 auto;}
figure.w55 {width: 55%;}
figure.w60 {width: 60%;}
figure.w65 {width: 65%;}
figure.w70 {width: 70%;}
figure.w75 {width: 75%;}
figure.w80 {width: 80%;}
figure.w85 {width: 85%;}
figure.w90 {width: 90%;}
figure.w95 {width: 95%;}
.sec figure.wfigp img {width: 45%;}

.fs--ss {font-size: 0.85em;}
.fs--s {font-size: 0.88em;}
.fs--m {font-size: 0.9em;}
.fclr {color: #B22B46;}

.f--ls {letter-spacing: -0.03em;}
.clearfix::after,
.wrap::after,
.inner::after {
	content: "";
	display: block;
	clear: both;
}
.clearfix::before,
.wrap::before,
.inner::before {
	content: "";
	display: block;
	clear: both;
}
.clearfix,
.wrap,
.inner {
	display: block;
}
.gf--nt {font-family: 'Noto Serif JP', serif; font-weight: 700;}
.gf--sm {font-family: 'Shippori Mincho', serif;}

.f--filter {filter: drop-shadow(0 0 2px rgba(255,255,255,1))  drop-shadow(0 0 2px rgba(255,255,255,1))  drop-shadow(0 0 2px rgba(255,255,255,1))  drop-shadow(0 0 2px rgba(255,255,255,1));}

@media screen and (max-width : 767px) {/* PC only */
.pc { display: none !important;}
}
@media screen and (min-width : 768px) {/* SP only */
.sp { display: none !important; }
.imgfl figure {
	padding-bottom: 1.5em;
}
.imgfl figure {
	float: left;
	padding-right: 3%;
	width: 30% !important;
}
}