@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
pre,
textarea {
    overflow: auto;
}

.clearfix:after,
.contents-index .clinic .clinic__image:after,
.contents-index .clinic .clinic__producer .producer:after,
.contents-index .concept .acdo .concept__panel:after,
.contents-index .concept .invisalign .invisalign__panel:after,
.contents-index .news dl:after,
.contents-pages .contact .form dl:after,
.contents-pages .doctor .doctor__panel .panel--bottom:after,
.contents-pages .doctor .doctor__panel .panel--top:after,
.contents-pages .price .card .card__list.card__list--top:after,
.contents-pages .price .invisalign .plan li:after,
.contents-pages .price .invisalign:after,
.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right:after,
.contents-pages .system .system__panel:after,
.footer-nav ul:after,
.main-visual-mask:after,
.small-header .sub-nav ul:after {
    clear: both;
}

[hidden],
audio:not([controls]),
template {
    display: none;
}

details,
main,
summary {
    display: block;
}

input[type=number] {
    width: auto;
}

input[type=search] {
    -webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

progress {
    display: inline-block;
}

small {
    font-size: 75%;
}

textarea {
    resize: vertical;
}

[unselectable] {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

*,
::after,
::before {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    text-decoration: inherit;
    vertical-align: inherit;
    border-style: solid;
    border-width: 0;
}

* {
    margin: 0;
    padding: 0;
    cursor: inherit;
}

:root {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: default;
    font-family: sans-serif;
    line-height: 1.5em;
    text-rendering: optimizeLegibility;
    vertical-align: top;
}

.contents-index .clinic .clinic__gallery .bx-controls,
img {
    vertical-align: bottom;
}

.button-roll:before,
:root {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

a,
button,
input,
select,
textarea {
    cursor: initial;
}

button,
input,
select,
textarea {
    background: 0 0;
}

.contents .link a,
.header .global-nav ul li.global-nav__item--1,
.header .global-nav ul li.global-nav__item--2,
.header .global-nav ul li.global-nav__item--3,
.header .global-nav ul li.global-nav__item--4,
.header .global-nav ul li.global-nav__item--6,
.header .logo,
.small-header .header .logo,
.small-header .sub-nav ul li.sub-nav__item--1,
.small-header .sub-nav ul li.sub-nav__item--2,
.small-header .sub-nav ul li.sub-nav__item--3 {
    background-size: auto;
    background-repeat: no-repeat;
}

code,
kbd,
pre,
samp {
    font-family: monospace,monospace;
}

input {
    min-height: 1.5em;
}

li,
nav ol,
nav ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

::-moz-selection {
    background-color: #b3d4fc;
    text-shadow: none;
}

::selection {
    background-color: #b3d4fc;
    text-shadow: none;
}

@media screen {
    [hidden~=screen] {
        display: inherit;
    }

    [hidden~=screen]:not(:active):not(:focus):not(:target) {
        clip: rect(0 0 0 0)!important;
        position: absolute!important;
    }
}

.container,
.link a {
    position: relative;
}

.link a:after,
h2:after {
    content: " ";
    display: block;
    height: 1px;
}

body {
    min-width: 1000px;
    
	font-family: "Rounded Mplus 1p";
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
    background-color: #fff;
}

p {
    
	color: #333;
    font-size: 16px;
    line-height: 2.5;
    letter-spacing: 0.08em;
}

a {
    text-decoration: none;
}

img {
    pointer-events: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
}

h2,
h3,
h4 {
    font-size: 0;
    line-height: 1;
}

h2:after {
    width: 28px;
    background-color: #999;
    margin: 20px auto 16px;
}

.font-sans-serif {
    font-family: "Hiragino Kaku Gothic ProN",YuGothic,Meiryo,"メイリオ",sans-serif;
}

.container {
    width: 1000px;
    margin: 0 auto;
}

.link a:after {
    width: 0;
    background-color: #019dfa;
    position: absolute;
    bottom: -4px;
    left: 0;
    -webkit-transition: width 0.25s ease;
    transition: width 0.25s ease;
}

.link a:hover:after {
    width: 100%;
}

.viewport-sp .link a:after {
    display: none;
}

.clearfix:after,
.clearfix:before {
    content: " ";
    display: table;
}

.button-roll {
    position: relative;
    overflow: hidden;
}

.button-roll span {
    display: inline-block;
    -webkit-transform: translate3d(0,-10px,0);
    transform: translate3d(0,-10px,0);
    -webkit-transition: -webkit-transform 0.4s,opacity 0.4s;
    transition: transform 0.4s,opacity 0.4s;
    -webkit-transition-timing-function: cubic-bezier(.75,0,.125,1);
    transition-timing-function: cubic-bezier(.75,0,.125,1);
    opacity: 0;
}

.button-roll span,
.button-roll:before {
    -webkit-transition: -webkit-transform 0.4s,opacity 0.4s;
}

.button-roll:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    content: attr(data-hover);
    -webkit-transition: -webkit-transform 0.4s,opacity 0.4s;
    transition: transform 0.4s,opacity 0.4s;
    -webkit-transition-timing-function: cubic-bezier(.75,0,.125,1);
    transition-timing-function: cubic-bezier(.75,0,.125,1);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.button-roll:hover:before {
    -webkit-transform: translate3d(0,50%,0);
    transform: translate3d(0,50%,0);
    opacity: 0;
}

.button-roll:hover span {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    opacity: 1;
}

.button-roll:hover span:nth-child(1) {
    -webkit-transition-delay: 0.08s;
    transition-delay: 0.08s;
}

.button-roll:hover span:nth-child(2) {
    -webkit-transition-delay: 0.16s;
    transition-delay: 0.16s;
}

.button-roll:hover span:nth-child(3) {
    -webkit-transition-delay: 0.24s;
    transition-delay: 0.24s;
}

.button-roll:hover span:nth-child(4) {
    -webkit-transition-delay: 0.32s;
    transition-delay: 0.32s;
}

.button-roll:hover span:nth-child(5) {
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

.button-roll:hover span:nth-child(6) {
    -webkit-transition-delay: 0.48s;
    transition-delay: 0.48s;
}

.button-roll:hover span:nth-child(7) {
    -webkit-transition-delay: 0.56s;
    transition-delay: 0.56s;
}

.button-roll:hover span:nth-child(8) {
    -webkit-transition-delay: 0.64s;
    transition-delay: 0.64s;
}

.button-roll:hover span:nth-child(9) {
    -webkit-transition-delay: 0.72s;
    transition-delay: 0.72s;
}

.button-roll:hover span:nth-child(10) {
    -webkit-transition-delay: 0.8s;
    transition-delay: 0.8s;
}

.header {
    height: 175px;
    position: relative;
    z-index: 9999;
}

.header .logo {
    width: 164px;
    height: 118px;
    background-image: url("../img/common/logo.png");
    background-position: 0 0;
    overflow: hidden;
    text-indent: -9999px;
    position: absolute;
    top: 30px;
    left: 418px;
}

.header .logo a {
    display: block;
    height: 100%;
}

.header .global-nav ul li {
    height: 13px;
    position: absolute;
    top: 82px;
    text-indent: -9999px;
}

.header .global-nav ul li.global-nav__item--1 {
    width: 51px;
    left: 40px;
    background-image: url("../img/common/gnav_01.png");
    background-position: 0 0;
}

.header .global-nav ul li.global-nav__item--2 {
    width: 77px;
    left: 160px;
    background-image: url("../img/common/gnav_02.png");
    background-position: 0 0;
}

.header .global-nav ul li.global-nav__item--3 {
    width: 64px;
    left: 307px;
    background-image: url("../img/common/gnav_03.png");
    background-position: 0 0;
}

.header .global-nav ul li.global-nav__item--4 {
    width: 48px;
    left: 630px;
    background-image: url("../img/common/gnav_04.png");
    background-position: 0 0;
}

.header .global-nav ul li.global-nav__item--5 {
    width: 63px;
    left: 758px;
    background-image: url("../img/common/gnav_05.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: auto;
}

.header .global-nav ul li.global-nav__item--6 {
    width: 86px;
    left: 901px;
    background-image: url("../img/common/gnav_06.png");
    background-position: 0 0;
}

.header .global-nav ul li a {
    display: block;
    position: relative;
    overflow: hidden;
}

.header .global-nav ul li a:after {
    opacity: 0;
    content: " ";
    display: block;
    width: 0;
    height: 1px;
    background-color: #b1b1b1;
    margin: -5px auto 0;
    z-index: 1;
    -webkit-transition: all 0.25s cubic-bezier(.25,.1,.25,1);
    transition: all 0.25s cubic-bezier(.25,.1,.25,1);
}

.header .global-nav ul li a:hover:after {
    width: 100%;
    opacity: 1;
}

.viewport-sp .header .global-nav ul li a:after {
    display: none;
}

.small-header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transition: 0.75s all cubic-bezier(.165,.84,.44,1);
    transition: 0.75s all cubic-bezier(.165,.84,.44,1);
    opacity: 0;
    -webkit-transform: translate3d(0,-65px,0);
    transform: translate3d(0,-65px,0);
    background-color: rgba(255,255,255,.9);
    z-index: 25999;
}

.small-header.is-active,
.small-header.is-active .header .global-nav ul li,
.small-header.is-active .header .logo,
.small-header.is-active .sub-nav {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.small-header .header {
    height: 65px;
    z-index: 19999;
}

.small-header .header .logo {
    width: 46px;
    height: 50px;
    background-image: url("../img/common/logo_small.png");
    background-position: 0 0;
    overflow: hidden;
    text-indent: -9999px;
    position: absolute;
    top: 10px;
    left: 477px;
    -webkit-transform: translate3d(0,-80px,0);
    transform: translate3d(0,-80px,0);
    opacity: 0;
    -webkit-transition: all 0.5s cubic-bezier(.165,.84,.44,1) 0.25s;
    transition: all 0.5s cubic-bezier(.165,.84,.44,1) 0.25s;
}

.small-header .header .global-nav ul li {
    height: 13px;
    position: absolute;
    top: 26px;
    opacity: 0;
    -webkit-transition: all 0.5s cubic-bezier(.25,.1,.25,1) 0.35s;
    transition: all 0.5s cubic-bezier(.25,.1,.25,1) 0.35s;
}

.small-header .header .global-nav ul li.global-nav__item--1 {
    left: 106px;
}

.small-header .header .global-nav ul li.global-nav__item--2 {
    left: 220px;
}

.small-header .header .global-nav ul li.global-nav__item--3 {
    left: 357px;
}

.small-header .header .global-nav ul li.global-nav__item--4 {
    left: 580px;
}

.small-header .header .global-nav ul li.global-nav__item--5 {
    left: 698px;
}

.small-header .header .global-nav ul li.global-nav__item--6 {
    left: 831px;
}

.small-header .header .global-nav ul li a {
    display: block;
}

.small-header .sub-nav {
    height: 58px;
    -webkit-transition: 0.75s all cubic-bezier(.165,.84,.44,1);
    transition: 0.75s all cubic-bezier(.165,.84,.44,1);
    opacity: 0;
    -webkit-transform: translate3d(0,-58px,0);
    transform: translate3d(0,-58px,0);
}

.small-header .sub-nav ul {
    padding-left: 65px;
    padding-top: 20px;
}

.small-header .sub-nav ul:after,
.small-header .sub-nav ul:before {
    content: " ";
    display: table;
}

.small-header .sub-nav ul li {
    float: left;
    overflow: hidden;
    text-indent: -9999px;
    height: 18px;
    opacity: 0.5;
}

.small-header .sub-nav ul li.state-current {
    opacity: 1;
}

.small-header .sub-nav ul li a {
    display: block;
}

.contents-index .concept .acdo .concept__panel:after,
.contents-index .concept .acdo .concept__panel:before,
.contents-index .news dl:after,
.contents-index .news dl:before {
    content: " ";
    display: table;
}

.small-header .sub-nav ul li.sub-nav__item--1 {
    width: 433px;
    margin-right: 38px;
    background-image: url("../img/index/gnav_sub_01.png.html");
    background-position: 0 0;
}

.small-header .sub-nav ul li.sub-nav__item--2 {
    width: 198px;
    margin-right: 39px;
    background-image: url("../img/index/gnav_sub_02.png.html");
    background-position: 0 0;
}

.small-header .sub-nav ul li.sub-nav__item--3 {
    width: 162px;
    background-image: url("../img/index/gnav_sub_03.png.html");
    background-position: 0 0;
}

.contents {
    text-align: center;
}

.contents .link {
    text-align: right;
}

.contents .link a {
    padding-right: 14px;
    color: #019dfa;
    background-image: url("../img/common/icon_win.png");
    background-position: 100% 50%;
}

.contents-index .main-visual {
    width: 100%;
    height: 800px;
    position: relative;
    background-color: #fafbfd;
    overflow: hidden;
    -webkit-transition: all 1s cubic-bezier(.165,.84,.44,1);
    transition: all 1s cubic-bezier(.165,.84,.44,1);
}

.contents-index .main-visual .main-visual__image,
.contents-index .main-visual .main-visual__title {
    background-repeat: no-repeat;
    background-position: 50% 0;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}

.contents-index .main-visual.is-active .main-visual__read li img {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.contents-index .main-visual .main-visual__image {
    background-image: url("../img/index/mv_bg.jpg");
    background-size: auto;
    -webkit-transition: -webkit-transform 18.75s linear 1s,opacity 1s ease 3s;
    transition: transform 18.75s linear 1s,opacity 1s ease 3s;
    -webkit-transform: scale(1.25,1.25);
    -ms-transform: scale(1.25,1.25);
    transform: scale(1.25,1.25);
    opacity: 0;
}

.contents-index .main-visual .main-visual__image.is-active {
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
    opacity: 1;
}

.contents-index .main-visual .main-visual__title {
    background-image: url("../img/index/mv_ttl_01.png");
    background-size: contain;
}

.contents-index .main-visual .main-visual__read {
    width: 774px;
    margin: 0 auto;
    z-index: 1;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.contents-index .main-visual .main-visual__read li {
    overflow: hidden;
}

.contents-index .main-visual .main-visual__read li img {
    width: 100%;
    height: auto;
}

.contents-index .main-visual .main-visual__read li.main-visual__read--1 {
    margin-bottom: 57px;
}

.contents-index .main-visual .main-visual__read li.main-visual__read--1 img {
    -webkit-transition: all 1s cubic-bezier(.165,.84,.44,1);
    transition: all 1s cubic-bezier(.165,.84,.44,1);
}

.contents-index .main-visual .main-visual__read li.main-visual__read--2 {
    margin-bottom: 53px;
}

.contents-index .main-visual .main-visual__read li.main-visual__read--2 img {
    -webkit-transition: all 1s cubic-bezier(.165,.84,.44,1) 0.15s;
    transition: all 1s cubic-bezier(.165,.84,.44,1) 0.15s;
}

.contents-index .main-visual .main-visual__read li.main-visual__read--3 {
    margin-bottom: 57px;
}

.contents-index .main-visual .main-visual__read li.main-visual__read--3 img {
    -webkit-transition: all 1s cubic-bezier(.165,.84,.44,1) 0.3s;
    transition: all 1s cubic-bezier(.165,.84,.44,1) 0.3s;
}

.contents-index .main-visual .main-visual__read li.main-visual__read--4 img {
    -webkit-transition: all 1s cubic-bezier(.165,.84,.44,1) 0.45s;
    transition: all 1s cubic-bezier(.165,.84,.44,1) 0.45s;
}

.contents-index .main-visual .main-visual__read li.main-visual__read--5 {
    position: absolute;
    top: 40px;
    left: 0;
}

.contents-index .main-visual .main-visual__read li.main-visual__read--5 img {
    -webkit-transition: all 0.85s cubic-bezier(.165,.84,.44,1) 0.6s;
    transition: all 0.85s cubic-bezier(.165,.84,.44,1) 0.6s;
}

.contents-index .news {
    padding-top: 108px;
}

.contents-index .news ul {
    margin-top: 50px;
}

.contents-index .news ul li {
    background-color: #f9f9f9;
    margin-top: 5px;
    padding-top: 26px;
    padding-bottom: 24px;
}

.contents-index .news ul li:first-child {
    margin-top: 0;
}

.contents-index .news dl dd,
.contents-index .news dl dt {
    float: left;
    font-size: 18px;
    text-align: left;
}

.contents-index .news dl dt {
    color: #d5ad58;
    margin-right: 26px;
}

.contents-index .news dl dd {
    color: #727171;
    line-height: 1.6;
}

.contents-index .news dl dd a:hover {
    color: #d5ad58;
    text-decoration: underline;
}

.contents-index .concept {
    padding-top: 80px;
}

.contents-index .concept .concept__sub-title {
    padding-top: 22px;
}

.contents-index .concept .acdo .concept__logo {
	margin-bottom: 25px;
}

.contents-index .concept .acdo .concept__image {
	width: 100%;
	height: 180px;
	background-image: url("../img/index/concept_img_01.jpg");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: auto;
}

.contents-index .concept .acdo .concept__read {
    margin-bottom: 38px;
}

.contents-index .concept .acdo .concept__panel {
    position: relative;
}

.contents-index .concept .acdo .concept__panel.concept__panel--top {
	margin-top: 80px;
}

.contents-index .concept .acdo .concept__panel.is-active li.panel--1 .panel__image,
.contents-index .concept .acdo .concept__panel.is-active li.panel--3 .panel__image,
.contents-index .concept .acdo .concept__panel.is-active li.panel--5 .panel__image {
    opacity: 1;
}

.contents-index .concept .acdo .concept__panel.is-active li.panel--text {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.contents-index .concept .acdo .concept__panel.is-active li.is-active .panel__image img {
    -webkit-transform: scale(1.1,1.1);
    -ms-transform: scale(1.1,1.1);
    transform: scale(1.1,1.1);
}

.contents-index .concept .acdo .concept__panel.is-active li.is-active .panel__over {
    opacity: 1;
}

.contents-index .concept .acdo .concept__panel.is-active li.is-active .panel__over img {
    opacity: 1;
    -webkit-transform: translate3d(0,-50%,0);
    transform: translate3d(0,-50%,0);
}

.contents-index .concept .acdo .concept__panel li {
    float: left;
    width: 33.33333%;
    position: relative;
}

.contents-index .concept .acdo .concept__panel li.panel--text {
	text-align: left;
	background-color: #F9F9F9;
	position: absolute;
	top: 0;
    width: 33.33333%;
	height: 100%;
	-webkit-transition: all 0.75s cubic-bezier(.165,.84,.44,1) 0.5s;
	transition: all 0.75s cubic-bezier(.165,.84,.44,1) 0.5s;
	-webkit-transform: translate3d(0,100px,0);
	transform: translate3d(0,100px,0);
	opacity: 0;
}

.contents-index .concept .acdo .concept__panel li.panel--text:before {
    content: " ";
    display: block;
    width: 20px;
    height: 20px;
    background-color: #d5ad58;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: -10px;
    left: 50%;
    margin-left: -10px;
    z-index: 1;
}

.contents-index .concept .acdo .concept__panel li.panel--1 .panel__image {
    -webkit-transition: opacity 0.5s cubic-bezier(.25,.1,.25,1);
    transition: opacity 0.5s cubic-bezier(.25,.1,.25,1);
    opacity: 0;
}

.contents-index .concept .acdo .concept__panel li.panel--2 {
    left: 33.33333%;
    z-index: 1;
    -webkit-transform: translate3d(0,-100px,0);
    transform: translate3d(0,-100px,0);
}

.contents-index .concept .acdo .concept__panel li.panel--2:before {
    top: auto;
    bottom: -10px;
}

.contents-index .concept .acdo .concept__panel li.panel--3 {
    position: absolute;
    top: 0;
    right: 0;
}

.contents-index .concept .acdo .concept__panel li.panel--3 .panel__image {
    -webkit-transition: opacity 0.5s cubic-bezier(.25,.1,.25,1) 0.15s;
    transition: opacity 0.5s cubic-bezier(.25,.1,.25,1) 0.15s;
    opacity: 0;
}

.contents-index .concept .acdo .concept__panel li.panel--4 {
    left: 0;
}

.contents-index .concept .acdo .concept__panel li.panel--5 {
    margin-left: 33.33333%;
}

.contents-index .concept .acdo .concept__panel li.panel--5 .panel__image {
    -webkit-transition: opacity 0.5s cubic-bezier(.25,.1,.25,1) 0.3s;
    transition: opacity 0.5s cubic-bezier(.25,.1,.25,1) 0.3s;
    opacity: 0;
}

.contents-index .concept .acdo .concept__panel li.panel--6 {
    right: 0;
}

.contents-index .concept .acdo .concept__panel li .panel__wrap {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding-left: 50px;
    padding-right: 50px;
}

.contents-index .concept .acdo .concept__panel li a {
    display: block;
    width: 100%;
    height: 100%;
}

@media screen and (max-width:1500px) {
    .contents-index .concept .acdo .concept__panel li .panel__wrap {
        font-size: 20px;
    }
}

.contents-index .concept .acdo .concept__panel li .panel__title {
    font-size: 24px;
    color: #fff;
    line-height: 1.4;
}

@media screen and (max-width:1500px) {
    .contents-index .concept .acdo .concept__panel li .panel__title {
        font-size: 20px;
    }
}

@media screen and (max-width:1300px) {
    .contents-index .concept .acdo .concept__panel li .panel__wrap {
        padding-left: 25px;
        padding-right: 25px;
    }

    .contents-index .concept .acdo .concept__panel li .panel__title {
        font-size: 16px;
    }

    .contents-index .concept .acdo .concept__panel li .panel__title br {
        display: none;
    }
}

.contents-index .concept .acdo .concept__panel li p {
    font-size: 16px;
    line-height: 1.9;
    color: #fff;
    padding-top: 20px;
    letter-spacing: 0;
}

.contents-index .concept .acdo .concept__panel li .panel__image {
    overflow: hidden;
}

.contents-index .concept .acdo .concept__panel li .panel__image img {
    width: 100%;
    height: auto;
    -webkit-transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1);
    transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1);
    transition: transform 0.65s cubic-bezier(.165,.84,.44,1);
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}

.contents-index .concept .acdo .concept__panel li .panel__over {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-left: 40px;
    padding-right: 40px;
    background-color: rgba(0,0,0,.5);
    -webkit-transition: opacity 0.5s cubic-bezier(.25,.1,.25,1);
    transition: opacity 0.5s cubic-bezier(.25,.1,.25,1);
}

.contents-index .concept .acdo .concept__panel li .panel__over img {
    position: relative;
    top: 50%;
    left: 0;
    width: 100%;
    height: auto;
    -webkit-transition: all 0.65s cubic-bezier(.165,.84,.44,1);
    transition: all 0.65s cubic-bezier(.165,.84,.44,1);
    -webkit-transform: translate3d(0,-20%,0);
    transform: translate3d(0,-20%,0);
    opacity: 0;
}

.contents-index .concept .acdo .concept__panel li .panel__button {
    margin-top: 40px;
}

@media screen and (max-width:1500px) {
    .contents-index .concept .acdo .concept__panel li p {
        font-size: 14px;
        padding-top: 16px;
    }

    .contents-index .concept .acdo .concept__panel li p br {
        display: none;
    }

    .contents-index .concept .acdo .concept__panel li .panel__button {
        margin-top: 20px;
    }
}

@media screen and (max-width:1300px) {
    .contents-index .concept .acdo .concept__panel li p {
        font-size: 12px;
        padding-top: 14px;
    }

    .contents-index .concept .acdo .concept__panel li p br {
        display: none;
    }

    .contents-index .concept .acdo .concept__panel li .panel__button {
        margin-top: 18px;
    }
}

.contents-index .concept .acdo .concept__panel li .panel__button .button-roll {
    display: block;
    width: 270px;
    height: 56px;
    margin: 0 auto;
    line-height: 56px;
    background-color: #fff;
    font-size: 20px;
    color: #d5ad58;
    text-align: center;
}

@media screen and (max-width:1500px) {
    .contents-index .concept .acdo .concept__panel li .panel__button .button-roll {
        height: 48px;
        line-height: 48px;
        font-size: 16px;
    }
}

@media screen and (max-width:1300px) {
    .contents-index .concept .acdo .concept__panel li .panel__button .button-roll {
        height: 42px;
        line-height: 42px;
        font-size: 14px;
    }
}

a:hover .button-roll:before {
    -webkit-transform: translate3d(0,50%,0);
    transform: translate3d(0,50%,0);
    opacity: 0;
}

a:hover .button-roll span {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    opacity: 1;
}

a:hover .button-roll span:nth-child(1) {
    -webkit-transition-delay: 0.08s;
    transition-delay: 0.08s;
}

a:hover .button-roll span:nth-child(2) {
    -webkit-transition-delay: 0.16s;
    transition-delay: 0.16s;
}

a:hover .button-roll span:nth-child(3) {
    -webkit-transition-delay: 0.24s;
    transition-delay: 0.24s;
}

a:hover .button-roll span:nth-child(4) {
    -webkit-transition-delay: 0.32s;
    transition-delay: 0.32s;
}

a:hover .button-roll span:nth-child(5) {
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

a:hover .button-roll span:nth-child(6) {
    -webkit-transition-delay: 0.48s;
    transition-delay: 0.48s;
}

a:hover .button-roll span:nth-child(7) {
    -webkit-transition-delay: 0.56s;
    transition-delay: 0.56s;
}

a:hover .button-roll span:nth-child(8) {
    -webkit-transition-delay: 0.64s;
    transition-delay: 0.64s;
}

a:hover .button-roll span:nth-child(9) {
    -webkit-transition-delay: 0.72s;
    transition-delay: 0.72s;
}

a:hover .button-roll span:nth-child(10) {
    -webkit-transition-delay: 0.8s;
    transition-delay: 0.8s;
}

.contents-index .concept .invisalign {
	background-color: #FFFFFF;
}

.contents-index .concept .invisalign .invisalign__visual {
    height: 680px;
    position: relative;
    overflow: hidden;
}

.contents-index .concept .invisalign .invisalign__visual.is-active .invisalign__image {
    opacity: 1;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}

.staff__icon a:hover img,
.footer-nav__share-icon a:hover img,
.footer-nav ul li.is-current span.bar.is-fade-out {
    opacity: 0;
}

.contents-index .concept .invisalign .invisalign__visual .invisalign__image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: auto;
}

.contents-index .concept .invisalign .invisalign__visual .invisalign__logo {
    position: absolute;
    top: 210px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.contents-index .concept .invisalign .invisalign__wrap {
	position: relative;
	z-index: 1;
}

.contents-index .concept .invisalign .invisalign__video {
    margin-top: 88px;
}
.contents-index .concept .invisalign .invisalign__video a > span {
    display: block;
    width: 650px;
    height: 366px;
    background: url("../img/index/invisalign_video_thumb.jpg") no-repeat 0 0;
    -webkit-transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1),opacity 0.65s cubic-bezier(.25,.1,.25,1);
    transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1),opacity 0.65s cubic-bezier(.25,.1,.25,1);
    transition: transform 0.65s cubic-bezier(.165,.84,.44,1),opacity 0.65s cubic-bezier(.25,.1,.25,1);
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.contents-index .concept .invisalign .invisalign__video a > img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -42px;
    margin-left: -42px;
    z-index: 1;
}
.contents-index .concept .invisalign .invisalign__video a:hover > span {
    opacity: 0.7;
    -webkit-transform: scale(1.1,1.1);
    -ms-transform: scale(1.1,1.1);
    transform: scale(1.1,1.1);
}
.contents-index .concept .invisalign .invisalign__video a:hover > img {
    -webkit-animation: popup2 0.5s cubic-bezier(.175,.885,.32,1.275) 0s 1 normal;
    animation: popup2 0.5s cubic-bezier(.175,.885,.32,1.275) 0s 1 normal;
}

.contents-index .concept .invisalign .invisalign__video a {
    display: inline-block;
    position: relative;
    overflow: hidden;
}

.contents-index .concept .invisalign .invisalign__wrap .concept__read {
    padding-bottom: 48px;
}

.contents-index .concept .invisalign .invisalign__wrap .invisalign__link {
    margin-top: 68px;
    text-align: center;
}

.contents-index .concept .invisalign .invisalign__model {
    height: 730px;
    overflow: hidden;
    position: relative;
    background-color: #f9f9f9;
    margin-top: -100px;
}

.contents-index .concept .invisalign .invisalign__model-image {
    height: 730px;
    background-image: url("../img/index/invisalign_long_bg.jpg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

.contents-index .concept .invisalign .invisalign__panel {
    position: relative;
}

.contents-index .concept .invisalign .invisalign__panel:after,
.contents-index .concept .invisalign .invisalign__panel:before {
    content: " ";
    display: table;
}

.contents-index .concept .invisalign .invisalign__panel li {
    width: 50%;
    float: left;
    position: relative;
}

.contents-index .concept .invisalign .invisalign__panel li img {
    width: 100%;
    height: auto;
}

.contents-index .concept .invisalign .invisalign__panel li video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.contents-index .concept .invisalign .invisalign__panel li .panel-wrap {
    position: relative;
    background-color: #eeedeb;
}

.contents-index .concept .invisalign .invisalign__panel li .stopmotion {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.contents-index .concept .invisalign .invisalign__panel li .stopmotion .stopmotion-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: cover;
}

.contents-index .concept .invisalign .invisalign__panel li.panel--text {
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    text-align: left;
}

.contents-index .concept .invisalign .invisalign__panel li.panel--text .panel__wrap {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding-left: 78px;
    padding-right: 78px;
}

.contents-index .concept .invisalign .invisalign__panel li.panel--text h5 {
    font-size: 28px;
    color: #fff;
    margin-bottom: 20px;
    line-height: 1.3;
}

@media screen and (max-width:1500px) {
    .contents-index .concept .invisalign .invisalign__panel li.panel--text h5 {
        font-size: 20px;
    }
}

@media screen and (max-width:1300px) {
    .contents-index .concept .invisalign .invisalign__panel li.panel--text .panel__wrap {
        padding-left: 58px;
        padding-right: 58px;
    }

    .contents-index .concept .invisalign .invisalign__panel li.panel--text h5 {
        font-size: 16px;
    }
}

.contents-index .concept .invisalign .invisalign__panel li.panel--text p {
    font-size: 16px;
    color: #fff;
    line-height: 1.9;
}

@media screen and (max-width:1500px) {
    .contents-index .concept .invisalign .invisalign__panel li.panel--text p {
        font-size: 14px;
    }
}

@media screen and (max-width:1300px) {
    .contents-index .concept .invisalign .invisalign__panel li.panel--text p {
        font-size: 12px;
    }
}

.contents-index .concept .invisalign .invisalign__panel li.panel--2 {
    right: 0;
    background-color: #00a0e9;
}

.contents-index .concept .invisalign .invisalign__panel li.panel--3 {
    left: 0;
    background-color: #007ac5;
}

.contents-index .concept .invisalign .invisalign__panel li.panel--4 {
    margin-left: 50%;
}

.contents-index .concept .invisalign .invisalign__panel li.panel--4 .panel__wrap {
    background-color: #eeedeb;
}

.contents-index .concept .invisalign .invisalign__panel li.panel--6 {
    right: 0;
    background-color: #0052a4;
}

.contents-index .concept .invisalign .invisalign__image img {
    width: 100%;
    height: auto;
}

.contents-index .concept .invisalign .invisalign__system {
    background-color: #d5ad58;
    padding-top: 93px;
    padding-bottom: 80px;
}

.contents-index .concept .invisalign .invisalign__system h4 {
    margin-bottom: 24px;
}

.contents-index .concept .invisalign .invisalign__system p {
    color: #fff;
    line-height: 1.8;
}

.contents-index .concept .invisalign .invisalign__system .button {
    margin-top: 36px;
}

.contents-index .concept .invisalign .invisalign__system .button li {
    display: inline-block;
    margin: 0 38px;
}

.contents-index .concept .invisalign .invisalign__system .button li a {
    display: block;
    width: 280px;
    height: 56px;
    margin: 0 auto;
    line-height: 56px;
    background-color: #fff;
    font-size: 20px;
    color: #d5ad58;
    text-align: center;
}

.contents-index .clinic {
	padding-top: 100px;
}

.contents-index .clinic .concept__read {
    margin-top: 80px;
    margin-bottom: 56px;
}

.contents-index .clinic p {
    line-height: 2.25;
}

.contents-index .clinic .clinic__gallery {
    margin-top: 80px;
    position: relative;
}

.contents-index .clinic .clinic__gallery .gallery li {
    overflow: hidden;
}

.contents-index .clinic .clinic__gallery .gallery li img {
    width: 100%;
    height: auto;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
    -webkit-transition: all 17.85s cubic-bezier(.25,.25,.75,.75);
    transition: all 17.85s cubic-bezier(.25,.25,.75,.75);
}

.contents-index .clinic .clinic__gallery .gallery li.is-active img {
    -webkit-transform: scale(1.2,1.2);
    -ms-transform: scale(1.2,1.2);
    transform: scale(1.2,1.2);
}

.contents-index .clinic .clinic__gallery .gallery__copyright {
    position: absolute;
    bottom: 15px;
    left: 20px;
    font-size: 12px;
    color: #fff;
}

.contents-index .clinic .clinic__gallery .bx-wrapper {
    position: relative;
}

.contents-index .clinic .clinic__gallery .bx-controls .bx-next,
.contents-index .clinic .clinic__gallery .bx-controls .bx-prev {
    position: absolute;
    top: 50%;
    z-index: 999;
    width: 25px;
    height: 44px;
    margin-top: -22px;
    text-indent: -9999px;
    overflow: hidden;
}

.contents-index .clinic .clinic__gallery .bx-controls .bx-prev {
    left: 70px;
    background: url("../img/index/icon_slider_prev.png") no-repeat;
}

.contents-index .clinic .clinic__gallery .bx-controls .bx-next {
    right: 70px;
    background: url("../img/index/icon_slider_next.png") no-repeat;
}

.contents-index .clinic .clinic__gallery .bx-controls .bx-next:hover,
.contents-index .clinic .clinic__gallery .bx-controls .bx-prev:hover {
    -webkit-animation: rotate-arrow 0.5s ease 1;
    animation: rotate-arrow 0.5s ease 1;
}

@-webkit-keyframes rotate-arrow {
    0% {
        -webkit-transform: rotateX(0);
        transform: rotateX(0);
    }

    100% {
        -webkit-transform: rotateX(360deg);
        transform: rotateX(360deg);
    }
}

@keyframes rotate-arrow {
    0% {
        -webkit-transform: rotateX(0);
        transform: rotateX(0);
    }

    100% {
        -webkit-transform: rotateX(360deg);
        transform: rotateX(360deg);
    }
}

.contents-index .clinic .clinic__gallery .bx-controls .bx-pager {
    width: 100%;
    position: absolute;
    bottom: 40px;
    left: 0;
    z-index: 999;
}

.contents-index .clinic .clinic__gallery .bx-controls .bx-pager .bx-pager-item {
    display: inline-block;
    margin: 0 8px;
}

.contents-index .clinic .clinic__gallery .bx-controls .bx-pager .bx-pager-item .bx-pager-link {
    display: block;
    width: 16px;
    height: 16px;
    background-color: #fff;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    text-indent: -9999px;
    overflow: hidden;
}

.contents-index .clinic .clinic__gallery .bx-controls .bx-pager .bx-pager-item .bx-pager-link.active,
.contents-index .clinic .clinic__gallery .bx-controls .bx-pager .bx-pager-item .bx-pager-link:hover {
    background-color: #d5ad58;
    -webkit-animation: popup-icon 0.5s ease 1;
    animation: popup-icon 0.5s ease 1;
}

@-webkit-keyframes popup-icon {
    0% {
        -webkit-transform: scale(1.25,1.25);
        transform: scale(1.25,1.25);
    }

    100% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
    }
}

@keyframes popup-icon {
    0% {
        -webkit-transform: scale(1.25,1.25);
        transform: scale(1.25,1.25);
    }

    100% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
    }
}

.contents-index .clinic .clinic__producer {
    height: 552px;
    background-image: url("../img/index/clinic_producer_bg.jpg");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: cover;
}

.contents-index .clinic .clinic__producer .producer {
    width: 1000px;
    margin: 0 auto;
    padding-top: 120px;
}

.contents-index .clinic .clinic__producer .producer:after,
.contents-index .clinic .clinic__producer .producer:before {
    content: " ";
    display: table;
}

.contents-index .clinic .clinic__producer .producer__photo {
    float: left;
    width: 310px;
}

.contents-index .clinic .clinic__producer .producer__text {
    float: left;
    text-align: left;
    position: relative;
    font-size: 18px;
    color: #727171;
    margin-top: 84px;
    margin-left: 50px;
}

.contents-index .clinic .clinic__producer .producer__text .producer__name {
    display: block;
    color: #d5ad58;
    font-size: 12px;
    vertical-align: baseline;
    margin-top: 8px;
}

.contents-index .clinic .clinic__producer .producer__text .producer__name .name {
    font-size: 16px;
    font-weight: 700;
}

.contents-index .clinic .clinic__producer .producer__text:before {
    content: " ";
    display: block;
    width: 49px;
    height: 39px;
    background-image: url("../img/index/icon_comma_up.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: auto;
    position: absolute;
    top: -40px;
    left: -37px;
}

.contents-index .clinic .clinic__producer .producer__text:after {
    content: " ";
    display: block;
    width: 50px;
    height: 39px;
    background-image: url("../img/index/icon_comma_down.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: auto;
    position: absolute;
    bottom: 22px;
    right: -54px;
}

.contents-index .clinic .clinic__image:after,
.contents-index .clinic .clinic__image:before {
    content: " ";
    display: table;
}

.contents-index .clinic .clinic__image li {
    float: left;
    width: 50%;
}

.contents-index .clinic .clinic__image li img {
    width: 100%;
    height: auto;
}

.contents-index .access {
	margin-top: -5px;
}

.contents-index .access .access__title {
    margin-bottom: 56px;
}

.contents-index .access .access__title:after {
    margin-top: 20px;
}

.contents-index .access .access__text {
	font-size: 18px;
	text-align: center;
	margin-top: 68px;
	color: #FFF;
}

.contents-index .access .access__text--name {
    font-size: 14px;
    display: block;
    line-height: 1;
}

.contents-index .access .map {
    padding-top: 5px;
}

.contents-index .access .map>#GoogleMaps {
    width: 100%;
    height: 460px;
	position:relative;
}

#maplink {
	display:block;
    width: 100px;
    height: 30px;
	position:absolute;
	left:20px;
	bottom:20px;
	z-index:1000;
}
.contents-index .access .access__text--station {
    margin-top: 14px;
    display: block;
    font-size: 14px;
    line-height: 1.7;
}

.contents-index .access .large-maps {
    position: absolute;
    top: -60px;
    right: -12px;
}

.footer-nav,
.footer-nav ul,
.footer-nav ul li.is-current {
    position: relative;
}

.contents-index .staff {
    padding-top: 60px;
    padding-bottom: 60px;
}

.fb-btn,
.insta-btn {
    display: inline-block;
    vertical-align: top;
    width: 53px;
    height: 53px;
    margin: 0 9px;
}

.fb-btn {
    background: url("../img/common/icon_fb_ov.png") no-repeat;
}
.insta-btn {
    background: url("../img/common/icon_insta_ov.png") no-repeat;
}

.staff__icon a img {
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

.staff__icon a {
    display: block;
}

.contents-index .staff .staff__icon {
    margin: 0 auto 60px;
    text-align: center;
    font-size: 0;
}

.contents-index .staff .staff__title {
    margin-bottom: 12px;
}

.contents-index .staff .staff__text {
    text-align: center;
    margin-left: 20px;
}

.contents-index .staff .staff--top {
    margin-bottom: 30px;
}

.contents-index .staff .staff__image {
    display: inline-block;
    vertical-align: top;
}

.contents-index .staff .staff__name {
    display: inline-block;
    padding-left: 14px;
    padding-top: 10px;
    font-size: 20px;
    text-align: left;
}

.contents-index .staff .staff__job {
    font-size: 14px;
    display: block;
    margin-bottom: 2px;
}

.contents-index .staff .staff__company {
    font-size: 14px;
    vertical-align: middle;
}

.contents-index .staff .staff--bottom p {
    font-size: 14px;
    line-height: 2.65;
}

.contents-index .staff .staff--bottom p a {
    color: #727171;
    text-decoration: none;
}

.contents-index .staff .staff--bottom p a:hover {
    background: #f2e6cd;
}

.footer-nav ul li.footer-nav__item--1,
.footer-nav ul li.footer-nav__item--2,
.footer-nav ul li.footer-nav__item--3,
.footer-nav ul li.footer-nav__item--4,
.footer-nav ul li.footer-nav__item--5,
.footer-nav ul li.footer-nav__item--6 {
    background-repeat: no-repeat;
    background-position: 0 0;
}

.footer-nav {
    border-top: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea;
}

.footer-nav ul {
    width: 760px;
    margin: 0 auto;
    overflow: hidden;
    text-indent: -9999px;
    padding-top: 20px;
    padding-bottom: 20px;
}

.footer-nav ul:after,
.footer-nav ul:before {
    content: " ";
    display: table;
}

.footer-nav ul li {
    float: left;
    height: 13px;
    margin-right: 70px;
}

.footer-nav ul li.is-current span.bar {
    display: block;
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #d5ad58;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.footer-nav ul li.is-current span.bar span.arrow {
    position: absolute;
    left: 50%;
    width: 4px;
    height: 4px;
    margin-left: -2px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.footer-nav #underline:before,
.footer-nav ul li.is-current span.bar span.arrow {
    display: block;
    bottom: 0;
    background-color: #d5ad58;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
}

.footer-nav ul li:last-child {
    margin-right: 0;
}

.footer-nav ul li.footer-nav__item--1 {
    width: 51px;
    background-image: url("../img/common/gnav_01.png");
    background-size: auto;
}

.footer-nav ul li.footer-nav__item--2 {
    width: 77px;
    background-image: url("../img/common/gnav_02.png");
    background-size: auto;
}

.footer-nav ul li.footer-nav__item--3 {
    width: 64px;
    background-image: url("../img/common/gnav_03.png");
    background-size: auto;
}

.footer-nav ul li.footer-nav__item--4 {
    width: 48px;
    background-image: url("../img/common/gnav_04.png");
    background-size: auto;
}

.footer-nav ul li.footer-nav__item--5 {
    width: 63px;
    background-image: url("../img/common/gnav_05.png");
    background-size: auto;
}

.footer-nav ul li.footer-nav__item--6 {
    width: 86px;
    background-image: url("../img/common/gnav_06.png");
    background-size: auto;
}

.footer-nav ul li a {
    display: block;
}

.footer-nav .underline-wrap {
    position: relative;
    width: 760px;
    margin: 0 auto;
}

.footer-nav #underline {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #d5ad58;
    opacity: 0;
    -webkit-transition: all 0.25s cubic-bezier(.25,.1,.25,1);
    transition: all 0.25s cubic-bezier(.25,.1,.25,1);
}

.footer-nav #underline:before {
    content: " ";
    position: absolute;
    left: 50%;
    width: 4px;
    height: 4px;
    margin-left: -2px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.footer-nav #underline.is-active {
    opacity: 1;
}

.footer-nav #underline.is-active--1 {
    width: 51px;
    left: 0;
}

.footer-nav #underline.is-active--2 {
    width: 77px;
    left: 121px;
}

.footer-nav #underline.is-active--3 {
    width: 64px;
    left: 268px;
}

.footer-nav #underline.is-active--4 {
    width: 48px;
    left: 402px;
}

.footer-nav #underline.is-active--5 {
    width: 63px;
    left: 520px;
}

