@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: #4D4D4D;
	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: auto;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
}
h1,h2,h3,h4,h5,h6 {
	line-height: 1;
}
p,ul,ol,dl,table {
	line-height: 1.5;
}
p {
	margin-bottom: 0.5em;
	text-align: justify;
}


/* ------------------------------------------------------------
	Layout
------------------------------------------------------------ */
body {
	font-size: 0.17rem;
	padding: 2.2em 0 4em;
}
.header {
	top: 0;
	width: 100%;
	left: 0;
	z-index: 100;
}
.header__logo {
	position: fixed;
	top: 0;
	width: 100%;
	left: 0;
	z-index: 100;
	background-color: #04101C;
}
.header__logo a {
	color: #fff;
	text-decoration: none;
}
.header__logo a img {
	width: auto;
}
.header .header__nav__menu li a {
	color: #fff;
	text-decoration: none;
	display: block;
	width: auto;
}
.header .header__sptxnav {
	display: none;
}
.footer {
	margin-top: 3em;
}
.footer small {
	display: block;
	color: #fff;
	background: #0E1A38;
	padding: 15px;
	font-size: 0.75em;
}
.footer small span {
	font-size: 1.7em;
	vertical-align: middle;
}

.footer .pagetop {
	position: fixed;
	bottom: 4em;
	right: 3%;
	width: 3em;
	height: 3em;
	text-indent: -9999px;
	z-index: 100;
}
.footer .pagetop a {
	outline: none;
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: rgba(196,196,196,0.2);
	text-decoration: none;
}
.footer .pagetop a::after {
	position: absolute;
	content: "";
	top: 0.6em;
	left: 0.8em;
	width: 0;
	height: 0;
	border-left: 0.7em solid transparent;
	border-right: 0.7em solid transparent;
	border-bottom: 1.3em solid #FFF;
}

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

@media screen and (max-width : 767px) {
.header h1,
.header p {
	display: none;
}
.header__logo a {
	height: 2.2em;
	display: flex;
	padding-left: 3%;
    align-items: center;
}
.header__logo a img {
	height: .9em;
}
.header__logo a span img {
	margin-left: .5em;
}
.header .header__nav__btn {
	position: fixed;
	right: 0;
	bottom: 0;
	border: none;
	padding: 0;
	background: #000E1F;
	display: block;
	font-size: 1em;
	width: 25%;
	height: 3.15em;
	cursor: pointer;
	color: #fff;
	outline: none;
	z-index: 100;
}
.header .header__nav__btn span {
	height: 100%;
	display: block;
	background: url(../img/header__nav__btn.png) no-repeat 50% 85%;
	background-size: auto .66em;
}
.header .header__nav__btn::before,
.header .header__nav__btn::after,
.header .header__nav__btn span::before {
	position: absolute;
	content: "";
	display: block;
	width: 1.6em;
	height: 1.5px;
	background: #fff;
	left: calc(50% - 0.8em);
}
.header .header__nav__btn::before {top: 0.6em;}
.header .header__nav__btn::after {top: 1.05em;}
.header .header__nav__btn span::before {top: 1.5em;}
.header .active::before {
	transform: rotate(45deg);
	top: 1.05em;
}
.header .active::after {
	transform: rotate(-45deg);
	top: 1.05em;
}
.header .active span::before {
	display: none;
}
.header .header__nav__menu {
	display: none;
	width: 100%;
	background: rgba(22,28,47,0.85);
	position: fixed;
	left: 0;
	bottom: 3.15em;
	text-align:  left;
	z-index: 200;
}
.header .header__nav__menu li a {
	color: #fff;
	text-decoration: none;
	display: block;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	padding: 0.8em 5%;
	cursor: pointer;
	letter-spacing: 0;
}
.header .header__nav__menu li:last-of-type a {
	border-bottom: none;
}
.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 a {
	background: #000E1F;
	height: 3.15em;
	display: flex;
	outline: none;
	background-size: auto 75%;
	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);
	color: #000E1F;
}
.header .header__sptxnav {
	display: block;
	position: fixed;
	width: 100%;
	left: 0;
	top: -100px;
}
.header .header__sptxnav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
	background: #161B30;
	padding: 0.5em 3%;
}
.header .header__sptxnav li {
	width: 31.5%;
}
.header .header__sptxnav li a {
	display: block;
	background: #133D87;
	color: #FFF;
	font-size: 1.05em;
	padding: 0.2em 0;
	border-radius: 1.5em;
	text-decoration: none;
}
.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
	z-index: 200;
}
}

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

}

