@charset "utf-8";

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

.center { text-align: center !important; }
.right { text-align: right !important; }

.noTitle header #ForDoc a { color: #0079C5 !important; text-shadow: none; }

/* for doctors */
.doc a { color: #009cab; }
.doc a:visited {	color: #008a9e; }
.doc a:active { color: #008a9e; }

.doc ::selection { background: #009cab; }
.doc ::-moz-selection { background:#009cab; /* Firefox */ }

.doc button,
.doc .btn { color: #009cab !important; border-color: #009cab; }
.doc button:not(:disabled):hover,
.doc .btn:not(:disabled):hover { color: #FFF !important; background: #009cab; box-shadow: 0 10px 15px rgba(0, 156, 171, 0.3); }

.doc header h1 span { padding: 0 0 0 72px; text-align: left; }
.doc header.scrolled #HeadBtns { right: 140px; }
.doc header.scrolled #ForDoc a { color: #009cab !important; }

.doc article strong.underline:before { background: #A0EFF8; }
.doc footer #Copyright,
.doc#Home #Faq ul li .note { color: #829fa2; }

.doc #PageTitle { background-color: #91E3EB; background-image: url("/images/doc/pagetitleBg.png"); }
.doc #PageTitle h2 { text-shadow: 0 0 5px #91E3EB, 0 0 10px #91E3EB; }

.doc #Contact .note { text-shadow: 0 2px 8px rgba(0,156, 171, 0.8); }

.doc .slash,
.doc footer,
.doc#Home #Visual,
.doc#Home #News ol li a:hover,
.doc.policy .box { background: #E9FBFF; }

.doc footer:before,
.doc .slash:before,
.doc .slash:after { background-image: url("/images/doc/slash.svg"); }

.doc .slash#Contact,
.doc#Home #Visual h2 { background: #91E3EB; }

.doc .slash#Contact:before,
.doc .slash#Contact:after,
.doc#Home #Visual h2:before { background-image: url("/images/doc/slashB.svg"); }

.doc#Home #WhatIs #Slider li.anime h3,
.doc#Home #Merit ul li h3,
.doc#Home #Faq ul li h3,
.doc#About h4,
.doc#Faq #List ul li h3 { color: #009cab; }

.doc#Home #Faq ul li h3:before,
.doc#Faq #List ul li h3:before { background-image: url("/images/doc/faq-Q.png"); }

.doc .slick-prev:after,
.doc .slick-next:after,
.doc#Home #News ol li a:after { background-image: url("/images/doc/arrowR.png"); }

.doc .slick-dots li button { background: none; border-color: #1ec9da; }
.doc .slick-dots li.slick-active button { background: #1ec9da; }

/* animation */
@-webkit-keyframes linkin  {
	0%   { -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); } 33%{ -webkit-transform: rotate(-20deg); -ms-transform: rotate(-20deg); transform: rotate(-20deg); }
	66%{ -webkit-transform: rotate(20deg); -ms-transform: rotate(20deg); transform: rotate(20deg); } 100% { -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); }
	}
@keyframes linkin          {
	0%   { -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); } 33%{ -webkit-transform: rotate(-20deg); -ms-transform: rotate(-20deg); transform: rotate(-20deg); }
	66%{ -webkit-transform: rotate(20deg); -ms-transform: rotate(20deg); transform: rotate(20deg); } 100% { -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); }
	}

@-webkit-keyframes vertical {
	0% { -webkit-transform: translateY(0px); -ms-transform: translateY(0px); transform: translateY(0px); } 100% { -webkit-transform: translateY(10px); -ms-transform: translateY(10px); transform: translateY(10px); }
	}
@keyframes vertical {
	0% { -webkit-transform: translateY(0px); -ms-transform: translateY(0px); transform: translateY(0px); } 100% { -webkit-transform: translateY(10px); -ms-transform: translateY(10px); transform: translateY(10px); }
	}


@media screen and (max-width: 1040px){

#Home #Visual h2 { font-size: 38px; }

#About .three div > p.long { margin-right: 0; }
}

@media screen and (max-width: 770px){

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


/*-------------------------------------
	base
-------------------------------------*/

/* base */
html,
body { padding: 0; min-width: 375px; font-size: 15px; }

h2 { margin: 0 0 40px; font-size: 26px; }

input[type="text"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="email"],
input[type="url"],
select,
textarea { height: 34px; }

button,
.btn { min-width: 140px; height: 50px; line-height: 48px; font-size: 18px; }
button.orange,
.btn.orange,
.doc button.orange,
.doc .btn.orange { min-width: 160px; line-height: 50px; }

button.mini,
.btn.mini { min-width: 100px; padding: 0 20px; height: 30px; font-size: 12px; line-height: 28px; }

/* header */
header { padding: 15px; min-width: 375px; }
header h1 { font-size: 9px; letter-spacing: 0.2px; }
header h1 img { height: 36px; }

header #HeadBtns { top: 19px; right: 92px; }
header #HeadBtns .btn { min-width: 100px; padding: 0 20px; height: 30px; font-size: 12px; line-height: 30px !important; }
header #HeadBtns .btn ~ .btn { margin-left: 15px; line-height: 28px !important; }
header #ForDoc { top: 22px; right: 15px; font-size: 12px; line-height: 1.2; }

header.scrolled { padding: 10px 15px; }
header.scrolled h1 a { text-align: left; }
header.scrolled h1 img { height: 30px; }
header.scrolled #HeadBtns { top: 10px; }
header.scrolled #ForDoc { top: 11px; }

footer { margin: 150px 0 0; }
footer:before { top: -149px; height: 150px; }
footer div { padding-right: 40px; }
footer h2 { margin: 0 0 15px; width: 70%; }
footer ul li { margin: 0 0 5px; }
footer ul a { font-size: 13px; }
footer #Copyright { padding: 0 0 20px; }

footer div#OC { padding: 25px 20px; max-width: 300px; }
footer div#OC ul li { margin: 10px 0 0 16px; font-size: 12px; }
footer div#OC ul li:before { left: -16px; }
footer div#OC .btn { min-width: 100px; padding: 0 20px; height: 30px; font-size: 12px; line-height: 28px; }

/* common */
main { margin: 0 0 350px; }

article .inner > p.center:last-child { margin: 40px 0 0; }

.center .btn ~ .btn { margin-left: 30px; }

article strong.underline:before { height: 9px; }
article h2 strong.underline:before { height: 10px; }

.slash { margin: 150px 0; }
.slash:before { top: -149px; height: 150px; }
.slash:after { bottom: -149px; height: 150px; }

#Contact figure { margin: 0 auto 30px; width: 80%; }
#Contact figure + p { margin: 0 0 20px; font-size: 16px; }
#Contact figure + p br.pc { display: block; }
#Contact figure + p strong { font-size: 18px; }
#Contact ul { padding: 20px 20px 15px; }
#Contact ul li { margin: 0 0 5px 21px; font-size: 18px; }
#Contact .inner > p.center:last-child { margin: 30px 0 0; }

#PageTitle { margin: 0; padding: 90px 0 100px; background-size: cover; }
#PageTitle h2 { font-size: 30px; }
#PageTitle:before { height: 150px; }

.commingSoon span { padding: 14px 0 0; }

/* page */
#Home #Visual { margin: 0; }
#Home #Visual h2 { margin: 0 0 30px; padding: 140px 0; font-size: 30px; }
#Home #Visual h2:before { bottom: -149px; height: 150px; }
#Home #Visual .center { margin: -140px 0 10px; }
#Home #Visual figure p.bg { top: 100px; }

#Home #WhatIs h2 { margin: 0; }
#Home #WhatIs #Slider li.anime { padding: 30px 0; }
#Home #WhatIs #Slider li.anime figure + div { padding-left: 30px; }
#Home #WhatIs #Slider li.anime h3 { margin: 0 0 20px; font-size: 18px; }
#Home #WhatIs #Slider li.anime p { margin: 10px 0 0; }
#Home #WhatIs .inner > p.center:last-child { margin: 10px 0 0; }

.slick-prev { left: -15px; }
.slick-next { right: -15px; }
.slick-dots { bottom: 10px; }
.slick-dotted.slick-slider { margin: 0; }

#Home #Merit h2 { margin: 0 0 20px; }
#Home #Merit h2 + .center { margin: 0 0 30px; font-size: 17px; }
#Home #Merit ul li > figure { margin: 0 auto; width: 90%; }
#Home #Merit ul li h3 { font-size: 18px; }
#Home #Merit ul li:last-child h3 {line-height: 42px; }
#Home #Merit .inner > p.center:last-child { margin: 30px 0 0; }

#Home #Faq ul li { margin: 40px 0 0; padding: 0 15px 0 0; }
#Home #Faq ul li:nth-child(2n) { padding: 0 0 0 15px; }
#Home #Faq ul li h3 { margin: 0 0 10px; font-size: 17px; }
#Home #Faq ul li h3:before { top: -10px; left: -10px; width: 130px; height: 148px; }
#Home #Faq ul li p { padding-left: 20px; }

#Home #News h2 { font-size: 20px; }
#Home #News h2 + .right { margin: -29px 0 15px; }
#Home #News ol { margin: 15px 0 0; }
#Home #News ol li.nolink,
#Home #News ol li a { padding: 10px 20px 10px 10px; }
#Home #News ol li.nolink { padding-right: 10px; }
#Home #News ol li a:after { margin: -7.5px 0 0; width: 9px; height: 15px; }
#Home #News ol li a:hover:after { right: 10px; }
#Home #News ol li i { padding-right: 10px; min-width: 90px; }

#About h3 { margin: 0 0 30px; padding: 0 10%; font-size: 22px; }
#About h4 { margin: 0 0 15px; font-size: 17px; }

#About .three .inner ~ .inner { margin: 50px 0 0; }
#About .three#Merit figure { width: 35%; }
#About .three#Merit figure,
#About .three#Merit figure p { padding: 0 5%; }

#About .three#Merit .inner > div { padding: 0 0 0 5%; width: 65%; }
#About .three#Merit .inner:nth-of-type(2) > div { padding: 0 5% 0 0; }
#About .three#Merit div > p { margin: 10px 0 0; }

#Faq #List ul { margin: -20px 0 0; padding: 20px 0 0; }
#Faq #List ul li { margin: 0 0 40px; padding: 0 0 40px 20px; min-height: 170px; }
#Faq #List ul li h3 { margin: 0 0 10px; font-size: 18px; }
#Faq #List ul li h3:before { top: -10px; left: -10px; width: 130px; height: 148px; }
#Faq #List ul li p { padding-left: 20px; }

.policy #List h3 { margin: 0 0 10px; font-size: 20px; }
.policy #List p { margin: 0 0 20px; }
.policy #List ol { margin: 30px 0; }
.policy #List li { margin: 0 0 30px; }

.policy #Security { margin: 60px 0 0; }
.policy #Security .inner { padding-top: 60px; }
.policy #Privacy h3,
.policy #Security h3 { margin: 0 0 20px; font-size: 24px; }
.policy #Privacy ol,
.policy #Security ol { margin: 30px 0; }

#NewsList h3 { font-size: 19px; }
#NewsList li a,
#NewsList li.nolink { padding: 10px 20px 10px 10px; }
#NewsList li i { padding-right: 10px; min-width: 90px; }
#NewsList li a:after { margin: -7.5px 0 0; width: 9px; height: 15px; }
#NewsList li a:hover:after { right: 10px; }

#Card.news h3 { font-size: 20px; }
#Card.news .center { margin: 20px 0 0; padding-top: 20px; }

.short main { margin: 0 0 200px; }

#Card { display: block; margin: -180px auto 0; padding: 30px; max-width: 500px; font-size: 14px; }
#Card .form,
#Card .link { display: block; padding: 30px 0 0; width: 100%; border: none; }
#Card .form { padding: 0 0 30px; border-bottom: 1px solid #CADCEA; }
#Card h3 { margin: 0 0 20px; font-size: 22px; }
#Card .link h3 { font-size: 20px; }
#Card p { margin: 15px 0 0; }
#Card .form .center { margin: 15px 0 0; }

#Card.narrow { max-width: 420px; }
#Card.narrow .center { margin: 20px 0 0; padding: 20px 0 0; }

#Card.form dl,
#Card.form dt,
#Card.form dd { display: block; width: 100%; }
#Card.form dt { padding: 10px 0 0; line-height: 1; }
#Card.form dt:after { position: static; margin: 0 0 0 8px; padding: 0 5px; font-size: 10px; vertical-align: middle; }

#Card .aboutPP li { font-size: 14px; }

#Card.form input[type=radio] + span,
#Card.form input[type=checkbox] + span { font-size: 16px; line-height: 22px; }

#Card.form #CheckPriv { margin: 20px -30px; padding: 15px 30px; }

.conf #Card.form dl,
.conf #Card.form dt { line-height: 1.6; border: none; }
.conf #Card.form dd { margin: 5px 0 0; padding: 5px 0; line-height: 1.6; }

#NoPage .inner { margin: 120px 40px 0; padding: 40px; text-align: left; }
#NoPage h2 { margin: 0 0 30px; font-size: 24px; text-align: left; }
#NoPage h2 strong { font-size: 30px; }
#NoPage .dashed { margin: 30px 0 0; padding: 30px 0 0; }
#NoPage .noidea { right: -20px; }
#NoPage .noidea img { height: 280px; }

/* for doctors */
.doc header h1 span { padding: 0 0 0 45px; }
.doc header #ForDoc { top: 29px; }
.doc header.scrolled #HeadBtns { right: 85px; }
.doc header.scrolled #ForDoc { top: 16px; }
}

@media screen and (max-width: 600px){

/* base */
body { font-size: 14px; }
h2 { margin: 0 0 20px; font-size: 18px; }

.select_box { min-width: 80px; }
.select_box + span { margin: 0 15px 0 5px; }

button,
.btn { padding: 0 25px; min-width: 120px; height: 40px; line-height: 38px; font-size: 16px; }
button.orange,
.btn.orange { min-width: 140px; line-height: 40px !important; }

header,
header.scrolled { padding: 10px; }
header h1 { font-size: 8px; letter-spacing: -0.3px; }
header h1 img { height: 30px; }

header #HeadBtns { right: 76px; }
header #HeadBtns .btn { min-width: 80px; padding: 0 18px; font-size: 11px; }
header #HeadBtns .btn ~ .btn { margin-left: 10px; }
header #ForDoc { top: 15px; right: 10px; font-size: 11px; }

header.scrolled h1 { width: 32px; overflow: hidden; }
header.scrolled h1 img { width: auto; max-width: none; }

footer { margin: 120px 0 0; }
footer:before { top: -119px; height: 120px; }
footer .inner { display: block; padding: 0 15px; }
footer #Copyright { margin: 190px 0 0; text-align: center; }
footer div { margin: 0 auto; padding: 0; width: 100%; max-width: 400px; }
footer div#OC { margin: -205px auto 50px; max-width: 400px; }

/* common */
main { margin: 0 0 490px; }
article .inner { padding: 0 20px; }
article .inner > p.center:last-child { margin: 20px 0 0; }

.slash { margin: 120px 0; }
.slash:before { top: -119px; height: 120px; }

.center .btn ~ .btn { margin-left: 20px; }

#Contact .inner { overflow: hidden; }
#Contact figure { margin: 0 0 15px; width: 100%; }
#Contact figure + p { font-size: 14px; }
#Contact figure + p br.pc { display: none; }
#Contact figure + p strong { font-size: 15px; }
#Contact ul { display: block; margin: 0 -20px; }
#Contact ul li { font-size: 15px; }

#PageTitle { padding: 90px 0; }
#PageTitle h2 { font-size: 24px; }
#PageTitle:before { height: 120px; }

/* page */
#Home #loading img { margin: -30px 0 0 -30px; width: 60px; }

#Home #Visual { padding: 0 0 50px; }
#Home #Visual:before { height: 120px; }
#Home #Visual h2 { padding: 100px 0; font-size: 23px; }
#Home #Visual h2:before { bottom: -119px; height: 120px; }
#Home #Visual .center { margin: -110px 0 10px; }
#Home #Visual figure p.bg { top: 50px; }

#Home #WhatIs #Slider li.anime { display: block; }
#Home #WhatIs #Slider li.anime figure { margin: 0 0 30px; width: 100%; }
#Home #WhatIs #Slider li.anime figure + div { padding: 0; width: 100%; }
#Home #WhatIs #Slider li.anime h3 { margin: 0 0 15px; font-size: 16px; }

.slick-dots { width: 100%; }

#Home #Merit h2 { margin: 0 0 10px; }
#Home #Merit h2 + .center { margin: 0 0 15px; font-size: 15px; }

#Home #Merit ul { display: block; }
#Home #Merit ul li { display: block; margin: 0 auto; padding: 0; width: auto; text-align: center; }
#Home #Merit ul li > figure { display: inline-block; margin-left: 10px; max-width: 150px; vertical-align: middle; }
#Home #Merit ul li h3 { display: inline-block; padding: 0 0 20px 10px; min-width: 170px; font-size: 16px; text-align: left; vertical-align: middle; }
#Home #Merit ul li:hover figure,
#Home #Merit ul li:hover h3 { top: 0; }
#Home #Merit .inner > p.center:last-child { margin: 10px 0 0; }

#Home #Faq ul { display: block; }
#Home #Faq ul li { margin: 30px 0 0; padding: 0 !important; width: 100%; }
#Home #Faq ul li h3 { margin: 0 0 5px; font-size: 15px; }
#Home #Faq ul li h3:before { width: 60px; height: 69px; }
#Home #Faq ul li p { padding-left: 16px; }
#Home #Faq .inner > p.center:last-child { margin: 30px 0 0; }

#Home #News h2 { font-size: 18px; }
#Home #News h2 + .right { margin: -28px 0 10px; }
#Home #News ol { margin: 10px 0 0; }
#Home #News ol li.nolink,
#Home #News ol li a { padding: 8px 20px 8px 8px; }
#Home #News ol li.nolink { padding-right: 8px; }
#Home #News ol li a:hover:after { right: 5px; }
#Home #News ol li i { padding-right: 8px; min-width: 82px; }

#About h3 { margin: 0 0 20px; padding: 0 15px; font-size: 18px; }
#About h4 { margin: 0 0 10px; font-size: 16px; }

#About .three .inner { display: block; }
#About .three .inner ~ .inner { margin: 25px 0 0; }
#About .three figure,
#About .three .inner > div { width: 100% !important; }
#About .three div > p { margin: 10px 0 0; }

#About .three#Merit figure,
#About .three#Merit figure p { padding: 0 25%; }

#About .three#Merit .inner > div { padding: 0 !important; }
#About .three#Merit div > p { margin: 5px 0 0; }

#About .three#Slide figure,
#About .three#Sorround figure,
#About .three#Slide figure p,
#About .three#Sorround figure p { padding: 0 !important; }
#About .three:not(#Merit) h4 { margin: 15px 0 10px; }

#Faq #List ul li { margin: 0 0 30px; padding: 0 0 30px 10px; min-height: 0; }
#Faq #List ul li h3 { margin: 0 0 5px; font-size: 15px; }
#Faq #List ul li h3:before { width: 60px; height: 69px; }
#Faq #List ul li p { padding-left: 16px; }

.policy #List h3 { font-size: 16px; }
.policy .box { padding: 20px; min-width: 0; }
.policy .box h4 { margin: 0 0 10px; font-size: 15px; }

.policy #Privacy h3,
.policy #Security h3 { font-size: 22px; }

#NewsList h3 { font-size: 17px; }
#NewsList li a,
#NewsList li.nolink { padding: 8px 20px 8px 8px; }
#NewsList li a:hover:after { right: 5px; }
#NewsList li i { padding-right: 8px; min-width: 82px; }

#Card.news h3 { font-size: 17px; }
#Card.news .center { margin: 15px 0 0; padding-top: 15px; }

.short footer #Copyright { margin: 0; }
.short main { margin: 0 0 170px; }

#Card { margin: -150px auto 0; padding: 20px; max-width: 400px; font-size: 13px; }
#Card .form,
#Card .link { padding: 20px 0 0; }
#Card .form { padding: 0 0 20px; }
#Card h3 { margin: 0 0 10px; font-size: 20px; }
#Card .aboutPP { margin: 30px 0 0; padding: 20px 20px 10px; }
#Card .aboutPP li { margin: 0 0 10px; font-size: 13px; }
#Card .link h3 { font-size: 18px; }
#Card p { margin: 10px 0 0; }

#Card.form dl { margin: 10px 0; }
#Card.form input[type=radio] + span,
#Card.form input[type=checkbox] + span { font-size: 15px; }

#Card.form #CheckPriv { margin: 15px -20px; padding: 10px 20px; }

#NoPage .inner { margin: 80px 20px 0; padding: 30px 20px; }
#NoPage h2 { font-size: 20px; }
#NoPage h2 strong { font-size: 24px; }
#NoPage .noidea { right: -10px; }
#NoPage .noidea img { height: 180px; }

/* for doctors */
.doc header h1 span { padding: 0 0 0 37px; }
.doc header #ForDoc { top: 21px; }
.doc header.scrolled #HeadBtns { right: 74px; }

.doc #Contact .note { margin: 0 -20px; padding: 20px; }
}

@media screen and (max-width: 400px){

#Home #Merit h2 { margin: 0 -10px 10px; font-size: 17px; }
#Home #Merit h2 + .center { margin: 0 -10px 15px; }
}