.footer-nav #underline.is-active--6 {
    width: 86px;
    left: 653px;
}

.contents-pages {
    padding-bottom: 50px;
}

.contents-pages .main-visual {
    text-align: center;
    height: 500px;
    background-color: #fff;
    position: relative;
    overflow: hidden;
}

.contents-pages .main-visual .main-visual__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-animation: cover-image-zoom2 18.75s linear 1;
    animation: cover-image-zoom2 18.75s linear 1;
    -webkit-transform: scale(1.25,1.25);
    -ms-transform: scale(1.25,1.25);
    transform: scale(1.25,1.25);
}

@-webkit-keyframes cover-image-zoom2 {
    0% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
    }

    100% {
        -webkit-transform: scale(1.25,1.25);
        transform: scale(1.25,1.25);
    }
}

@keyframes cover-image-zoom2 {
    0% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
    }

    100% {
        -webkit-transform: scale(1.25,1.25);
        transform: scale(1.25,1.25);
    }
}

.contents-pages .doctor .main-visual .main-visual__image {
    opacity: 1;
    -webkit-animation: none;
    animation: none;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

.contents-pages .main-visual .main-visual__image img {
    width: 100%;
    height: auto;
}

.contents-pages .main-visual .main-visual__title {
    padding-top: 63px;
    position: relative;
    z-index: 5999;
    overflow: hidden;
}

.contents-pages .main-visual .main-visual__title img {
    -webkit-transform: translate3d(0,20px,0);
    transform: translate3d(0,20px,0);
    opacity: 0;
    -webkit-transition: all 0.65s cubic-bezier(.165,.84,.44,1);
    transition: all 0.65s cubic-bezier(.165,.84,.44,1);
}

.contents-pages .main-visual .main-visual__title:after {
    background-color: #fff;
    -webkit-transform: translate3d(0,20px,0);
    transform: translate3d(0,20px,0);
    opacity: 0;
    -webkit-transition: all 0.65s cubic-bezier(.165,.84,.44,1) 0.05s;
    transition: all 0.65s cubic-bezier(.165,.84,.44,1) 0.05s;
}

.is-loaded .contents-pages .main-visual .main-visual__title img,
.is-loaded .contents-pages .main-visual .main-visual__title:after {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    opacity: 1;
}

.contents-pages .system {
    overflow: hidden;
    position: relative;
}

.contents-pages .system .main-visual .main-visual__image {
    background-image: url("../img/system/mv_01.jpg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

.contents-pages .system .main-visual h2:after {
    background-color: #999;
}

.contents-pages .system .system-flow .system-flow__intro {
    padding-top: 100px;
    margin-bottom: 58px;
}

.contents-pages .system .system-flow .system-flow__intro h3 {
    margin-bottom: 28px;
}

.contents-pages .system .system-flow .system-flow__section .section {
    margin-bottom: 100px;
}

.contents-pages .system .system-flow .system-flow__section .section:last-of-type {
    margin-bottom: 0;
}

.contents-pages .system .system-flow .system-flow__section .section h4 {
    margin-bottom: 30px;
}

.contents-pages .system .system-flow .system-flow__section .section .section__wrap {
    border-top: 5px solid #eaeaea;
    border-bottom: 5px solid #eaeaea;
}

.contents-pages .system .system-flow .system-flow__section .section .step {
    text-align: left;
    padding-top: 40px;
    padding-bottom: 40px;
    border-bottom: 2px solid #eaeaea;
    position: relative;
    overflow: hidden;
}

.contents-pages .system .system-flow .system-flow__section .section .step:after {
    content: " ";
    display: table;
    clear: both;
}

.contents-pages .system .system-flow .system-flow__section .section .step.step--10,
.contents-pages .system .system-flow .system-flow__section .section .step.step--11,
.contents-pages .system .system-flow .system-flow__section .section .step.step--13,
.contents-pages .system .system-flow .system-flow__section .section .step.step--4,
.contents-pages .system .system-flow .system-flow__section .section .step.step--6,
.contents-pages .system .system-flow .system-flow__section .section .step.step--8,
.contents-pages .system .system-flow .system-flow__section .section .step.step--9,
.contents-pages .system .system-flow .system-flow__section .section .step.step--m-3 {
    border-bottom: 0;
}

.contents-pages .system .system-flow .system-flow__section .section .step.is-active .step__border,
.viewport-sp .contents-pages .system .system-flow .system-flow__section .section .step.is-active .step__border {
    height: 100%;
}

.contents-pages .system .system-flow .system-flow__section .section .step.is-active .step__border:after,
.viewport-sp .contents-pages .system .system-flow .system-flow__section .section .step .step__border:after {
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}

.contents-pages .system .system-flow .system-flow__section .section .step.is-active .step__container--left,
.contents-pages .system .system-flow .system-flow__section .section .step.is-active .step__container--right {
    opacity: 1;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__border {
    position: absolute;
    top: 0;
    left: 274px;
    width: 4px;
    height: 0;
    background-color: #eaeaea;
    z-index: 2;
    -webkit-transition: all 0.75s cubic-bezier(.165,.84,.44,1) 0.25s;
    transition: all 0.75s cubic-bezier(.165,.84,.44,1) 0.25s;
}

.viewport-sp .contents-pages .system .system-flow .system-flow__section .section .step .step__border {
    height: 100%;
    -webkit-transition: none;
    transition: none;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__border:after {
    content: " ";
    display: block;
    width: 14px;
    height: 14px;
    background-color: transparent;
    border: 3px solid #d5ad58;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    position: absolute;
    top: 44px;
    left: -5px;
    -webkit-transition: all 0.5s cubic-bezier(.175,.885,.32,1.275);
    transition: all 0.5s cubic-bezier(.175,.885,.32,1.275);
    -webkit-transform: scale(0,0);
    -ms-transform: scale(0,0);
    transform: scale(0,0);
}

.viewport-sp .contents-pages .system .system-flow .system-flow__section .section .step .step__border:after {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--left {
    float: left;
    width: 274px;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--left .step__num {
    display: block;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--left .step__title {
    display: block;
    font-size: 24px;
    color: #727171;
    margin-top: 7px;
    font-weight: 400;
    line-height: 1.4;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--left .step__time {
    display: block;
    font-size: 14px;
    color: #727171;
    font-weight: 400;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right {
    float: right;
    width: 726px;
    padding-left: 60px;
}

.contents-pages .system .system-flow .system-flow__section .section .step:before {
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    -webkit-transition: all 1s cubic-bezier(.165,.84,.44,1) 0.9s;
    transition: all 1s cubic-bezier(.165,.84,.44,1) 0.9s;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    z-index: 1;
}

.viewport-sp .contents-pages .system .system-flow .system-flow__section .section .step:before {
    display: none;
}

.contents-pages .system .system-flow .system-flow__section .section .step.is-active:before {
    -webkit-transform: translate3d(100%,0,0);
    transform: translate3d(100%,0,0);
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right:after,
.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right:before {
    content: " ";
    display: table;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right .step__text {
    float: left;
    width: 320px;
    font-size: 14px;
    color: #727171;
    line-height: 1.75;
    letter-spacing: 0;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right .step__text small {
    display: block;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right .step__text span {
    font-size: 10px;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right .step__text a {
    color: #d5ad58;
    text-decoration: underline;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right .step__text.step__text--1col {
    float: none;
    width: 100%;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right .step__image {
    float: right;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right .step__image.step__image--list {
    float: none;
    margin-top: 20px;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right .step__list {
    float: right;
    background-color: #fbf7f0;
    width: 310px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 25px;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right .step__link a,
.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right .step__list li a {
    padding-right: 14px;
    font-size: 14px;
    color: #019dfa;
    background: url("../img/system/icon_arrow_right.png") right 50% no-repeat;
}

.contents-pages .system .system-flow .system-flow__section .section .step .step__container--right .step__link {
    text-align: right;
    margin-top: 6px;
}

.contents-pages .system .system__button {
    margin-top: 80px;
    margin-bottom: 100px;
}

.contents-pages .system .system__button li {
    display: inline-block;
    margin: 0 28px;
}

.contents-pages .system .system__button li a {
    display: block;
    width: 337px;
    height: 70px;
    margin: 0 auto;
    line-height: 70px;
    background-color: #d5ad58;
    font-size: 26px;
    color: #fff;
    text-align: center;
}

.contents-pages .system .system__panel-intro {
    padding-top: 96px;
}

.contents-pages .system .system__panel-intro h3 {
    margin-bottom: 30px;
}

.contents-pages .system .system__panel {
    margin-top: 68px;
}

.contents-pages .system .system__panel li a {
    display: block;
    width: 100%;
    height: 100%;
    cursor: default;
}
.contents-pages .system .system__panel li a[target="_blank"] {
    cursor: pointer;
}

.contents-pages .price .card .card__list.card__list--top:after,
.contents-pages .price .card .card__list.card__list--top:before,
.contents-pages .system .system__panel:after,
.contents-pages .system .system__panel:before {
    content: " ";
    display: table;
}

.contents-pages .system .system__panel li {
    float: left;
    width: 50%;
    position: relative;
    overflow: hidden;
}

.contents-pages .system .system__panel li .system__panel-button {
    display: block;
    width: 234px;
    height: 40px;
    margin: 42px auto 0;
    line-height: 40px;
    background-color: #d5ad58;
    font-size: 16px;
    color: #fff;
    text-align: center;
}
@media screen and (max-width:1500px) {
    .contents-pages .system .system__panel li .system__panel-button {
        margin: 38px auto 0;
    }
}
@media screen and (max-width:1300px) {
    .contents-pages .system .system__panel li .system__panel-button {
        margin: 32px auto 0;
    }
}
.contents-pages .system .system__panel li .system__panel-button-wrap {
    position: relative;
}
.contents-pages .system .system__panel li .system__panel-button-wrap:before {
    content: " ";
    display: block;
    width: 14px;
    height: 10px;
    background: url("../img/index/sns_board_icon_win.png") no-repeat 0 0;
    position: absolute;
    top: 15px;
    right: 20px;
    z-index: 1;
}

.contents-pages .system .system__panel li .system__panel-title {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 1;
    width: 100%;
    text-align: center;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    color: #0096fc;
    font-size: 24px;
}

.contents-pages .system .system__panel li:hover .system__panel-title {
    opacity: 0;
}

.contents-pages .system .system__panel li img {
    width: 100%;
    height: auto;
    -webkit-transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1);
    transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1);
    transition: transform 0.65s cubic-bezier(.165,.84,.44,1);
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}

.contents-pages .system .system__panel li:hover img {
    -webkit-transform: scale(1.1,1.1);
    -ms-transform: scale(1.1,1.1);
    transform: scale(1.1,1.1);
}

.contents-pages .system .system__panel li .system__panel-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: left;
    padding-left: 100px;
    padding-right: 100px;
    background-color: rgba(64,52,27,.8);
    -webkit-transition: opacity 0.65s cubic-bezier(.25,.1,.25,1);
    transition: opacity 0.65s cubic-bezier(.25,.1,.25,1);
    opacity: 0;
}

.contents-pages .system .system__panel li .system__panel-text .system__panel-wrap {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.contents-pages .system .system__panel li .system__panel-text h6 {
    font-size: 24px;
    color: #fff;
    line-height: 1.4;
    margin-bottom: 20px;
    -webkit-transition: all 0.65s cubic-bezier(.165,.84,.44,1);
    transition: all 0.65s cubic-bezier(.165,.84,.44,1);
    -webkit-transform: translate3d(0,40px,0);
    transform: translate3d(0,40px,0);
    opacity: 0;
}

@media screen and (max-width:1500px) {
    .contents-pages .system .system__panel li .system__panel-text {
        padding-left: 80px;
        padding-right: 80px;
    }

    .contents-pages .system .system__panel li .system__panel-text h6 {
        font-size: 20px;
    }
}

@media screen and (max-width:1300px) {
    .contents-pages .system .system__panel li .system__panel-text {
        padding-left: 60px;
        padding-right: 60px;
    }

    .contents-pages .system .system__panel li .system__panel-text h6 {
        font-size: 16px;
    }
}

.contents-pages .system .system__panel li .system__panel-text p {
    font-size: 16px;
    color: #fff;
    line-height: 1.85;
    -webkit-transition: all 0.65s cubic-bezier(.165,.84,.44,1) 0.125s;
    transition: all 0.65s cubic-bezier(.165,.84,.44,1) 0.125s;
    -webkit-transform: translate3d(0,40px,0);
    transform: translate3d(0,40px,0);
    opacity: 0;
}

@media screen and (max-width:1500px) {
    .contents-pages .system .system__panel li .system__panel-text p {
        font-size: 14px;
    }
}

@media screen and (max-width:1300px) {
    .contents-pages .system .system__panel li .system__panel-text p {
        font-size: 12px;
    }
}

.contents-pages .system .system__panel li:hover .system__panel-text {
    opacity: 1;
}

.contents-pages .system .system__panel li:hover .system__panel-text h6,
.contents-pages .system .system__panel li:hover .system__panel-text p {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    opacity: 1;
}

.contents-pages .price {
    overflow: hidden;
    position: relative;
    padding-bottom: 120px;
}

.contents-pages .price .main-visual .main-visual__image {
    background-image: url("../img/price/mv_01.jpg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

.contents-pages .price .price-detail .price-detail__intro {
    padding-top: 100px;
    margin-bottom: 58px;
}

.contents-pages .price .price-detail .price-detail__intro h3 {
    margin-bottom: 28px;
}

.contents-pages .price .card {
    width: 1000px;
    margin: 0 auto;
}

.contents-pages .price .card .card__list.card__list--top {
    border-top: 1px solid #eaeaea;
}

.contents-pages .price .card .card__list.card__list--top li {
    float: left;
    width: 330px;
    border-right: 1px solid #eaeaea;
    padding: 40px 50px 28px;
    position: relative;
}

.contents-pages .price .card .card__list.card__list--top li:after {
    content: " ";
    display: block;
    width: 25px;
    height: 25px;
    background-image: url("../img/price/icon_plus.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: auto;
    position: absolute;
    top: 195px;
    right: -13px;
}

.contents-pages .price .card .card__list.card__list--top li:last-child {
    border-right: 0;
}

.contents-pages .price .card .card__list.card__list--top li:last-child:after {
    display: none;
}

.contents-pages .price .card .card__list.card__list--top li.card__item--2 {
    width: 340px;
}

.contents-pages .price .card .card__list.card__list--top li .card__title {
    margin-bottom: 20px;
}

.contents-pages .price .card .card__list.card__list--top li p {
    color: #727171;
    font-size: 14px;
    line-height: 1.75;
    text-align: left;
}

.contents-pages .price .card .card__list.card__list--bottom {
    border-top: 1px solid #eaeaea;
    padding-top: 44px;
    padding-bottom: 36px;
    position: relative;
}

.contents-pages .price .card .card__list.card__list--bottom:before {
    content: " ";
    display: block;
    width: 25px;
    height: 25px;
    background-image: url("../img/price/icon_plus.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: auto;
    position: absolute;
    top: -13px;
    left: 50%;
    margin-left: -13px;
}

.contents-pages .price .invisalign .plan li:after,
.contents-pages .price .invisalign .plan li:before,
.contents-pages .price .invisalign:after,
.contents-pages .price .invisalign:before {
    content: " ";
    display: table;
}

.contents-pages .price .invisalign {
    border-top: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea;
}

.contents-pages .price .invisalign .invisalign__logo {
    float: left;
    width: 162px;
    margin-right: 9px;
    padding-top: 232px;
}

.contents-pages .price .invisalign .plan {
    float: left;
    width: 829px;
    text-align: left;
}

.contents-pages .price .invisalign .plan li {
    background: url("../img/price/invisalign_dot_bg.png") 246px 40px no-repeat;
    padding-top: 28px;
    padding-bottom: 29px;
    border-bottom: 1px dotted #eaeaea;
    position: relative;
}

.contents-pages .price .invisalign .plan li.plan__item--6 {
    background: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.contents-pages .price .invisalign .plan li:last-child {
    border-bottom: 0;
}

.contents-pages .price .invisalign .plan li .plan__name {
    float: left;
    padding-right: 30px;
    padding-left: 20px;
}

.contents-pages .price .invisalign .plan li .plan__name p {
    display: block;
    font-size: 14px;
    line-height: 1;
    margin-top: 8px;
}

.contents-pages .price .invisalign .plan li .plan__name p span {
    display: block;
    font-size: 12px;
    margin-bottom: 10px;
}

.contents-pages .price .invisalign .plan li p small {
    display: block;
    line-height: 1.8;
    padding: 24px 0 24px 18px;
}

.contents-pages .price .invisalign .plan li .plan__price {
    font-size: 24px;
    color: #d5ad58;
    font-weight: 700;
    background-color: #fff;
    position: absolute;
    top: 30px;
    right: 0;
}

.contents-pages .price .invisalign .plan li .plan__price span {
    font-size: 14px;
    font-weight: 400;
}

.contents-pages .price .credit-card {
    padding-top: 44px;
}

.contents-pages .price .credit-card p {
    font-size: 20px;
    line-height: 1.75;
}

.contents-pages .price .credit-card p:last-of-type {
    margin-top: 20px;
}

.contents-pages .price .credit-card p a {
    color: #d5ad58;
}

.contents-pages .price .credit-card p a:hover {
    text-decoration: underline;
}

.contents-pages .price .credit-card .credit-card__thumb {
    padding-top: 32px;
    padding-bottom: 66px;
}

.contents-pages .price .credit-card ul {
    width: 600px;
    margin: 30px auto;
    text-align: left;
}

.contents-pages .price .credit-card ul li {
    margin-bottom: 10px;
    color: #727171;
}

.contents-pages .price .reservation__button {
    margin-top: 76px;
}

.contents-pages .price .reservation__button a {
    display: block;
    width: 556px;
    height: 68px;
    margin: 0 auto;
    line-height: 68px;
    font-size: 26px;
    letter-spacing: 0.05em;
    color: #fff;
    background-color: #d5ad58;
}

.contents-pages .price .loan {
    width: 1000px;
    height: 679px;
    background: url("../img/price/loan_bg.png") no-repeat;
    margin: 0 auto;
    position: relative;
}

.contents-pages .price .loan p {
    font-size: 14px;
    color: #727171;
    line-height: 1.6;
    text-align: left;
    position: absolute;
    bottom: 104px;
    left: 0;
    letter-spacing: -.05em;
    padding-left: 52px;
    text-indent: -1em;
    margin-left: 1em;
}

.contents-pages .price .loan .link {
    width: 100%;
    text-align: center;
    position: absolute;
    bottom: 48px;
    left: 0;
}

.contents-pages .doctor .main-visual {
    height: 500px;
    background-color: transparent;
    position: relative;
}

.contents-pages .doctor .main-visual .main-visual__image {
    position: static;
    top: auto;
    left: auto;
}

.contents-pages .doctor .main-visual .main-visual__image a {
    display: block;
    overflow: hidden;
}

.contents-pages .doctor .doctor__panel .panel--bottom:after,
.contents-pages .doctor .doctor__panel .panel--bottom:before,
.contents-pages .doctor .doctor__panel .panel--top:after,
.contents-pages .doctor .doctor__panel .panel--top:before {
    content: " ";
    display: table;
}

.contents-pages .doctor .main-visual .main-visual__image a .movie-text {
    background: url("../img/doctor/movie_text.png") 50% 0 no-repeat;
    width: 100%;
    height: 500px;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: opacity 0.65s ease 0.5s;
    transition: opacity 0.65s ease 0.5s;
}
.viewport-sp .contents-pages .doctor .main-visual .main-visual__image a .movie-text {
    opacity: 1;
    -webkit-transition: none;
    transition: none;
}

.is-loaded .contents-pages .doctor .main-visual .main-visual__image a .movie-text {
    opacity: 1;
}

.contents-pages .doctor .main-visual .main-visual__image a .movie-image {
    background: url("../img/doctor/movie_thumb.jpg") 50% 0 no-repeat;
    width: 100%;
    height: 500px;
    -webkit-transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1),opacity 0.65s cubic-bezier(.25,.1,.25,1);
    transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1),opacity 0.65s cubic-bezier(.25,.1,.25,1);
    transition: transform 0.65s cubic-bezier(.165,.84,.44,1),opacity 0.65s cubic-bezier(.25,.1,.25,1);
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
    opacity: 1;
}

.contents-pages .doctor .main-visual .main-visual__image a:hover .movie-image {
    -webkit-transform: scale(1.1,1.1);
    -ms-transform: scale(1.1,1.1);
    transform: scale(1.1,1.1);
    opacity: 0.7;
}

.is-loaded .contents-pages .doctor .main-visual .main-visual__image a .movie-btn__text {
    -webkit-animation: rotate 0.5s cubic-bezier(.165,.84,.44,1) 1s 1 normal;
    animation: rotate 0.5s cubic-bezier(.165,.84,.44,1) 1s 1 normal;
}

.contents-pages .doctor .main-visual .main-visual__image a:hover .movie-btn__text {
    -webkit-animation: rotate2 0.5s cubic-bezier(.165,.84,.44,1) 0s 1 normal;
    animation: rotate2 0.5s cubic-bezier(.165,.84,.44,1) 0s 1 normal;
}
.viewport-sp .contents-pages .doctor .main-visual .main-visual__image a:hover .movie-btn__text {
    -webkit-animation: none;
    animation: none;
}

.is-loaded .contents-pages .doctor .main-visual .main-visual__image a .movie-btn__icon {
    -webkit-animation: popup 0.5s cubic-bezier(.175,.885,.32,1.275) 1s 1 normal;
    animation: popup 0.5s cubic-bezier(.175,.885,.32,1.275) 1s 1 normal;
}

.contents-pages .doctor .main-visual .main-visual__image a:hover .movie-btn__icon {
    -webkit-animation: popup2 0.5s cubic-bezier(.175,.885,.32,1.275) 0s 1 normal;
    animation: popup2 0.5s cubic-bezier(.175,.885,.32,1.275) 0s 1 normal;
}
.viewport-sp .contents-pages .doctor .main-visual .main-visual__image a:hover .movie-btn__icon {
    -webkit-animation: none;
    animation: none;
}

@-webkit-keyframes rotate {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotate {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-webkit-keyframes popup {
    0% {
        -webkit-transform: scale(0,0);
        transform: scale(0,0);
    }

    100% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
    }
}

@keyframes popup {
    0% {
        -webkit-transform: scale(0,0);
        transform: scale(0,0);
    }

    100% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
    }
}

@-webkit-keyframes rotate2 {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotate2 {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-webkit-keyframes popup2 {
    0% {
        -webkit-transform: scale(0,0);
        transform: scale(0,0);
    }

    100% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
    }
}

@keyframes popup2 {
    0% {
        -webkit-transform: scale(0,0);
        transform: scale(0,0);
    }

    100% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
    }
}

.contents-pages .doctor .main-visual .main-visual__image a .movie-btn {
    position: absolute;
    top: 126px;
    left: 25px;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 142px;
    height: 142px;
    -webkit-transition: opacity 0.65s ease 0.5s;
    transition: opacity 0.65s ease 0.5s;
    opacity: 0;
}
.viewport-sp .contents-pages .doctor .main-visual .main-visual__image a:hover .movie-btn__icon {
    -webkit-transition: none;
    transition: none;
    opacity: 1;
}

.is-loaded .contents-pages .doctor .main-visual .main-visual__image a .movie-btn {
    opacity: 1;
}

.contents-pages .doctor .main-visual .main-visual__image a .movie-btn .movie-btn__text {
    width: 114px;
    height: 114px;
}

.contents-pages .doctor .main-visual .main-visual__image a .movie-btn .movie-btn__icon {
    width: 86px;
    height: 86px;
    position: absolute;
    top: 13px;
    left: 14px;
}

.contents-pages .doctor .main-visual .main-visual__title {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
}

.contents-pages .doctor .main-visual h2:after {
    background-color: #999;
}

.contents-pages .doctor h3 {
    padding-top: 120px;
}

.contents-pages .doctor p {
    padding-top: 60px;
}

.contents-pages .doctor p.doctor__link {
    padding-top: 26px;
    text-align: center;
}

.contents-pages .doctor .doctor__panel {
    margin-top: 90px;
    margin-bottom: 106px;
}

.contents-pages .doctor .doctor__panel ul li {
    position: relative;
    overflow: hidden;
}

.contents-pages .doctor .doctor__panel .panel--top li img {
    -webkit-transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1);
    transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1);
    transition: transform 0.65s cubic-bezier(.165,.84,.44,1);
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}

.contents-pages .doctor .doctor__panel .panel--top li:hover img {
    -webkit-transform: scale(1.1,1.1);
    -ms-transform: scale(1.1,1.1);
    transform: scale(1.1,1.1);
}

.contents-pages .doctor .doctor__panel ul li .panel__text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: left;
    padding-left: 100px;
    padding-right: 100px;
    background-color: rgba(97,83,53,.5);
    -webkit-transition: opacity 0.65s cubic-bezier(.25,.1,.25,1);
    transition: opacity 0.65s cubic-bezier(.25,.1,.25,1);
    opacity: 0;
}

.contents-pages .doctor .doctor__panel ul li .panel__text .panel__wrap {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.contents-pages .doctor .doctor__panel ul li .panel__text p {
    font-size: 16px;
    color: #fff;
    line-height: 1.85;
    -webkit-transition: all 0.65s cubic-bezier(.165,.84,.44,1);
    transition: all 0.65s cubic-bezier(.165,.84,.44,1);
    -webkit-transform: translate3d(0,40px,0);
    transform: translate3d(0,40px,0);
    opacity: 0;
}

@media screen and (max-width:1500px) {
    .contents-pages .doctor .doctor__panel ul li .panel__text {
        padding-left: 80px;
        padding-right: 80px;
    }

    .contents-pages .doctor .doctor__panel ul li .panel__text p {
        font-size: 14px;
    }
}

@media screen and (max-width:1300px) {
    .contents-pages .doctor .doctor__panel ul li .panel__text {
        padding-left: 50px;
        padding-right: 50px;
    }

    .contents-pages .doctor .doctor__panel ul li .panel__text p {
        font-size: 12px;
    }
}

.contents-pages .doctor .doctor__panel ul li:hover .panel__text {
    opacity: 1;
}

.contents-pages .doctor .doctor__panel ul li:hover .panel__text p {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    opacity: 1;
}

.contents-pages .doctor .doctor__panel .panel--top li {
    width: 33.3333333%;
    float: left;
}

.contents-pages .doctor .doctor__panel .panel--top li img {
    width: 100%;
    height: auto;
}

.contents-pages .doctor .doctor__panel .panel--bottom {
    position: relative;
}

.contents-pages .doctor .doctor__panel .panel--bottom li {
    width: 50%;
    float: left;
}

.contents-pages .doctor .doctor__panel .panel--bottom li img {
    width: 100%;
    height: auto;
}

.contents-pages .doctor .doctor__panel .panel--bottom li.text-panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background-color: #d5ad58;
    text-align: left;
}

.contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding-left: 100px;
    padding-right: 100px;
}

.contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__title {
    font-size: 20px;
    color: #fff;
    line-height: 1.5;
    margin-bottom: 8px;
}

@media screen and (max-width:1500px) {
    .contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap {
        padding-left: 80px;
        padding-right: 80px;
    }

    .contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__title {
        font-size: 16px;
    }
}

@media screen and (max-width:1300px) {
    .contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap {
        padding-left: 30px;
        padding-right: 30px;
    }

    .contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__title {
        font-size: 14px;
    }
}

.contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__title span {
    font-size: 14px;
    vertical-align: baseline;
}

@media screen and (max-width:1500px) {
    .contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__title span {
        font-size: 12px;
    }
}

.contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__name {
    font-size: 28px;
    color: #fff;
    padding-top: 5px;
}

@media screen and (max-width:1500px) {
    .contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__name {
        font-size: 24px;
    }
}

@media screen and (max-width:1300px) {
    .contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__name {
        font-size: 18px;
        padding-top: 0;
    }
}

.contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__read {
    font-size: 16px;
    color: #fff;
    padding-top: 34px;
    line-height: 1.8;
    padding-bottom: 20px;
}

@media screen and (max-width:1500px) {
    .contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__read {
        font-size: 14px;
        padding-top: 24px;
        padding-bottom: 14px;
    }
}

@media screen and (max-width:1300px) {
    .contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__read {
        font-size: 12px;
        padding-top: 20px;
        padding-bottom: 10px;
    }
}

.contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__timeline li {
    float: none;
    width: auto;
    font-size: 16px;
    color: #fff;
    margin-bottom: 6px;
}

@media screen and (max-width:1500px) {
    .contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__timeline li {
        font-size: 14px;
        margin-bottom: 4px;
    }
}

@media screen and (max-width:1300px) {
    .contents-pages .doctor .doctor__panel .panel--bottom li.panel__item--2 .text-panel__wrap .text-panel__timeline li {
        font-size: 12px;
        margin-bottom: 2px;
    }
}

.contents-index .movie,
.contents-pages .doctor .movie {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
}

.contents-index .movie .movie__wrap,
.contents-pages .doctor .movie .movie__wrap {
    width: 1116px;
    height: 698px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 2;
}

.contents-index .movie .movie__wrap iframe,
.contents-pages .doctor .movie .movie__wrap iframe {
    background-color: #d5ad58;
    padding: 2px;
}

.contents-index .movie .movie__wrap .movie__close,
.contents-pages .doctor .movie .movie__wrap .movie__close {
    position: absolute;
    top: 0;
    right: -70px;
}

.contents-index .movie .movie__wrap .movie__close a,
.contents-pages .doctor .movie .movie__wrap .movie__close a {
    display: block;
}

.contents-index .movie .movie__wrap .movie__close a img,
.contents-pages .doctor .movie .movie__wrap .movie__close a img {
    -webkit-transition: all 1s cubic-bezier(.175,.885,.32,1.275);
    transition: all 1s cubic-bezier(.175,.885,.32,1.275);
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
}

.contents-index .movie .movie__wrap .movie__close a:hover img,
.contents-pages .doctor .movie .movie__wrap .movie__close a:hover img {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
}

.contents-index .movie .movie__bg,
.contents-pages .doctor .movie .movie__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.6;
    z-index: 1;
    cursor: pointer;
}

.contents-pages .access {
    padding-bottom: 90px;
}

.contents-pages .access .main-visual .main-visual__image {
    background-image: url("../img/access/mv_01.jpg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

.contents-pages .access .main-visual h2:after {
    background-color: #999;
}

.contents-pages .access .access__title {
    padding-top: 102px;
    margin-bottom: 54px;
}

.contents-pages .access .access__text {
    font-size: 18px;
    text-align: center;
    margin-bottom: 20px;
}

.contents-pages .access .access__text--name {
    font-size: 14px;
    display: block;
    line-height: 1;
}

.contents-pages .access .map {
    padding-top: 5px;
}

.contents-pages .access .map #GoogleMaps {
    width: 1000px;
    height: 460px;
    margin-bottom: 12px;
}

.contents-pages .access .map .map__link {
    margin-bottom: 4px;
}

.contents-pages .access .map .map__text {
    font-size: 18px;
    color: #727171;
    line-height: 1.5;
}

.contents-pages .contact {
    text-align: left;
    padding-bottom: 100px;
}

.contents-pages .contact .main-visual .main-visual__image {
    background-image: url("../img/contact/mv_01.jpg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

.contents-pages .contact h3 {
    text-align: center;
    margin-bottom: 46px;
}

.contents-pages .contact p {
    text-align: center;
    line-height: 2;
    font-size: 16px;
    padding-bottom: 30px;
}

.contents-pages .contact .form {
    width: 800px;
    margin: 0 auto;
    color: #727171;
    padding-top: 102px;
    background: url("../img/contact/loading.gif") 50% 60% no-repeat;
    z-index: 99999;
}

.contents-pages .contact .form dl {
    background-color: #fff;
}

.contents-pages .contact .form dl:after,
.contents-pages .contact .form dl:before {
    content: " ";
    display: table;
}

.contents-pages .contact .form dt {
    float: left;
    width: 222px;
    height: 57px;
    background: #eee;
    position: relative;
    margin-bottom: 2px;
    line-height: 57px;
    padding-left: 30px;
    color: #727171;
    font-size: 18px;
}

.contents-pages .contact .form dd {
    float: left;
    width: 578px;
    height: 57px;
    background: #f8f8f8;
    margin-bottom: 2px;
    padding-left: 30px;
}

.contents-pages .contact .form dd:last-of-type,
.contents-pages .contact .form dt:last-of-type {
    margin-bottom: 0;
}

.contents-pages .contact .form .form__require {
    display: block;
    height: 17px;
    line-height: 17px;
    font-size: 10px;
    color: #fff;
    background: #ff6c00;
    padding-left: 6px;
    padding-right: 6px;
    position: absolute;
    top: 20px;
    right: 16px;
}

.contents-pages .contact .form .form__group {
    padding-top: 16px;
}

.contents-pages .contact .form input {
    height: 25px;
    line-height: 25px;
    margin: 0;
    padding: 0 4px;
    border: 1px solid #cecece;
    font-size: 16px;
    background-color: #fff;
}

.contents-pages .contact .form .form--name input {
    width: 128px;
}

.contents-pages .contact .form .form--name .form__input--left {
    margin-right: 14px;
}

.contents-pages .contact .form dd.form--age,
.contents-pages .contact .form dd.form--sex {
    font-size: 16px;
    color: #727171;
}

.contents-pages .contact .form .form--sex .form__group {
    padding-top: 0;
    line-height: 57px;
}

.contents-pages .contact .form .form--sex input {
    margin-right: 10px;
    height: auto;
    margin-top: 20px;
}

.contents-pages .contact .form .form--sex .form__radio--left {
    margin-right: 30px;
}

.contents-pages .contact .form .form--age select {
    background-color: #fff;
    border: 1px solid #cecece;
    margin-top: -2px;
}

.contents-pages .contact .form .form--age .form__input--select-label {
    display: inline-block;
    margin-right: 8px;
}

.contents-pages .contact .form .form--tel input {
    display: block;
    width: 270px;
}

.contents-pages .contact .form .form--mail {
    height: 183px;
    padding-top: 16px;
    line-height: 25px;
}

.contents-pages .contact .form .form--mail input {
    width: 270px;
}

.contents-pages .contact .form .form--mail .form__input-text {
    display: block;
    font-size: 14px;
    margin-top: 16px;
    margin-bottom: 8px;
    line-height: 1;
}

.contents-pages .contact .form .form--mail .form__input-tips {
    display: block;
    font-size: 10px;
    margin-top: 10px;
    line-height: 1.4;
    color: red;
}

.contents-pages .contact .form .form__tips {
    font-size: 14px;
    text-align: left;
    margin-top: 16px;
    line-height: 1.65;
    padding-bottom: 0;
}

.contents-pages .contact .form__button {
    display: block;
    width: 556px;
    height: 70px;
    margin: 36px 0 0 122px;
    font-size: 26px;
    padding-top: 4px;
    text-align: center;
    cursor: pointer;
    background: #d5ad58;
    border: 0;
    color: #fff;
    letter-spacing: 0.05em;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    outline: 0;
    position: relative;
    -webkit-transition: width 0.35s cubic-bezier(.165,.84,.44,1),background 0.35s cubic-bezier(.165,.84,.44,1);
    transition: width 0.35s cubic-bezier(.165,.84,.44,1),background 0.35s cubic-bezier(.165,.84,.44,1);
}

.contents-pages .contact dd .form__error-text,
.contents-pages .contact dt .form__error-text {
    display: none;
}

.contents-pages .contact dd.error .form__error-text,
.contents-pages .contact dt.error .form__error-text {
    display: inline-block;
    font-size: 12px;
    color: red;
    margin-left: 2px;
    line-height: 1;
    margin-top: 6px;
}

.contents-pages .contact dt.error {
    background: #fae3e3;
}

.contents-pages .contact dd.error {
    background: #fdf4f4;
}

.contents-pages .contact .form__button:hover {
    width: 616px;
    background: #d5c097;
}

.contents-pages .contact .form__button .btn-arrow-right {
    background: url("../img/contact/icon_arrow_right.png") no-repeat;
    right: 30px;
    -webkit-transition: all 0.35s cubic-bezier(.165,.84,.44,1) 0.1s;
    transition: all 0.35s cubic-bezier(.165,.84,.44,1) 0.1s;
    -webkit-transform: translate3d(-10px,0,0) scale(.5,.5);
    transform: translate3d(-10px,0,0) scale(.5,.5);
}

.contents-pages .contact .form__button .btn-arrow-left,
.contents-pages .contact .form__button .btn-arrow-right {
    display: block;
    width: 16px;
    height: 30px;
    position: absolute;
    top: 20px;
    opacity: 0;
    -webkit-transition: all 0.35s cubic-bezier(.165,.84,.44,1) 0.1s;
}

.contents-pages .contact .form__button .btn-arrow-left {
    background: url("../img/contact/icon_arrow_left.png") no-repeat;
    left: 30px;
    -webkit-transition: all 0.35s cubic-bezier(.165,.84,.44,1) 0.1s;
    transition: all 0.35s cubic-bezier(.165,.84,.44,1) 0.1s;
    -webkit-transform: translate3d(10px,0,0) scale(.5,.5);
    transform: translate3d(10px,0,0) scale(.5,.5);
}

.contents-pages .contact .form.confirm,
.contents-pages .contact .thanks,
.popup {
    display: none;
}

.contents-pages .contact .form__button:hover .btn-arrow-left,
.contents-pages .contact .form__button:hover .btn-arrow-right {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0) scale(1,1);
    transform: translate3d(0,0,0) scale(1,1);
}

.contents-pages .contact .form.confirm .confirm__button {
    height: 70px;
    margin-top: 40px;
    position: relative;
}

.contents-pages .contact .form.confirm .confirm__button .form__button {
    width: 337px;
    letter-spacing: 0;
    margin: 0;
    padding-left: 0;
    text-align: center;
    position: absolute;
    top: 0;
}

.contents-pages .contact .form.confirm .confirm__button .confirm__button--left {
    right: 403px;
}

.contents-pages .contact .form.confirm .confirm__button .confirm__button--left:hover,
.contents-pages .contact .form.confirm .confirm__button .confirm__button--right:hover {
    width: 397px;
}

.contents-pages .contact .form.confirm .confirm__button .confirm__button--right {
    left: 403px;
}

.contents-pages .contact .form.confirm dt.form--mail {
    line-height: 57px;
}

.contents-pages .contact .form.confirm .form--mail {
    height: 57px;
    padding-top: 0;
    line-height: none;
}

.contents-pages .contact .form.confirm .form--mail input {
    width: 100%;
}

.contents-pages .contact .thanks__inner {
    width: 490px;
    margin: 0 auto;
    padding-top: 100px;
    padding-bottom: 50px;
}

.popup,
.popup>ul {
    height: 100%;
    width: 100%;
}

.contents-pages .footer-nav__share-icon {
    margin-top: 60px;
}
.contents-pages .footer-nav__share-icon a {
    display: block;
}
.contents-pages .footer-nav__share-icon a img {
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

.footer {
    text-align: center;
    padding-bottom: 100px;
}

.footer .copyright {
    font-size: 12px;
    text-transform: uppercase;
}

.popup {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99999;
}

.popup>ul {
    position: relative;
    z-index: 2;
    cursor: pointer;
    -webkit-transition: all 0.65s cubic-bezier(.165,.84,.44,1);
    transition: all 0.65s cubic-bezier(.165,.84,.44,1);
    opacity: 0;
    -webkit-transform: translate3d(0,80px,0);
    transform: translate3d(0,80px,0);
}

.popup>ul .popup__item {
    display: none;
    width: 1000px;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -500px;
    background-color: #fff;
    padding: 60px 70px 70px;
}

.popup>ul .popup__item--1 {
    padding-top: 70px;
}

.popup .popup-close {
    position: fixed;
    top: 40px;
    right: 40px;
    z-index: 9999;
}

.popup .popup-close a {
    display: block;
}

.popup .popup-close a img {
    -webkit-transition: all 0.85s cubic-bezier(.175,.885,.32,1.275);
    transition: all 0.85s cubic-bezier(.175,.885,.32,1.275);
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
}

.popup .popup-close a:hover img {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
}

.popup.is-active ul {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.popup .popup__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.6;
    z-index: 1;
}

.popup .popup__intro {
    margin-bottom: 40px;
}

.popup .popup__intro .popup__intro-title {
    text-align: center;
    margin-bottom: 40px;
}

.popup .popup__intro p {
    font-size: 16px;
    color: #727171;
    line-height: 2.1;
    letter-spacing: 0;
}

.popup__box {
    position: relative;
}

.popup__box img {
    margin-bottom: 16px;
}

.popup__box--1,
.popup__box--2 {
    width: 730px;
    margin: 0 auto 54px;
}

.popup__box--3 {
    width: 860px;
    margin: 0 auto 48px;
}

.popup .popup__list {
    margin-bottom: 34px;
}

.popup .popup__box-text {
    position: relative;
    width: 275px;
    font-size: 14px;
    line-height: 1.8;
}

.popup .popup__box--3 .popup__box-text {
    width: 375px;
}

.popup .popup__box-text--left {
    float: left;
}

.popup .popup__box-text--right {
    float: right;
}

.popup .popup__list .popup__list--left {
    float: left;
    width: 508px;
}

.popup .popup__list .popup__list--left p {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 30px;
}

.popup .popup__list .popup__list--left li {
    color: #d5ad58;
    font-size: 14px;
    line-height: 1;
    margin-bottom: 16px;
}

.popup .popup__list .popup__list--right {
    float: right;
    width: 352px;
}

.popup .popup__photos {
    margin-bottom: 30px;
}

.popup .popup__photos ul:first-of-type {
    margin-bottom: 10px;
}

.popup .popup__photos li {
    width: 425px;
    float: left;
    margin-right: 10px;
}

.main-visual-text,
.masks {
    position: absolute;
    width: 100%;
}

.popup .popup__photos li:last-child {
    margin-right: 0;
}

.popup .popup__wrap .popup__text {
    letter-spacing: 0;
    line-height: 2.1;
}

.popup .popup__item--1 .popup__wrap .popup__text {
    letter-spacing: 0.05em;
}

.pagetop {
    position: absolute;
    top: 13px;
    right: 100px;
}

.pagetop-over {
    position: absolute;
    top: 0;
    right: -4px;
}

.pagetop img {
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    opacity: 1;
}

.pagetop .pagetop-over img {
    opacity: 0;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.pagetop a:hover img {
    opacity: 0;
}

.pagetop a:hover .pagetop-over img {
    opacity: 1;
    -webkit-transform: translate3d(0,-20px,0);
    transform: translate3d(0,-20px,0);
}

.fade-out-mask {
    -webkit-animation: fade-out-mask 0.65s cubic-bezier(.215,.61,.355,1) both;
    animation: fade-out-mask 0.65s cubic-bezier(.215,.61,.355,1) both;
}

.fade-in-mask {
    -webkit-animation: fade-in-mask 0.65s cubic-bezier(.55,.055,.675,.19) both;
    animation: fade-in-mask 0.65s cubic-bezier(.55,.055,.675,.19) both;
}

@-webkit-keyframes fade-out-mask {
    0% {
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0);
    }

    100% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@keyframes fade-out-mask {
    0% {
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0);
    }

    100% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}

@-webkit-keyframes fade-in-mask {
    0% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    100% {
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0);
    }
}

@keyframes fade-in-mask {
    0% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    100% {
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0);
    }
}

.contents-intro h3 {
    -webkit-transform: translate3d(0,40px,0);
    transform: translate3d(0,40px,0);
    opacity: 0;
    -webkit-transition: all 0.65s cubic-bezier(.165,.84,.44,1) 0.3s;
    transition: all 0.65s cubic-bezier(.165,.84,.44,1) 0.3s;
}

.contents-intro h3,
.contents-intro p {
    -webkit-transform: translate3d(0,40px,0);
}

.contents-intro p {
    -webkit-transform: translate3d(0,40px,0);
    transform: translate3d(0,40px,0);
    opacity: 0;
    -webkit-transition: all 0.65s cubic-bezier(.165,.84,.44,1) 0.35s;
    transition: all 0.65s cubic-bezier(.165,.84,.44,1) 0.35s;
}

.is-loaded .contents-intro h3,
.is-loaded .contents-intro p {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    opacity: 1;
}

.is-loaded .contents {
    position: relative;
    z-index: 9999;
}

.masks {
    top: 175px;
    left: 0;
    height: 500px;
    overflow: hidden;
}

#page-index .masks {
    height: 100%;
}

.main-visual-text {
    top: 188px;
    left: 0;
    height: 100%;
    z-index: 9999;
    text-align: center;
    opacity: 0;
}

.loading,
.main-visual-mask {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.fade-in-text {
    -webkit-animation: fade-in-text 0.65s ease both;
    animation: fade-in-text 0.65s ease both;
}

@-webkit-keyframes fade-in-text {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fade-in-text {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.fade-out-text {
    -webkit-animation: fade-out-text 0.65s ease both;
    animation: fade-out-text 0.65s ease both;
    opacity: 0;
}

@-webkit-keyframes fade-out-text {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes fade-out-text {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.main-visual-mask {
    position: absolute;
    z-index: 5999;
    background-color: #fff;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.main-visual-mask:after,
.main-visual-mask:before {
    content: " ";
    display: table;
}

.loading {
    position: fixed;
    background: #fff;
    z-index: 99999;
}

.loading__icon {
    display: block;
    width: 78px;
    height: 84px;
    background: url("../img/common/icon_logo.png") no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -39px;
    margin-left: -42px;
    -webkit-animation: rotate3 4s linear 0s infinite normal;
    animation: rotate3 4s linear 0s infinite normal;
}

.loading__icon.complete {
    -webkit-animation: none;
    animation: none;
}

@-webkit-keyframes rotate3 {
    0% {
        opacity: 1;
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
    }

    25%,
    75% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 1;
        -webkit-transform: rotateY(360deg);
        transform: rotateY(360deg);
    }
}

@keyframes rotate3 {
    0% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0);
    }

    25%,
    75% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        -webkit-transform: rotateY(360deg);
        transform: rotateY(360deg);
    }
}

.main-visual__canvas {
    width: 860px;
    height: 100%;
    margin: 0 auto;
    position: relative;
}

.main-visual__canvas .main-visual__canvas-item {
    position: absolute;
    opacity: 0;
}

.main-visual__canvas #cvs-txt-1 {
    top: 89px;
    left: 43px;
}

.main-visual__canvas #cvs-txt-2 {
    top: 89px;
    left: 161px;
}

.main-visual__canvas #cvs-txt-3 {
    top: 89px;
    left: 251px;
}

.main-visual__canvas #cvs-txt-4 {
    top: 89px;
    left: 306px;
}

.main-visual__canvas #cvs-txt-5 {
    top: 89px;
    left: 433px;
}

.main-visual__canvas #cvs-txt-6 {
    top: 259px;
    left: 43px;
}

.main-visual__canvas #cvs-txt-7 {
    top: 259px;
    left: 164px;
}

.main-visual__canvas #cvs-txt-8 {
    top: 259px;
    left: 293px;
}

.main-visual__canvas #cvs-txt-9 {
    top: 259px;
    left: 411px;
}

.main-visual__canvas #cvs-txt-10 {
    top: 259px;
    left: 512px;
}

.main-visual__canvas #cvs-txt-11 {
    top: 259px;
    left: 639px;
}

.main-visual__canvas #cvs-txt-12 {
    top: 259px;
    left: 750px;
}

.main-visual__canvas #cvs-txt-13 {
    top: 425px;
    left: 43px;
}

.main-visual__canvas #cvs-txt-14 {
    top: 425px;
    left: 184px;
}

.main-visual__canvas #cvs-txt-15 {
    top: 425px;
    left: 272px;
}

.main-visual__canvas #cvs-txt-16 {
    top: 425px;
    left: 400px;
}

.main-visual__canvas #cvs-txt-17 {
    top: 425px;
    left: 496px;
}

.main-visual__canvas #cvs-txt-18 {
    top: 425px;
    left: 613px;
}