@media screen and (min-width : 768px) {
body {
	padding: 0;
}
.header--pcfix {
	z-index: 1000;
	background: #161B30;
	padding-bottom: 1px;
}
.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}
.header .wrap {
	background: none;
}
.header h1 {
	font-size: 0.7em;
	padding: 8px 0;
}
.header__logo {
	position: static;
	padding: 0;
	margin: 1.7% 0 1.7% 1%;
	min-height: 0;
	float: left;
	width: auto;
	height: auto;
	background-size: auto 100%;
}
.header__logo a {
	display: inline;
	padding-left: 0;
}
.header__logo a img {
	height: min(3.4vw, 1.3em);
}
.header__logo a span img {
	height: 1em;
	margin-left: .5em;
}

.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;
	width: min(100%, 1000px);
	margin: 0 auto 10px;
	font-size: .8em;
}
.header .header__nav__menu li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	line-height: 1.2;
}
.header .header__nav__menu li:nth-of-type(n + 2) {
	border-left: 1px solid #FFF;
}
.header .header__nav__menu li a {
	padding: .6em 0;
}
.header .header__nav__menu li span {
	display: inline-block;
}

.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.2% 1% 0;
	padding: 5px 10px;
	letter-spacing: -1px;
	font-size: 13pt;
	border-radius: 3px;
	background: #1837B2;
}
.contact li.contact__tel a {
	display: block;
	background: url("../img/header__tel__icon.png") no-repeat;
	background-size: 100% auto;
	width: 3rem;
	height: 2rem;
	font-size: 0;
	margin: 2.35% 1% 0 0;
}
.form .contact li.contact__tel a {
	font-size: 18pt;
	margin: 1.5% 1% 0 0;
	width: auto;
	height: auto;
	padding: 0 0 0 1.5em;
	padding-top: 4px;
	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 100%;
	background-size: auto 85%;
}

.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%;
}
}

@media screen and (min-width : 1000px) {
.header__logo {
	margin-left: 0;
}
.header .header__nav__menu {
	border-left: 1px solid #FFF;
	border-right: 1px solid #FFF;
}
.contact li.contact__reserve a {
	margin-right: 0;
}
.contact li.contact__tel a {
	font-size: 18pt;
	margin: .7em 1% 0 0;
	width: auto;
	height: auto;
	padding: 0 0 0 1.5em;
	padding-top: 4px;
	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 100%;
	background-size: auto 85%;
}
}


/* -------------------------------------------------
	STYLE
------------------------------------------------- */
.cmn {
	margin-bottom: 3em;
}
.cmn__info {
	background: #0D1E41;
	padding: .6em 0 .8em;
	position: relative;
	margin-top: 4em;
}
.cmn__info p {
	position: relative;
	color: #FFF;
	border-bottom: 1px solid #FFF;
	margin: 0 0 .8em 2%;
	line-height: 1.4;
	font-size: 1em;
	text-align: center;
	padding: 0 0 .7em 5em;
}
.cmn__info p span {
	display: inline-block;
}
.cmn__info strong {
	color: #FFF;
	font-size: 1.2em;
}
.cmn__info p::after {
	position: absolute;
	content: "";
	background: url(../img/cmn__info--pic.png) no-repeat 0 100%;
	background-size: contain;
	display: block;
	width: 6em;
	height: 6.8em;
	left: -3px;
	bottom: 0;
}
.cmn__contact {
	background: #F5F5E9;
	padding: .3em 0;
}
.cmn__contact li {
	margin: .8em auto;
	width: min(90%, 800px);
}
.cmn__contact li img {
	width: auto;
	height: 1.7em;
	vertical-align: middle;
}
.cmn__contact li a {
	display: block;
	padding: .7em 0 .6em;
	border-radius: 3px;
	text-decoration: none;
}
.cmn__contact li span {
	display: block;
	color: #FFF;
	font-size: .85em;
	margin-top: .3em;
}
.cmn__contact .cmn__contact--mail a {
	border: 1px solid #2D5C56;
	background: rgb(4,83,49);
	background: linear-gradient(0deg, rgba(0,84,0,1) 0%, rgba(0,106,2,1) 33%, rgba(0,127,4,1) 50%, rgba(0,105,2,1) 66%, rgba(0,84,0,1) 100%);
}
.cmn__contact .cmn__contact--reserve a {
	border: 1px solid #003E7D;
	background: rgb(0,59,148);
	background: linear-gradient(0deg, rgba(0,59,148,1) 0%, rgba(0,71,179,1) 33%, rgba(0,84,212,1) 50%, rgba(0,72,180,1) 66%, rgba(0,59,148,1) 100%);
}
.cmn__contact .cmn__contact--tel a {
	border: 1px solid #0E142D;
	background: url(../img/cmn__contact--tel--bg.png) no-repeat 100% 100% #0E142D;
	padding: .7em 0 .3em;
}


