.mv{ height: 500px; background-repeat: no-repeat; background-size: cover; background-position: center; position: relative; background-attachment: fixed; margin-bottom: 50px; }
.mv:after{ content: ''; width: 100%; height: 100%; position: absolute; top: 0; left: 0;
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); /* IE6-9 */ }
.mv.sample{ background-image: url(../images/dummy/mv01.jpg); }

main{ display: block; width: 800px; margin: 0 auto 100px; }
main > *:first-child,
main .side-img .content > *:first-child{ margin-top: 0 !important; }
main > *:last-child,
main .side-img .content > *:last-child,
main ul.list01 li dl dd > *:last-child{ margin-bottom: 0 !important; }

main h1{ font-size: 35px; font-weight: 700; text-align: center; line-height: 1.6; padding-bottom: 40px; background: url(../images/common/arrow01.png) no-repeat center bottom/16px; margin-bottom: 20px; }
main h1 span{ display: flex; justify-content: center; align-items: center; font-size: 13px; width: 205px; height: 55px; background: #232323; margin: 0 auto; transform: skewX(-20deg); position: relative; margin-bottom: 14px; }
main h1 span:after{ content: ''; width: 100%; height: 100%; border-right: solid 2px #232323; border-bottom: solid 2px #232323; position: absolute; right: -6px; bottom: -6px; }
main h1 span small{ transform: skew(20deg); }
main h1 + p{ font-size: 17px; max-width: 450px; margin: 0 auto 75px; line-height: 2; }

main h2{ font-size: 25px; font-weight: 700; background: #000f96; padding: .2em .8em; position: relative; margin: 120px 0 25px; }
main h2 span{ position: absolute; width: 0; height: 0; border-style: solid; border-width: 0 0 0 20px; border-color: transparent transparent #000 transparent; position: absolute; top: 0; right: 0; }
main h3:not([class]){ font-size: 25px; font-weight: 700; border-bottom: solid 8px #000f96; padding-bottom: .2em; margin: 70px 0 20px; }
main h3.table-ttl{ border-left: solid 13px; color: #0076f4; line-height: 1; padding-left: 20px;position: relative; margin: 70px 0 30px; } 
main h3.table-ttl span:not(.border){ font-size: 25px; font-weight: 700; }
main h3.table-ttl span.border{ height: 1px; background: #0076f4; position: absolute; top: 14px; right: 0; }
main h3.table-ttl small{ display: block; font-size: 13px; margin-top: 1em; }
main h4:not([class]){ font-size: 20px; font-weight: 700; display: table; background: #000f96; padding: .1em .8em; position: relative; margin: 50px 0 16px; }
main h4:not([class]) span{ width: 0; height: 0; border-style: solid; border-width: 0 0 0 18px; border-color: transparent transparent transparent #000f96; position: absolute; top: 0; right: -18px; }
main h4.table-sub{ background: #fff; color: #000; font-size: 20px; font-weight: 700; padding: .35em 1.5em; }
main h5{ font-size: 17px; font-weight: 700; color: #0076f4; position: relative; z-index: 0; margin: 30px 0 15px; }
main h5:after{ content: ''; width: 100%; height: 1px; background: #000f96; position: absolute; top: 50%; left: 0; transform: translateY(-50%); z-index: -1; }
main h5 span{ padding-right: 1em; background: #000; }
main h2 + *,
main h3 + *,
main h4 + *,
main h5 + *{ margin-top: 0 !important; }
main p{ line-height: 2; margin-bottom: 1em; }
main p span{ font-weight: 700; background:linear-gradient(transparent 70%, #505050 70%); }
main p strong{ font-weight: 700; color: #0076f4; }
main a.btn{ width: 100%; margin: 24px 0; }
main a.btn-small{ display: table; background: #505050; font-weight: 700; padding: .4em 2.2em .4em .8em; margin: 24px 0; position: relative; }
main a.btn-small:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: 4px 0 4px 12px; border-color: transparent transparent transparent #fff; position: absolute; top: 50%; right: .8em; transform: translateY(-50%); }

main .side-img{ display: flex; justify-content: space-between; margin: 50px 0; }
main .side-img .img{ width: 400px; }
main .side-img .content{ width: 360px; }

main ul.list01{ margin: 50px 0; }
main ul.list01 li{ padding: 30px; background: #232323; }
main ul.list01 li + li{ margin-top: 10px; }
main ul.list01 li.row{  }
main ul.list01 li.row .img{ width: 240px; }
main ul.list01 li.row .img img{ display: block; }
main ul.list01 li.row dl{ width: 460px; align-self: center; }
main ul.list01 li dl dt{ font-size: 17px; border-left: solid 1px #0076f4; padding-left: .8em; line-height: 1.6; font-weight: 700; }
main ul.list01 li dl dt + dd{ margin-top: 1em; }
main ul.list01 li dl dd{ line-height: 2; }

main ul.list02{ display: flex; flex-wrap: wrap; margin: 50px 0; }
main ul.list02 li{ width: 33.3333%; border: solid 1px #232323;  }
main ul.list02 li:nth-of-type(n+4){ margin-top: 10px; }
main ul.list02 li img{ display: block; width: 100%; }
main ul.list02 li dl{ padding: 24px 28px 28px; }
main ul.list02 li dl dt{ font-size: 20px; position: relative; font-weight: 700; text-align: center; line-height: 1.6; padding-bottom: .6em; margin-bottom: .6em; }
main ul.list02 li dl dt:after{ content: ''; width: 25px; height: 1px; background: #0076f4; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }

main table{ width: 100%; border: solid 1px; margin: 50px 0; }
main table th{ padding: 16px 24px; white-space: nowrap; width: 1px; position: relative; border-bottom: solid 1px; vertical-align: middle; }
main table th span:before{ content: ''; width: calc(100% - 16px); height: calc(100% - 16px); background: #323232; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }
main table td{ padding: 16px 24px; border-bottom: solid 1px; position: relative; vertical-align: middle; }
main table td span:before{ content: ''; width: calc(100% - 16px); height: calc(100% - 16px); background: #2b375b; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }

/*.news{ padding-top: 150px; }*/

.conditions dl {
    background: #232323;
    padding: 30px 0 25px;
    margin-bottom: 30px;
}
.conditions dl dt {
    font-size: 25px;
    font-weight: 700;
    text-align: center;
    padding-bottom: 26px;
    background: url(../images/index/arrow01.png) no-repeat bottom center/16px;
    margin-bottom: 15px;
}
.conditions dl dd {
    font-size: 17px;
    font-weight: 700;
    text-align: center;
}
.conditions table td {
	border-right: 1px solid;
}

.affliated-clinics {
	display:flex;
	justify-content: space-between;
    margin: 50px 0!important;
	flex-wrap:wrap;
}

main .affliated-clinics .img{ width: 400px; }
main .affliated-clinics .content{ width: 360px; }
.affliated-clinics .content table td{ padding: 16px 20px; border-bottom: solid 1px; position: relative; vertical-align: middle; font-size:13px;}
.affliated-clinics .content table th{ padding: 16px 24px; white-space: nowrap; width: 1px; position: relative; border-bottom: solid 1px; vertical-align: middle; font-size:12px;}
.affliated-clinics .content table td a {font-weight: 600;color: white;background: #001096;padding: 3px;}
.affliated-clinics .content h4 {margin-top:2vw;}
.affliated-clinics h3 {margin-top:0!important;}

.form-background {background-color:#fff; padding: 60px;}

.arhive-news-box{ width: 100vw; position: relative; left: 50%; transform: translateX(-50%); }