.main-visual__canvas #cvs-txt-19 {
    top: 595px;
    left: 43px;
}

.main-visual__canvas #cvs-txt-20 {
    top: 595px;
    left: 184px;
}

.main-visual__canvas #cvs-txt-21 {
    top: 595px;
    left: 272px;
}

.main-visual__canvas #cvs-txt-22 {
    top: 595px;
    left: 360px;
}

.main-visual__canvas #cvs-txt-23 {
    top: 595px;
    left: 416px;
}

.main-visual__canvas #cvs-txt-24 {
    top: 595px;
    left: 535px;
}

.main-visual__canvas #cvs-txt-25 {
    top: 141px;
    left: 564px;
}

.viewport-sp .contents-contact {
    position: relative;
    z-index: 99999;
}
/*.viewport-sp .masks {
    display: none;
}*/
.ie9-form-message {
    display: none;
}

.ie9 #ContactForm {
    position: relative;
}

.ie9 .ie9-form-message {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,.9);
    z-index: 9999;
}

.ie9 .ie9-form-message p {
    color: red;
    font-weight: bold;
    margin-top: 100px;
}

.ie9 .contents-pages .system .system-flow .system-flow__section .section .step:before {
    display: none;
}

.ff .contents-pages .main-visual .main-visual__image {
    -webkit-animation: none;
    animation: none;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}