.sec {
	overflow: hidden;
}
.sec img {
	width: auto;
    max-width: 100%;
}
.sec figure.fg--l {
	width: 90%;
}
.sec figure.fg--m {
	width: 60%;
}
.sec p {
	margin-bottom: 0.5em;
	text-align: justify;
	line-height: 1.6;
}
.sec figure {
	margin: 1em auto;
}

.sec h3 {
	position: relative;
	width: 100%;
	margin: 0 auto 2em;
	padding: 0.7em 0 0;
	color: #FFF;
	font-size: 1.1em;
	font-style: italic;
	border-top: 0.3em solid #1849A2;
}
.sec h3::before {
	content: "";
	position: absolute;
	top: -3.2em;
	left: -13%;
	display: block;
	background: #161C2F;
	border-radius: 0 0 100% 100%;
	width: 126%;
	height: 3em;
	transform: scale(1,5);
	z-index: -1;
}
.sec h3::after {
	content: "";
	width: 50%;
	height: 0.3em;
	position: absolute;
	top: -0.3em;
	left: 0;
	background: #4478D9;
}
.sec h3 strong {
	display: block;
	margin: 0.2em 0 0;
	font-style: italic;
	font-size: 1.9em;
}
.sec h4.gf--nt {
	background: #161C2F;
	color: #FFF;
	text-align: left;
	padding: 0.6em 3%;
	margin: 1em 0 0.5em;
	font-size: 1.2em;
}
.sec figure.sec__img {
	width: 84%;
	margin-top: -2.5em;
	position: relative;
	z-index: -2;
}
.sec .wdfull {
	margin-left: -3%;
	margin-right: -3%;
	width: 106%;
}
.sec .list {
	margin-bottom: 1em;
}
.sec .list li {
	text-align: left;
	background: url(../img/list--icon.png) no-repeat 0 0.25em;
	background-size: 1em auto;
	margin: 0.2em 0;
	padding-left: 1.3em;
}

.sec .txtbox {
	background: #557EC0;
	padding: 1em;
	width: calc(106% - 2em);
	margin: 1em -3%;
}
.sec .txtbox p {
	background: #1651A9;
	border: 1px solid #FFF;
	text-align: center;
	color: #FFF;
	margin: 0;
	padding: 0.6em 0;
}
.sec .txtbox span {
	display: inline-block;
}

.sec .price__tbl {
	width: 100%;
	margin: 0 auto 1em;
}
.sec .price__tbl caption {
	text-align: right;
	font-size: 0.8em;
	margin-top: -0.8em;
}
.sec .price__tbl th,
.sec .price__tbl td {
	border: 1px solid #020037;
	line-height: 1.3;
	vertical-align: middle;
}
.sec .price__tbl th {
	text-align: left;
	padding: 0.8em 2%;
}
.sec .price__tbl .clr {
	background: #F4FBFF !important;
}
.sec .price__tbl th span {
	display: inline-block;
}
.sec .price__tbl th span.f--small {
	display: block;
	margin-top: -0.1em;
}
.sec .price__tbl td {
	text-align: right;
	padding-right: 2%;
	width: 22%;
	min-width: 6.5em;
}
.sec .price__tbl td.ta--center {
	padding: 0;
	width: 40%;
}
.sec .price__tbl.price__tbl_m {
	margin-bottom: 1em;
}
.sec .price__tbl.price__tbl_m th {
	padding: 0;
	height: 2.5em;
}
.sec .price__tbl.price__tbl_m tr th:nth-of-type(1) {
	border-right: none;
	text-align: center;
	padding: 0;
	width: 3em;
}
.sec .price__tbl.price__tbl_m tr th:nth-of-type(2) {
	border-left: none;
	padding-right: 0;
}
.sec .price__tbl.price__tbl_m tr th:nth-of-type(3),
.sec .price__tbl.price__tbl_i th:nth-of-type(2) {
	width: 10%;
	min-width: 2.6em;
	letter-spacing: -0.05em;
	padding: 0 0.05em 0 0;
	text-align: center;
}
.sec .price__tbl.price__tbl_m tr:nth-of-type(even) th:nth-of-type(3),
.sec .price__tbl.price__tbl_i th:nth-of-type(2) {
	background: none;
}
.sec .price__tbl.price__tbl_m img {
	height: 2.2em;
	vertical-align: middle;
}
.sec .price__tbl.price__tbl_m th.img--l img {
	height: 3.3em;
}