.ff .contents-index .main-visual .main-visual__image {
    -webkit-transition: none;
    transition: none;
}

.viewport-sp .footer-nav ul li.is-current span.bar {
    display: none;
}

.viewport-sp .staff__icon a:hover img,
.viewport-sp .footer-nav__share-icon a:hover img {
    opacity: 1;
}

.viewport-sp .pagetop {
    right: 40px;
}

.viewport-sp .contents-pages .doctor .main-visual .main-visual__image a:hover .movie-btn__icon {
    -webkit-animation: none;
    animation: none;
}


/*
* 160616追加
*/
.contents-index .sns-board {
    background: #f9f9f9;
    margin-top: 14px;
}

.contents-index .sns-board .container {
    padding-top: 77px;
    padding-bottom: 110px;
}
.contents-index .sns-board .container:before,
.contents-index .sns-board .container:after {
    content: " ";
    display: table;
}
.contents-index .sns-board .container:after {
    clear: both;
}

.contents-index .sns-board .sns-board__title {
    margin-bottom: 44px;
}

.contents-index .sns-board .facebook {
    width: 593px;
    float: left;
}

.contents-index .sns-board .facebook__list li a span,
.contents-index .sns-board .instagram__list li a span {
    -webkit-transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1);
    transition: -webkit-transform 0.65s cubic-bezier(.165,.84,.44,1);
    transition: transform 0.65s cubic-bezier(.165,.84,.44,1);
}
.contents-index .sns-board .facebook__list li a:hover span,
.contents-index .sns-board .instagram__list li a:hover span {
    -webkit-transform: scale(1.1,1.1);
    -ms-transform: scale(1.1,1.1);
    transform: scale(1.1,1.1);
}
.contents-index .sns-board .facebook__list:before,
.contents-index .sns-board .facebook__list:after {
    content: " ";
    display: table;
}
.contents-index .sns-board .facebook__list:after {
    clear: both;
}
.contents-index .sns-board .facebook__list li {
    width: 285px;
    float: right;
}
.contents-index .sns-board .facebook__list li:first-child {
    float: left;
}
.contents-index .sns-board .facebook__list li .facebook__list-thumb {
    overflow: hidden;
}
.contents-index .sns-board .facebook__list li .facebook__list-thumb span {
    display: block;
    width: 285px;
    height: 214px;
    -webkit-background-size: cover;
    background-size: cover;
}
.contents-index .sns-board .facebook__list li p {
    color: #727171;
    font-size: 14px;
    line-height: 2;
    margin-top: 28px;
    text-align: left;
}
.contents-index .sns-board .sns-board__button {
    margin-top: 49px;
}
.contents-index .sns-board .sns-board__button .button-roll {
    display: block;
    width: 234px;
    height: 40px;
    margin: 0 auto;
    line-height: 40px;
    background-color: #d5ad58;
    font-size: 16px;
    color: #fff;
    text-align: center;
}
.contents-index .sns-board .sns-board__button a {
    display: inline-block;
    position: relative;
}
.contents-index .sns-board .sns-board__button a:before {
    content: " ";
    display: block;
    width: 14px;
    height: 10px;
    background: url("../img/index/sns_board_icon_win.png") no-repeat 0 0;
    position: absolute;
    top: 15px;
    right: 20px;
    z-index: 1;
}