.sec .price__tbl.price__tbl_m td {
	width: 22%;
	min-width: 4.9em;
	padding-right: 1%;
	padding-left: 0;
	letter-spacing: -.02em;
}
.sec .sec__txbnr_e {
	margin-left: -1.7%;
	width: 101.7%;
}

.sec .credit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 0.5em auto;
}
.sec .credit img {
    height: 1.5em;
    margin: 0.2em 0.4%;
}

.mv {
	margin: 0 auto 1em;
}
.pagelink {
	margin: 1.5em auto 2em;
	width: 70%;
	max-width: 400px;
}
.pagelink dt {
	background: #E5E4E4;
	border: 1px solid #D1CFCF;
	padding: 0.3em 0;
	font-size: 1.1em;
}
.pagelink dt::before {
	content: "";
    display: inline-block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-color: #0C172A transparent transparent transparent;
    border-width: 0.7em 0.6em 0 0.6em;
    margin: 0 0.2em 0.2em 0;
    vertical-align: middle;
}
.pagelink dd {
	background: #FCFCFC;
}
.pagelink li a {
	display: block;
	text-decoration: none;
	text-align: left;
	padding: 0.5em 3%;
	border-bottom: 1px dashed #ccc;
}
.pagelink li a::before {
	content: "・";
}
.sec .movie {
	max-width: 640px;
	margin: 3em auto 1em;
	width: 94%;
	height: 53vw;
	max-height: 360px;
}
.sec .movie video {
	width: 100%;
}
.sec .sec__hl {
	background: #161C2F;
	color: #FFF;
	text-align: left;
	padding: 0.6em 3%;
	margin: 0 0 0.5em;
	position: relative;
}
.sec .sec__hl::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;	
	width: 100%;
}
.sec .sec__hl:nth-of-type(1)::after {
	height: 100%;
	background: url(../img/sec__hl--bg-m.png) no-repeat calc(10.5em + 10%) 0.4em;
	background-size: auto 1.8em;
}
.sec .sec__hl:nth-of-type(2)::after {
	height: 120%;
	background: url(../img/sec__hl--bg-i.png) no-repeat 100% 100%;
	background-size: auto 100%;
}
.sec .sec__hl:nth-of-type(3)::after {
	height: 155%;
	bottom: -0.3em;
	background: url(../img/sec__hl--bg-e.png) no-repeat 95% 100%;
	background-size: auto 100%;
}
.sec .sec__hl span.gf--nt {
	font-size: 1.4em;
	margin-bottom: 0.4em;
}
.sec .sec__hl span {
	display: block;
	filter: drop-shadow(0 0 2px rgba(22,28,47,1))  drop-shadow(0 0 2px rgba(22,28,47,1))  drop-shadow(0 0 2px rgba(22,28,47,1))  drop-shadow(0 0 2px rgba(22,28,47,1));
	position: relative;
	z-index: 10;
}
.sec .linkbtn {
	display: block;
	background: #1C56AF;
	color: #FFF;
	font-size: 1.2em;
	text-decoration: none;
	padding: 0.7em 0;
	width: 90%;
	max-width: 400px;
	margin:  0.7em auto 2.5em;
	border-radius: 1.5em;
}

#sec__medicine h4 {
	color: #1849A2;
	font-weight: bold;
	line-height: 1.5;
	margin-top: 1em;
}
#sec__medicine h4 span {
	display: inline-block;
	font-weight: bold;
}
#sec__medicine .sec__medicine__pt li {
	float: left;
	width: 32.4%;
	background: #1C56AF;
	border-radius: 0.2em;
	color: #FFF;
	letter-spacing: -0.05em;
	padding: 0.3em 0 0.8em;
	margin: 0 1.4% 1.4% 0;
	position: relative;
}
#sec__medicine .sec__medicine__pt li::after {
	content: "";
	position: absolute;
	display: block;
	left: 0.2em;
	top: 0.2em;
	width: calc(100% - 2px - 0.4em);
	height: calc(100% - 2px - 0.4em);
	border: 1px solid #FFF;
	border-radius: 0.2em;
}
#sec__medicine .sec__medicine__pt li:nth-of-type(3n) {
	margin-right: 0;
}
#sec__medicine .sec__medicine__pt li span {
	display: inline-block;
	border-bottom: 1px solid #FFF;
	padding-bottom: 0.2em;
	font-size: 0.65em;
}
#sec__medicine .sec__medicine__pt li strong {
	font-size: 1.1em;
	display: block;
}
#sec__medicine .sec__medicine__step dt {
	position: relative;
	background: #161C2F;
	color: #FFF;
	font-size: 1.2em;
	padding: 0.3em 0 0.3em 2em;
	margin: 1.5em auto 0.5em;
	border-radius: 1.5em;
	width: calc(86% - 2em);
}
#sec__medicine .sec__medicine__step dt img {
	position: absolute;
	height: 3em;
	left: 0;
	top: calc(50% - 1.5em);
}
#sec__medicine .sec__medicine__step figure {
	margin: 0 auto 0.7em;
	width: 60%;
}
#sec__ici .sec--bg {
	padding-bottom: 9em;
	background-image: url(../img/sec__ici--bg02.png), url(../img/sec__ici--bg01.png), url(../img/sec__ici--bg03.png);
	background-position: 53% 100%, 0% 100%, 102% 100%;
	background-size: auto 8em;
	background-repeat: no-repeat;
}
#sec__edmax .sec--bg {
	padding-bottom: 9.5em;
	background-image: url(../img/sec__edmax--bg01.png), url(../img/sec__edmax--bg03.png), url(../img/sec__edmax--bg02.png);
	background-position: -3% 100%, 104% 100%, 53% 100%;
	background-size: auto 9.2em;
	background-repeat: no-repeat;
}
#sec__edmax .sec__edmax__merit li {
	background: #EAF2FF;
	margin-bottom: 1em;
	padding: 0 0 0.3em;
}
#sec__edmax .sec__edmax__merit li p {
	text-align: center;
}
#sec__edmax .sec__edmax__merit li span {
	display: inline-block;
	padding: 0 2% 0.4em;
	border-bottom: 2px solid #003C7F;
}
#sec__edmax .sec__edmax__merit li span img {
	height: 0.8em;
}
#sec__edmax .sec__edmax__merit li strong {
	display: block;
	color: #0046A3;
	font-size: 1.2em;
	margin: 0.3em auto;
}
#sec__edmax .sec__edmax__achievement {
	background: #012332;
	margin: 1.5em auto 2em;
	padding: 0 4% 0.1em;
	color: #FFF;
}
#sec__edmax .sec__edmax__achievement h5 {
	text-align: center;
	font-size: 1.3em;
	padding-top: 0.5em;
	margin-bottom: 0.5em;
	line-height: 1.8;
}
#sec__edmax .sec__edmax__achievement h5 strong {
	display: inline-block;
	border-bottom: 1px solid #FFF;
}
#sec__edmax .sec__edmax__achievement h5 span {
	font-size: 0.7em;
}
#sec__edmax .sec__edmax__mechanism li:nth-of-type(n + 2) {
	margin-top: 3em;
	position: relative;
}
#sec__edmax .sec__edmax__mechanism li:nth-of-type(n + 2)::before {
	content: "";
	position: absolute;
	display: inline-block;
	left: calc(50% - 1.5em);
	top: -2.2em;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-color: #A37C52 transparent transparent transparent;
	border-width: 1.5em 1.5em 0 1.5em;
}
#sec__edmax .sec__edmax__mechanism li strong {
	display: block;
	background: #1C56AF;
	color: #FFF;
	padding: 0.3em;
}
#sec__edmax .sec__edmax__mechanism li figure {
	width: 55%;
}
#sec__edmax .sec__edmax__schedule {
	display: block;
	width: 80%;
	margin: 1em auto;
}
#sec__edmax .sec__edmax__schedule tbody {
	display: block;
    width: 100%;
}
#sec__edmax .sec__edmax__schedule tr {
	display: block;
    width: 100%;
	border: 1px solid #002333;
}
#sec__edmax .sec__edmax__schedule tr:nth-of-type(n + 2) {
	margin-top: 1.8em;
}
#sec__edmax .sec__edmax__schedule th {
    background: #002333;
    width: 40%;
    float: left;
    padding: 0.4em 0;
    color: #FFF;
    position: relative;
}
#sec__edmax .sec__edmax__schedule th::after {
	position: absolute;
    content: "";
    display: inline-block;
    left: calc(50% - 1.4em);
    bottom: -1.3em;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-color: #012332 transparent transparent transparent;
    border-width: 1.3em 1.4em 0 1.4em;
}
#sec__edmax .sec__edmax__schedule tr:last-of-type th::after {
	display: none;
}
#sec__edmax .sec__edmax__schedule td {
	background: #DDEDF5;
	float: right;
    text-align: left;
    width: 50%;
    padding: 0.4em 5% 0.4em 5%;
    color: #002333;
}
#sec__edmax .sec__edmax__schedule__total {
	background: #99012B;
	color: #FFF;
	display: block;
	margin: 1em auto;
	font-size: 1.2em;
	padding: 0.7em 0;
	border-radius: 0.7em;
	width: 94%;
	max-width: 640px;
}
#sec__flow .sec__flow__step {
	margin: 3em auto 0;
}
#sec__flow .sec__flow__step li {
	border: 1px solid #171C2F;
	margin-bottom: 1em;
	padding: 0 3% 0.3em;
}
#sec__flow .sec__flow__step li span {
	display: inline-block;
	padding: 0 2% 0.4em;
	border-bottom: 2px solid #003C7F;
}
#sec__flow .sec__flow__step li span img {
	height: 0.8em;
}
#sec__flow .sec__flow__step li strong {
	display: block;
	color: #0046A3;
	font-size: 1.2em;
	margin: 0.3em auto;
}
#sec__flow .sec__flow__step li figure {
	margin: 0.5em auto 0.8em;
	width: 65%;
}
#sec__flow .sec__flow__step li:last-of-type figure {
	width: 94%;
}
#sec__flow .credit {
	font-size: 0.95em;
}
#sec__flow .sec__flow__after {
	margin: 1em 0 2.5em;
}
#sec__flow .sec__flow__after dt {
	color: #FFF;
	font-size: 1.2em;
	background: #1C56AF;
	padding: 0.2em 0 0.2em 2%;
	margin-bottom: 0.3em;
	text-align: left;
	border-radius: 0 1em 1em 0;
	float: right;
	width: 70%;
}
#sec__flow .sec__flow__after dd figure {
	width: 28%;
	float: left;
	margin: 0;
}
#sec__flow .sec__flow__after dd p {
	margin: 0 0 0 30%;
}
#sec__price h3 {
	margin-bottom: 3em;
}
#sec__price  .sec__txbnr {
	margin-top: 1.5em;
}
#sec__faq {
	margin-bottom: 3em;
}
#sec__faq h3 {
	margin-bottom: 2.8em;
}
#sec__faq h4 {
	background: #1C56AF;
	color: #FFF;
	font-size: 1.2em;
	padding: 0.4em 0;
	width: 75%;
	max-width: 400px;
	margin: auto;
	border-radius: 1em;
}
#sec__faq .sec__faq__list {
	text-align: justify;
}
#sec__faq .sec__faq__list dt {
	padding: 0.8em 0 0.3em calc(2em + 2%);
	color: #003079;
	font-weight: bold;
	background: url(../img/sec__faq__list--iconq.png) no-repeat 2% 0.95em;
	background-size: 1.2em auto;
}
#sec__faq .sec__faq__list dd {
	border-bottom: 1px solid #003079;
	padding: 0 2% 0.8em calc(2em + 2%);
	background: url(../img/sec__faq__list--icona.png) no-repeat 2% 0.15em;
	background-size: 1.2em auto;
}