.contents-index .sns-board .instagram {
    width: 326px;
    float: right;
}
.contents-index .sns-board .instagram__list {
    margin-bottom: -5px;
}
.contents-index .sns-board .instagram__list:before,
.contents-index .sns-board .instagram__list:after {
    content: " ";
    display: table;
}
.contents-index .sns-board .instagram__list:after {
    clear: both;
}
.contents-index .sns-board .instagram__list li {
    float: left;
    width: 105px;
    height: 105px;
    margin-right: 5px;
    margin-bottom: 5px;
}
.contents-index .sns-board .instagram__list li a {
    display: block;
    overflow: hidden;
    width: 100%;
    height: 100%;
}
.contents-index .sns-board .instagram__list li:nth-child(3n) {
    margin-right: 0;
}
.contents-index .sns-board .instagram__list li span {
    display: block;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: cover;
    background-size: cover;
    width: 100%;
    height: 100%;
}

/* 1# margin -----------------------------------------------*/

.m0 { margin:0px!important;}
.mt04 { margin-top:4px!important; }
.mt05 { margin-top:5px!important; }
.mt10 { margin-top:10px!important; }
.mt12 { margin-top:12px!important; }
.mt15 { margin-top:15px!important; }
.mt20 { margin-top:20px!important; }
.mt25 { margin-top:25px!important; }
.mt30 { margin-top:30px!important; }
.mt35 { margin-top:35px!important; }
.mt40 { margin-top:40px!important; }
.mt60 { margin-top:60px!important; }
.mt70 { margin-top:70px!important; }
.mt75 { margin-top:75px!important; }
.mt80 { margin-top:80px!important; }
.mt85 { margin-top:85px!important; }
.mt90 { margin-top:90px!important; }