#sec__info figure.sec__img {
	width: 100%;
	margin-top: -2.5em;
}
#sec__info h4 {
	background: #0E1A38;
	color: #FFF;
	font-size: 1.2em;
	padding: .5em 0;
	border-radius: 1.5em;
	margin: 2em auto .8em;
	width: 60%;	
}
#sec__info .sec__info__tbl {
	margin-top: 1em;
	border-bottom: 1px solid #989898;
}
#sec__info .sec__info__tbl th,
#sec__info .sec__info__tbl td {
	display: block;
	text-align: left;
	padding: 0 3%;
}
#sec__info .sec__info__tbl tr {
	display: block;
	border-top: 1px solid #989898;
	padding-top: .5em;
}
#sec__info .sec__info__tbl td {
	padding-bottom: .5em;
}
#sec__info .ta--center strong {
	color: #1e3583;
	font-size: 1.05em;
}
#sec__info .sec__access__btn {
	display: block;
	width: min(90%, 500px);
	border-radius: 0.8em;
	border-bottom: solid 1px #E1D3C1;
	box-shadow: 0px 2px 2.5px #C2B19B;
	background: linear-gradient( #F9F4EF, #C5A47A 6% );
	color: #fff;
	font-size: 1.2em;
	padding: 0.9em 1em 0.8em 0;
	text-decoration: none;
	margin: 1.5em auto 2.5em;
	position: relative;
}
#sec__info .sec__access__btn span {
	position: relative;
	padding: 0.5em 1.8em;
	background: url(../img/logo--google_point.png) no-repeat left center;
	background-size: 1.6em auto;
}
#sec__info .sec__access__btn span::before,
#sec__info .sec__access__btn span::after {
	position: absolute;
	content: "";
	display: inline-block;
}
#sec__info .sec__access__btn span::before {
	width: 1.3em;
	height: 1.3em;
	border-radius: 50%;
	background: rgba(255,255,255,0.3);
	top: calc(50% - 0.65em);
	right: 0.2em;
}
#sec__info .sec__access__btn span::after {
	top: calc(50% - 0.4em);
	right: 0.5em;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	border-width: 0.4em 0 0.4em 0.6em;
}
#sec__info .sec__info__photo {
	width: 80%;
	margin: auto;
}