.mr00 { margin-right:0px!important; }
.mr02 { margin-right:2px!important; }
.mr03 { margin-right:3px!important; }
.mr05 { margin-right:5px!important; }
.mr07 { margin-right:7px!important; }
.mr10 { margin-right:10px!important; }
.mr12 { margin-right:12px!important; }
.mr13 { margin-right:13px!important; }
.mr15 { margin-right:15px!important; }
.mr16 { margin-right:16px!important; }
.mr20 { margin-right:20px!important; }
.mr25 { margin-right:25px!important; }
.mr30 { margin-right:30px!important; }
.mr35 { margin-right:35px!important; }
.mr37 { margin-right:37px!important; }
.mr46 { margin-right:46px!important; }
.mr50 { margin-right:50px!important; }
.mr80 { margin-right:80px!important; }
.mr83 { margin-right:83px!important; }


.mb02 { margin-bottom:2px!important; }
.mb04 { margin-bottom:4px!important; }
.mb05 { margin-bottom:5px!important; }
.mb10 { margin-bottom:10px!important; }
.mb15 { margin-bottom:15px!important; }
.mb20 { margin-bottom:20px!important; }
.mb25 { margin-bottom:25px!important; }
.mb30 { margin-bottom:30px!important; }
.mb35 { margin-bottom:35px!important; }
.mb40 { margin-bottom:40px!important; }
.mb50 { margin-bottom:50px!important; }
.mb60 { margin-bottom:60px!important; }
.mb70 { margin-bottom:70px!important; }
.mb80 { margin-bottom:80px!important; }

.ml01 { margin-left:1px!important; }
.ml05 { margin-left:5px!important; }
.ml06 { margin-left:6px!important; }
.ml07 { margin-left:7px!important; }
.ml10 { margin-left:10px!important; }
.ml13 { margin-left:13px!important; }
.ml15 { margin-left:15px!important; }
.ml20 { margin-left:20px!important; }
.ml25 { margin-left:25px!important; }
.ml30 { margin-left:30px!important; }
.ml35 { margin-left:35px!important; }
.ml45 { margin-left:45px!important; }
.ml55 { margin-left:55px!important; }
.ml60 { margin-left:60px!important; }
.ml100 { margin-left:100px!important; }
.ml120 { margin-left:120px!important; }
.ml135 { margin-left:135px!important; }
.ml415 { margin-left:415px!important; }
.ml525 { margin-left:525px!important; }

/*IE6*/
* html .ml13 { margin-left:06px!important; }



/* 2# padding -----------------------------------------------*/

.p0 { padding:0px!important; }
.p20{padding:20p !important;}

.pt05 { padding-top:5px!important; }
.pt10 { padding-top:10px!important; }
.pt15 { padding-top:15px!important; }
.pt20 { padding-top:20px!important; }
.pt25 { padding-top:25px!important; }
.pt30 { padding-top:30px!important; }
.pt35 { padding-top:35px!important; }

.pr05 { padding-right:5px!important; }
.pr08 { padding-right:8px!important; }
.pr10 { padding-right:10px!important; }
.pr15 { padding-right:15px!important; }
.pr20 { padding-right:20px!important; }
.pr25 { padding-right:25px!important; }
.pr30 { padding-right:30px!important; }
.pr35 { padding-right:35px!important; }

.pb05 { padding-bottom:5px!important; }
.pb10 { padding-bottom:10px!important; }
.pb15 { padding-bottom:15px!important; }
.pb20 { padding-bottom:20px!important; }
.pb25 { padding-bottom:25px!important; }
.pb30 { padding-bottom:30px!important; }
.pb35 { padding-bottom:35px!important; }
.pb42 { padding-bottom:42px!important; }

.pl05 { padding-left:5px!important; }
.pl08 { padding-left:8px!important; }
.pl10 { padding-left:10px!important; }
.pl15 { padding-left:15px!important; }
.pl20 { padding-left:20px!important; }
.pl23 { padding-left:23px!important; }
.pl25 { padding-left:25px!important; }
.pl30 { padding-left:30px!important; }
.pl35 { padding-left:35px!important; }
.pl45 { padding-left:45px!important; }
.pl50{ padding-left:50px!important; }
.pl75 { padding-left:75px!important; }
.pl80 {
	padding-left:80px!important;
}
.pl100 { padding-left:100px!important; }


/* 3# width -----------------------------------------------*/

.width_10 { width: 10%!important; }
.width_20 { width: 20%!important; }
.width_30 { width: 30%!important; }
.width_40 { width: 40%!important; }
.width_50 { width: 50%!important; }
.width_60 { width: 60%!important; }
.width_70 { width: 70%!important; }
.width_80 { width: 80%!important; }
.width_90 { width: 90%!important; }


/* 4# font_size -----------------------------------------------*/

.font_size_5 { font-size: 5px!important; }
.font_size_6 { font-size: 6px!important; }
.font_size_7 { font-size: 7px!important; }
.font_size_8 { font-size: 8px!important; }
.font_size_9 { font-size: 9px!important; }
.font_size_10 { font-size: 10px!important; }
.font_size_11 { font-size: 11px!important; }
.font_size_12 { font-size: 12px!important; }
.font_size_13 { font-size: 13px!important; }
.font_size_14 { font-size: 14px!important; }
.font_size_15 { font-size: 15px!important; }
.font_size_16 { font-size: 16px!important; }
.font_size_17 { font-size: 17px!important; }
.font_size_18 { font-size: 18px!important; }
.font_size_19 { font-size: 19px!important; }
.font_size_20 { font-size: 20px!important; }
.font_size_21 { font-size: 21px!important; }
.font_size_22 { font-size: 22px!important; }
.font_size_23 { font-size: 23px!important; }
.font_size_24 { font-size: 24px!important; }
.font_size_25 { font-size: 25px!important; }
.font_size_26 { font-size: 26px!important; }
.font_size_27 { font-size: 27px!important; }
.font_size_28 { font-size: 28px!important; }
.font_size_29 { font-size: 29px!important; }
.font_size_30 { font-size: 30px!important; }
.font_size_31 { font-size: 31px!important; }
.font_size_32 { font-size: 32px!important; }
.font_size_33 { font-size: 33px!important; }
.font_size_34 { font-size: 34px!important; }
.font_size_35 { font-size: 35px!important; }
.font_size_36 { font-size: 36px!important; }
.font_size_37 { font-size: 37px!important; }
.font_size_38 { font-size: 38px!important; }
.font_size_39 { font-size: 39px!important; }
.font_size_39 { font-size: 40px!important; }

.cocept_area
{
	width: 100%;
}
.cocept_area ul
{
	width: 100%;
}
.cocept_area ul li
{
	float: left;
	width: 33.333%
}
.cocept_area ul li img
{
	width: 100%;
}

.width_auto
{
	width: 100%;
	padding: 0;
	margin: -2px 0 0 0;
}
.dr_area
{
	width: 980px;
	margin: 0 auto;
}

.dr_photo
{
	width: 400px;
	float: left;
	margin: 60px 70px 60px 35px;
}

.dr_name
{
	width: 450px;
	float: left;
	margin: 60px 0 30px 0;
}
.dr_info
{
	width: 980;
	margin: 0 auto;
	padding: 0 0 45px;
}

.dr_name h3,
.dt_name h3
{
	text-align: center;
	margin: 0 0 10px 0;
}
.dr_name p,
.dt_name p
{
	text-align: left;
	line-height: 150%;
	font-size: 13px;
}
.dr_info p
{
	font-size: 12px;
}

.dt_area
{
	background-color: #F9F9F9;
}

.dt_inner
{
	width: 1000px;
	margin: 0 auto;
	overflow: hidden;
	padding: 0 0 65px 0;
}

.dt_photo
{
	width: 400px;
	float: left;
	margin: 60px 0 0 0;
}

.dt_name
{
	width: 450px;
	float: left;
	margin: 60px 70px 60px 35px;
}

.case_left
{
	width: 100%;
	background-color: #BBA187;
	overflow: hidden;
	position: relative;
}
.case_left .img_area
{
	float: left;
	width: 70%;
}
.case_left .img_area img
{
	width: 100%;
}
.case_left .text_area
{
	background-color: #BCA284;
	float: left;
	width:30%;
	text-align: left !important;
	overflow: hidden;
	box-sizing: border-box;
	padding: 20px;
	height: 100%;
	box-sizing: border-box;
	font-weight:bold;
}
.case_left .text_area p
{
	font-size:1.3vw;
	line-height: 160%;
	color: #fff;
}

.case_right
{
	width: 100%;
	background-color: #BBA187;
	overflow: hidden;
	position: relative;
	margin: 40px 0;
}
.case_right .img_area
{
	float: right;
	width: 70%;
}
.case_right .img_area img
{
	width: 100%;
}
.case_right .text_area
{
	background-color: #BBA187;
	float: right;
	width: 30%;
	height: 100%;
	text-align: left !important;
	overflow: hidden;
	box-sizing: border-box;
	padding: 20px 10px;
	font-weight:bold;
}
.case_right .text_area p
{
	font-size:1.3vw;
	line-height: 160%;
	color: #FFFFFF;
}


.system_area
{
	background-color: #000;
	overflow: hidden;
}
.flow_area
{
	background-color: #F9F9F9;
	overflow: hidden;
}

.right_area
{
	float: left;
	width: 50%;
	color: #fff;
	text-align: left;
}
.left_area
{
	float: left;
	width: 50%;
	color: #fff;
	text-align: left;
	min-height: 400px;
}
.right_area img,
.left_area img
{
	width: 100%;
}
.right_area h4,
.left_area h4
{
	font-size: 40px !important;
	background: none !important;
	margin: 25px 0 15px 25px !important;
}
.right_area h5,
.left_area h5
{
	font-size: 18px !important;
	margin: 0px 0 20px 20px;
}
.right_area p,
.left_area p
{
	font-size: 1.4vw;
	font-weight:bold;
	color: #fff;
	margin: 0px 10px 20px 20px;
	line-height: 180%;
	font-weight:normal;
}
@media screen and (min-width:1000px) {
.right_area p,
.left_area p{
	font-size:14px;
}
}
.right_area img.auto,
.left_area img.auto
{
	width: auto !important;
	margin: 0px 0 35px 20px;
}
.right_area img.line_35,
.left_area img.line_35
{
	width: auto !important;
	margin: 0px 0 35px 35px;
}


.flow_area .right_area
{
	float: left;
	width: 50%;
	color: #fff;
	text-align: left;
	min-height: 400px;
}
.flow_area .left_area
{
	float: left;
	width: 50%;
	color: #fff;
	text-align: left;
	min-height: 400px;
}

.flow_area .right_area h4,
.flow_area .left_area h4
{
	font-size: 40px !important;
	background: none !important;
	margin: 45px 0 15px 35px;
	color: #927851;
}
.flow_area .right_area h5,
.flow_area .left_area h5
{
	font-size: 16px !important;
	margin: 0px 0 20px 35px;
	color: #927851;
}
.flow_area .right_area p,
.flow_area .left_area p
{
	color: #333333;
	margin: 0 12px 0 35px;
	font-weight:normal;
}
.contact_area
{
	background-color: #F9F9F9;
}