@media screen and (max-width : 767px) {
#sec__faq .sec__faq__list {
	margin: 0 2% 2em;
}
#sec__info div.clearfix p:nth-of-type(1) {
	letter-spacing: -.02em;
}
#sec__info .sec__info__tbl td {
	letter-spacing: -.01em;
	padding-right: 0;
}

}

@media screen and (min-width : 600px) {
.cmn__info p {
	padding: 0 7em .7em;
}
.sec h3::before {
	top: -4em;
}
.slick-list {
	margin: auto;
	position: relative;
}
.slick-list::before,
.slick-list::after {
	content: "";
	display: block;
	position: absolute;
	background: #FFF;
	width: 15%;
	height: 100%;
	top: 0;
	z-index: 100;
}
.slick-list::before {
	left: 0;
	background: linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 50%);
}
.slick-list::after {
	right: 0;
	background: linear-gradient(to left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 50%);
}
.slick-slide {
	opacity: 0.5;
    transition: all 500ms ease;
}
.slick-center {
    opacity: 1;
}

.sec .credit {
	max-width: 25em;
}
.sec .credit img {
	height: 1.8em;
}
.sec figure.sec__img {
	margin-top: -4.5em;
}

#sec__ici .sec--bg {
	padding-bottom: 10em;
	background-image: url(../img/sec__ici--bg02.png), url(../img/sec__ici--bg01.png), url(../img/sec__ici--bg03.png);
	background-position: calc(50% + 1em) 100%, calc(50% - 9em) 100%, calc(50% + 10em) 100%;
	background-size: auto 9em;
}
#sec__edmax .sec--bg {
	padding-bottom: 11em;
	background-image: url(../img/sec__edmax--bg01.png), url(../img/sec__edmax--bg03.png), url(../img/sec__edmax--bg02.png);
	background-position: calc(50% - 9.5em) 100%, calc(50% + 10em) 100%, calc(50% + 0.5em) 100%;
	background-size: auto 10em;
}
#sec__info .sec__info__lead {
	background:  url(../img/sec__info__lead--ph.png) no-repeat 100% 60%, url(../img/sec__info__lead.jpg) no-repeat 50% 90%;
	background-size: auto 130%, 100% auto;
	font-size: 1.2em;
}
}

@media screen and (min-width : 768px) {
.cmn {
	font-size: 1.1em;
}
.cmn__info {
	margin-top: 10%;
}
.cmn__contact {
	padding: .5em 0;
}
.sec h3::before {
	left: -3%;
	display: block;
	background: #161C2F;
	border-radius: 0 0 100% 100%;
	width: 106%;
	height: 3em;
}
.sec h4.gf--nt {
	margin: 0 10% 0.5em;
}
.sec .wdfull {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.sec .list li {
	float: left;
	width: 45%;
	min-width: 20em;
}
.sec .txtbox {
	width: calc(100% - 2em);
	margin: 1em auto;
}
.sec .credit {
	max-width: none;
}
.sec .credit img {
	height: 2.5vw;
	max-height: 1.55em;
}
.sec .sec__hl {
	margin: 0 10% 0.5em;
}
.sec .price__tbl td.ta--center {
	width: 22%;
}
#sec__medicine .sec__medicine__pt li {
	width: 16%;
	margin: 0 0.8% 0.5em 0 !important;
	font-size: 2vw;
}
#sec__medicine .sec__medicine__pt li:last-of-type {
	margin-right: 0 !important;
}
#sec__medicine .sec__medicine__step dt {
	width: calc(100% - 2em);
	margin-bottom: 1em;
}
#sec__medicine .sec__medicine__step figure {
	margin: 0 auto 0.7em;
	margin: 0 3% 1em 0;
	width: 30%;
	float: left;
}
#sec__medicine .sec__medicine__step p {
	margin-left: 33%;
}
#sec__edmax .fg--m {
	float: right;
	width: 35%;
	margin: 0 0 1em 3%;
}
#sec__edmax .sec__edmax__achievement {
	margin: 1.5em 10% 2em;
	padding: 0 4% 1em;
}
#sec__flow .sec__flow__after dt {
	width: 85%;
}
#sec__flow .sec__flow__after dd figure {
	width: 13%;
}
#sec__flow .sec__flow__after dd p {
	margin: 0 0 0 15%;
}
#sec__flow .sec__flow__after dd p span {
	display: block;
}
#sec__faq .sec__faq__list {
	margin: 0 10% 2em;
}
#sec__info div.clearfix p:nth-of-type(1) {
	float: left;
	margin-right: 2em;
}
#sec__info h4 {
	width: 100%;	
}
#sec__info .sec__info__tbl th,
#sec__info .sec__info__tbl td {
	display: table-cell;
	padding: .5em 0 .5em 3%;
}
#sec__info .sec__info__tbl tr {
	display: table-row;
}
#sec__info .sec__info__photo {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
#sec__info .sec__info__photo figure {
	width: 32%;
	margin: .5em 0 1em;
}
}