.contact_area .right_area
{
	float: left;
	width: 50%;
	color: #fff;
	text-align: left;
	min-height: 400px;
}
.contact_area .left_area
{
	float: left;
	width: 50%;
	color: #fff;
	text-align: left;
	min-height: 400px;
}
.contact_area .right_area h4,
.contact_area .left_area h4
{
	font-size: 40px !important;
	background: none !important;
	margin: 45px 0 15px 35px;
	color: #927851;
}
.contact_area .right_area h5,
.contact_area .left_area h5
{
	font-size: 16px !important;
	margin: 0px 0 20px 35px;
	color: #927851;
}
.contact_area .right_area p,
.contact_area .left_area p
{
	color: #333333;
	margin: 0 12px 0 35px;
	font-weight:normal;
}
.access_area
{
	background-color: #000;
	overflow: hidden;
	width: 100%;
	height: 300px;
	position: relative;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.access_area .logo
{
	position:absolute;
	top:35px;
	left:50px;
}

.access_area .text{
	position:absolute;
	top:45px;
	left:300px;
	font-weight:bold;
}
.access_area p
{
	color: #fff;
	font-size: 14px;
	text-align: left !important;
}
.access_area .text p.train{
	font-size:12px;
	line-height:2em;
}
.zindex
{
	z-index: 1000;
}

.clear
{
	clear: both;
}

.youtube{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.contact_form_area
{
	width: 1000px;
	margin: 0 auto;
	text-align: left !important;
	font-family: "Rounded Mplus 1p";
}

.contact_form_area input,
.contact_form_area textarea,
.contact_form_area option,
.contact_form_area select
{
	border: 1px solid;
	border-color: #D5D5D5;
	margin: 0;
	padding: 0;
}

.contact_form_area select
{
	font-size: 13px;
}

/* 20:お問い合わせ */
table.contact{
	width: 95%;
	border: 5px solid;
	border-color: #999;
	margin: 0 0 20px 20px;
}

table.contact th{
	width: auto;
	border: 1px solid #CCCCCC;
	background: #000;
	padding: 10px;
	font-size: 100%;
	color: #FFF;
	vertical-align: middle;
}

table.contact td{
width:70%;
border:1px solid #CCCCCC;
padding:10px;
text-align:left;
background-color:#FFFFFF;
line-height: 180%;
}

em.must{
font-size:120%;
font-style:normal;
font-weight:bold;
color:#CC0000;
}

em.check{
font-size:80%;
font-style:normal;
font-weight:normal;
}

table.contact td input{
padding:5px;
height: 30px;
}
table.contact td textarea{
padding:5px;
}


.confirm{
margin:20px 0;
text-align:center;
background:#F5F5F5;
padding:10px;
}

.confirm .submitBtn{
padding:10px 20px;
}

div.error{
border:5px solid #CC0000;
padding:10px;
margin:0 0 20px 0;
width:90%;
}

div.error ul{
padding:0 0 0 15px;
}

div.error ul li{
list-style-type:disc;
}

.contact_form_area p.red{
color:#CC0000;
font-weight:bold;
margin:0 0 10px 0;
}

p.contactText{
margin:0 0 20px 0;
font-size:100%;
}
p.next {
	text-align: right;
}
.concept_wrapper p{
	font-size:1.3vw;
	line-height:1.8em;
	text-align:left;
	padding:0px 15px 0px 15px;
}
.cocept_01
{
	background: url(../image/first_02.jpg);
background-position:center top;
background-repeat:no-repeat;
-moz-background-size:cover;
background-size:cover;
}

.cocept_area_01
{
	width: 33.333%;
	background: url(../image/first_01.jpg);
	background-position:center top;
-moz-background-size:cover;
	background-size:cover;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;
	transition:0.5s;
}
.cocept_area_02
{
	width: 33.333%;
	background: url(../image/first_02.jpg) #F9F9F9 no-repeat;
	background-position:center top;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;
	position: relative;
	transition:0.5s;
}
.cocept_area_02 p{
	position:absolute;
	top:200px;
}
.cocept_area_03
{
	width: 33.333%;
	background: url(../image/first_03.jpg);
	background-position:center top;
-moz-background-size:cover;
	background-size:cover;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;	
	transition:0.5s;
}

.cocept_area_04
{
	width: 33.333%;
	background: url(../image/first_04.jpg);
	background-position:center top;
-moz-background-size:cover;
	background-size:cover;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;
	transition:0.5s;	
}
.cocept_area_05
{
	width: 33.333%;
	background: url(../image/first_05.jpg);
	background-position:center top;
-moz-background-size:cover;
	background-size:cover;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;
	transition:0.5s;	
}
.cocept_area_06
{
	width: 33.333%;
	background: url(../image/first_06.jpg) #F9F9F9 no-repeat;
	background-position:center top;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;
	position: relative;	
	transition:0.5s;
}
.cocept_area_06 p{
	position:absolute;
	top:200px;
	left:5px;
}
.cocept_area_07
{
	width: 33.333%;
	background: url(../image/first_07.jpg) #F9F9F9 no-repeat;
	background-position:center top;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;	
	position: relative;	
	transition:0.5s;
}
.cocept_area_07 p{
	position:absolute;
	top:200px;
	left:5px;
}
.cocept_area_08
{
	width: 33.333%;
	background: url(../image/first_08.jpg);
	background-position:center top;
-moz-background-size:cover;
	background-size:cover;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;
	transition:0.5s;
}
.cocept_area_09
{
	width: 33.333%;
	background: url(../image/first_09.jpg) #F9F9F9 no-repeat;
	background-position:center top;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;	
	position: relative;	
	transition:0.5s;
}
.cocept_area_09 p{
	position:absolute;
	top:200px;
	left:5px;
}
.cocept_area_010
{
	width: 33.333%;
	background: url(../image/first_010.jpg);
	background-position:center top;
-moz-background-size:cover;
	background-size:cover;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;
	transition:0.5s;	
}
.cocept_area_011
{
	width: 33.333%;
	background: url(../image/first_011.jpg) #F9F9F9 no-repeat;
	background-position:center top;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;	
	position: relative;
	transition:0.5s;
}
.cocept_area_011 p{
	position:absolute;
	top:200px;
	left:5px;
}
.cocept_area_012
{
	width: 33.333%;
	background: url(../image/first_012.jpg);
	background-position:center top;
-moz-background-size:cover;
	background-size:cover;
	height: 0;
	padding-top: calc(400/ 400 * 33.333%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	float: left;
	transition:0.5s;	
}
table.labo{
	margin-bottom:20px;
}
.labo th{
	color:#AD8B59;
	font-size:14px;
}
.labo td{
	padding:10px;
	font-size:14px;
	letter-spacing:0.07em;
}
.labo td.left{
	text-align:left;
	padding:10px 12px 10px 12px;
}

.next_btn
{
	text-align: center;
	margin: 50px auto;
	font-size: 18px;
}
.next_btn a
{
	display:block;
	text-align:center;
	border: 2px solid #BBA185;
	background-color: #BBA185;
	color: #fff !important;
	padding: 15px 80px;
	display: block;
	width: 500px;
	margin: 0 auto;
	box-sizing: border-box;
	font-weight:bold;
	text-decoration:none !important;
}
.next_btn a:hover
{
	border: 2px solid #BBA185;
	background-color: #fff;
	color: #BBA185 !important;
	box-sizing: border-box;
	text-decoration:none !important;
}

.next_btn_left
{
	text-align: left;
	margin: 0px;
	font-size: 18px;
}

.next_btn_left a
{
	border: 2px solid #BBA185;
	background-color: #BBA185;
	color: #FFF !important;
	padding: 10px 10px;
	display: block;
	width: 400px;
	height:48px;
	text-align:center;
	font-weight:bold;
	text-decoration:none !important;
}
.next_btn_left a:hover
{
	background-color: #fff;
	color: #BBA185 !important;
	text-decoration:none !important;
}

.case_text_right,
.case_text_left{
	position:relative;
	width:100%;
}

.case_link_right a{
	display:block;
	position:absolute;
	width:160px;
	height:30px;
	right:0px;
	bottom:0px;
	background-color:#685A4A;
	color:#fff;
	font-weight:bold;
	font-size:12px;
	text-align:center;
	padding:0px;
}

.case_link_right a:hover
{
	background-color: #fff;
	color: #BBA185;;
}

.case_link_left a{
	display:block;
	position:absolute;
	width:160px;
	height:30px;
	left:0px;
	bottom:0px;
	background-color:#BCA284;
	color:#fff;
	font-weight:bold;
	font-size:12px;
	text-align:center;
	padding:0px;
}

.case_link_left a:hover
{
	background-color: #fff;
	color: #BCA284;
}

.case_right .case_link_left a{
	display:block;
	position:absolute;
	width:160px;
	height:30px;
	left:0px;
	bottom:0px;
	background-color:#685A4A; !important;
	color:#fff;
	font-weight:bold;
	font-size:12px;
	text-align:center;
	padding:0px;
}

.case_right .case_link_left a:hover
{
	background-color: #fff;
	color: #685A4A;
}

.fix
{
	width: 100%;
	overflow: hidden;
	background-color: #000;
	position:fixed;
	z-index: 10000;
}

.header_navi
{
	float: left;
	box-sizing: border-box;
}

.header_navi ul
{
	width: 996px;
	background: url(../image/hader_bg.jpg) no-repeat;
	height: 42px;
	padding: 10px 0 0 0;
	box-sizing: border-box;
}
.header_navi ul li
{
	color: #fff;
}

.header_tel
{
	float: right;
}


.header_navi ul li
{
	float: left;
	display:block;
}

/*.header_navi ul li a
{
	color: #fff;
	border-right: 1px solid #efefef;
	background-color: #000;
	padding: 16px 20px;
	display: block;
	box-sizing: border-box;
}
.header_navi ul li a:hover
*/
.header_navi ul li a
{
	font-size: 13px;
	font-weight:bold;
}
.header_navi ul li a span
{
	border: none;
}
.header_navi ul li a span:hover
{
	border-bottom: 1px solid #fff;
}
.header_navi ul li.navi_01 a
{
	width: 68px;
	display: block;
}
.header_navi ul li.navi_02 a
{
	width: 140px;
	display: block;
}
.header_navi ul li.navi_03 a
{
	width: 100px;
	display: block;
}
.header_navi ul li.navi_04 a
{
	width: 80px;
	display: block;
}
.header_navi ul li.navi_05 a
{
	width: 80px;
	display: block;
}
.header_navi ul li.navi_06 a
{
	width: 85px;
	display: block;
}
.header_navi ul li.navi_07 a
{
	width: 172px;
	display: block;
}
.header_navi ul li.navi_08 a
{
	width: 45px;
	display: block;
}
.header_navi ul li.navi_09 a
{
	width: 175px;
	display: block;
}
.header_tel ul
{
}


.header_tel ul li a:hover
{
	background-color: #999;
}

.header_tel ul li
{
	float: right;
}

.header_tel ul li a
{
	color: #fff;
	border-left: 1px solid #efefef;
	background-color: #000;
	padding: 9px 15px;
	display: block;
	box-sizing: border-box;
}
.header_tel ul li img
{
	width: auto;
}

.sub_img
{
	margin: 0 auto;
}

.sub_img img
{
	width: 100%;
	margin: 0 auto;
}
.sub_page
{
	clear: both;
	width: 1000px;
	margin: 0 auto;
	padding: 60px 13px 0 13px;
	box-sizing: border-box;
	font-family: "Rounded Mplus 1p";
}

.sub_page h1
{
	font-size: 35px;
	text-align: left;
	font-family:YuMincho, '游明朝',"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif, YuGothic, 'Yu Gothic', 游ゴシック体, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
	letter-spacing: 2px;
	padding: 0 0 0px 0;
}
.sub_page h1:after{
    content: " ";
    display: block;
    height: 1px;
}
.sub_page h1:after {
    width: 28px;
    background-color: #999;
    margin: 30px 0 5px;
}
.sub_page h1 span
{
	padding: 0 20px 0px 0;
	color: #CCB08E;
}

.sub_page h1 + p
{
	font-size: 7px;
	text-align: left;
	padding: 0px 0 30px 0;
}
.sub_page h2
{
	text-align: left;
	background-color: #A1896F;
	color: #fff;
	font-size: 20px;
	letter-spacing:0.1em;
	padding: 12px 0 12px 12px;
	margin: 25px 0;
}
.sub_page h2:after
{
	display: none;
}

.sub_page h2:after {
    width: 0px;
	height: 0;
	display: none;
}

.sub_page h3
{
	color: #AD8B59;
	font-size: 18px;
	clear: both;
	text-align: left;
	margin: 25px 0 25px 0;
	padding-left:10px;
}
.sub_page h4{
	font-size: 16px;
	padding-left: 10px;
	border-left: solid 3px #cc9900;
	margin: 25px 0px 25px 10px;
	text-align:left;
}
.sub_page p
{
	text-align: left;
	font-size:15px;
	line-height:1.6em;
	margin-bottom:15px;
	padding:0 10px 0 10px;
	letter-spacing:1px;
}
.sub_page p strong{
	background: linear-gradient(transparent 60%, #CDB08F, #fff);
}
.sub_page a:link{
	color:#C93;
	text-decoration:underline;
}
.sub_page a:visited{
	color:#C93;
	text-decoration:underline;
}
.sub_page p a:hover{
	color:#C93;
	text-decoration:none;
}
.sub_page .box_01
{
	background-color: #F5F5F5;
	border: 1px solid #EBEBEB;
	padding: 10px 10px 10px 10px;
	font-size:14px;
	line-height:1.6em;
	width:97%;
	margin-left:10px;
}
.footer_link
{
	display: none;
}

@media screen and (max-width:1200px) {
.header_tel ul li img
{
	width: 85%;
}
.header_tel ul li a
{
	color: #fff;
	border-left: 1px solid #efefef;
	background-color: #000;
	padding: 9px 10px;
	display: block;
	box-sizing: border-box;
}

.header_tel
{
	display: none;
}
.footer_link
{
	display: block;
	background-color: #000;
	width: 100%;
	position: fixed;
	bottom: 0px;
	height: 60px;
	z-index: 100000;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #666;
	margin: 30px 0 0 0;
}


.footer_link a {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
.footer_link a:hover {
  background: #000;
}
.footer_link a:visited {
  background: #000;
}
.footer_link ul li {
	float: left;
	width: 50%;
	display: block;
	background-color: #000;
}
.footer_link ul li a {
	background-color: #000;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 2px;
	padding-left: 0px;
	display: block;
	height:60px;
	text-align: center;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #666;
}
.footer_link ul li:last-child a{
	border-right: none;
}
.footer_link ul li a img {
	height: 40px;
	width: auto;
}

}

.fb a{
	display:block;
}
a:hover .hoverimg{
	opacity:0.5;
}

.fb a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

.blinking {
    -webkit-animation: 0.5s linear 0s alternate none infinite running blink;
    -moz-animation: 0.5s linear 0s alternate none infinite running blink;
    animation: 0.5s linear 0s alternate none infinite running blink;
}
@-webkit-keyframes blink {
    0% { opacity: 0; }
    19.9% { opacity: 0; }
    20% { opacity: 1; }
    100% { opacity: 1; }
}
@-moz-keyframes blink {
    0% { opacity: 0; }
    19.9% { opacity: 0; }
    20% { opacity: 1; }
    100% { opacity: 1; }
}
@keyframes blink {
    0% { opacity: 0; }
    19.9% { opacity: 0; }
    20% { opacity: 1; }
    100% { opacity: 1; }
}

div.box_wrap{
	margin:0 auto;
}

div.box_02{
	width:310px;
	float:left;
	margin:20px auto;
	box-sizing:border-box;
}

div.box_02 p{
	text-align:center;
	font-size:14px;

}
div.box_02 p.title{
	font-size:18px;
	color:#222;
	margin-top:15px;
}


.next_btn2
{
	text-align: center;
	margin: 20px auto;
	font-size: 13px;
}
.next_btn2 a
{
	display:block;
	text-align:center;
	border: 2px solid #CCC;
	background-color: #CCC;
	color: #fff !important;
	padding: 7px 20px;
	display: block;
	width: 200px;
	margin: 0 auto;
	box-sizing: border-box;
	font-weight:bold;
	text-decoration:none !important;
}
.next_btn2 a:hover
{
	border: 2px solid #CCC;
	background-color: #fff;
	color: #CCC !important;
	box-sizing: border-box;
	text-decoration:none !important;
}

.box_ml{
	margin-left:170px !important;
}

.sub_page div.anti{
	background-color:#FAFAFA;
	padding:40px 0;
	font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}
.sub_page div.anti p{
	font-size:14px;
	text-align:center;
}
.sub_page div.anti p.text_anti1{
	color:#F4648E;
	text-align:center;
	font-weight:bold;
	font-size:46px;
	margin-bottom:0px !important;
}

.sub_page div.anti p.text_anti2{
	color:#F4648E;
	text-align:center;
	font-weight:bold;
	font-size:17px;
	color:#999;
	margin-top:0px !important;
}

img.fl_left{
	float:left;
	margin-right:15px;
}

.pc
{
	display: block;
}
.sp
{
	display: none;
}