@media screen and (min-width : 1000px) {
#sec__medicine .sec__medicine__pt li {
	font-size: 1em;
}
}


/* Form ......................................... */
.form {
	padding-bottom: 0;
}
.form .header__nav {
	display: none;
}
.form .inner {
	text-align: left;
}
.form section {
	padding-top: 10px;
}
.form section h3 {
	background: #0E1A38;
	color: #FFF;
	padding: 0.7em 0;
	font-size: 1.3em;
}
.form section p {
	margin: 1em 0;
}
.form section figure {
	margin: 1em auto;
	width: 84%;
	max-width: 400px;
}
.form .cmn__contact {
	background: none;
	padding: 0;
	text-align: center;
	margin: 1em auto;
	width: min(96%, 500px);
}
.form .cmn__contact .cmn__contact--tel a {
	background-color: #081F45;
	background-size: 2.8em auto;
	padding: .5em 0;
}
.form .cmn__contact li img {
	height: 1.5em;
}
.form .cmn__contact li span {
	font-size: .7em;
	margin-top: .5em;
}

.form__tbl {
	width: 100%;
	margin: 1em 0 1.5em;
}
.form__tbl caption  {
	width: 70%;
	margin: 1em auto 30px;
	background: #0449A0;
	color: #FFF;
	font-weight: bold;
	padding: 0.2em 0;
	border-radius: 1em;
	font-size: 1.1em;
}
.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 #505050;
}
.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: #1C56AF;
}
.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 #757575;
	border-radius: 0;
	box-shadow: none;
	padding: .7em .5em;
	margin: 5px 0;
	vertical-align: middle;
	font-size: 16px;
    -webkit-appearance: none;
}
.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;
}
.form__tbl ::placeholder {
	color: #ccc;
}
.form__tbl textarea {
	width: 90% !important;
	height: 8em !important;
}
.form__tbl label {
	display: block;
	border: none !important;
	padding: 0 !important;
	margin: 0.2em 20px 0.1em 0 !important;
}
.form__btn {
	text-align: center;
	margin: 0 auto;
}
.form__btn input,
.form__btn input:hover,
.form__btn a,
.form__btn a:hover {
	display: inline-block;
	border: none;
	border-radius: 5px; 
	background: #0449A0;
	color: #fff;
	margin: 1.5em auto;
	padding: .8em 40px;
	outline: none;
	cursor: pointer;
	text-decoration: none;
	font-size: 1em;
    -webkit-appearance: none;
}

@media screen and (max-width : 767px) {
.form .contact {
	display: none;
}
}


@media screen and (min-width : 768px) {
.form .contact__reserve,
.form .contact__mail {
	display: none;
}
}

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



/* privacy policy ............................... */
.pp section {
	padding-top: 10px;
}
.pp section h3 {
	background: #0E1A38;
	color: #FFF;
	padding: 0.7em 0;
	font-size: 1.3em;
}
.pp__list li {
	list-style: decimal;
	margin: 0 0 1.5em 30px;
	font-weight: bold;
}
.pp__list h4 {
	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;}
.mt0 {margin-top: 0 !important;}
.ta--center { text-align: center !important;}
.f--small { font-size: 0.8em !important;}
.dib {display: inline-block}

.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;}

.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; }
}
