@charset "UTF-8";
/**====================================
 * CSS information
 * file name	: style.css
 * author		: libretto works
====================================**/

/*/////////////////////////////////////////////////////////////////////////////


              // TOP //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* visual
-------------------------------------------------- */
#visual {
	width: calc(100% - 100px);
	height: calc(100vh - 150px);
	min-width: 1080px;
	min-height: 460px;
	margin: 0 auto;
	position: relative;
	opacity: 0;
}
.motion  #visual  {
	-webkit-animation: fade 1s forwards 0.2s;
	animation: fade 1s forwards 0.2s
}
#visual .slider {
	width: 100%;
	height: calc(100% - 50px);
	border-radius: 10px;
	overflow: hidden;
}
#visual .slider div {
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 10px;
}
#visual .slider .main01 {
	background-image: url(../images/main01.jpg);
}
#visual .slider .main02 {
	background-image: url(../images/main02.jpg);
}
#visual .slider .main03 {
	background-image: url(../images/main03.jpg);
}
#visual .slider .main04 {
	background-image: url(../images/main04.jpg);
}
#visual .slider .main05 {
	background-image: url(../images/main05.jpg);
}
#visual .copy {
	position: absolute;
	top: 18%;
	right: 12%;
	width: 240px;
}
#visual .copy span {
	width: 240px;
	font-weight: 700;
	font-size: 30px;
	color: #FFFFFF;
	writing-mode: vertical-rl;
	letter-spacing: 9px;
	line-height: 2;
	text-shadow:0px 0px 5px rgba(0,0,0,0.25)
}
#visual h1 {
	font-size: 13px;
	line-height: 50px;
	letter-spacing: 4px;
	padding-left: 10px;
}
#visual .scroll {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 80px;
	text-align: center;
	padding-bottom: 15px;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 2px;
	color: #FFFFFF;
	background: url(../images/arrow_down.png) center bottom no-repeat;
	background-size: 16px auto;
}

/* sec-news
-------------------------------------------------- */
.sec-news {
	width: 1080px;
	margin: 60px auto 0;
	border-top: 3px solid #67b1f7;
	padding: 60px 0;
}
.sec-news .sec-ttl {
	float: left;
}
.sec-news .btn {
	text-align: right;
}
/* sec-about
-------------------------------------------------- */
.sec-about {
	width: 100%;
	position: relative;
	padding: 70px 0;
	margin-bottom: 60px;
}
.sec-about::before {
	content: "";
	width: 67%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #f5f8fa;
	border-radius: 0 10px 10px 0;
}
.sec-about-inr {
	max-width: 1520px;
	margin: 0 auto;
	position: relative;
}
.sec-about .thumb {
	width: 47%;
	border-radius: 10px;
	margin: 0 6% 0 7.5%;
	float: left;
	position: relative;
	overflow: hidden;
}
.sec-about .block {
	width: 410px;
	float: left;
	padding: 30px 0;
	transition: all .3s;
}
.sec-about .block .btn {
	margin-top: 30px;
}
@media screen and (max-width: 1280px) {
.sec-about .block {
	padding-top: 15px;
}
}
@media screen and (max-width: 1235px) {
.sec-about .block {
	padding-top: 0;
}
}
/* sec-treatment
-------------------------------------------------- */
.sec-treatment {
	text-align: center;
}
.sec-treatment .sec-ttl {
	text-align: center;
}
.symptoms-list {
	text-align: center;
	width: 1080px;
	margin: 35px auto 20px;
	padding-bottom: 55px;
	background-image: url(../images/top_sec02_bg01.png), url(../images/top_sec02_bg02.png), url(../images/top_sec02_arrow.png);
	background-repeat: no-repeat;
	background-position: left top, right top, center bottom;
	background-size: 60px auto, 60px auto, 80px auto;
}
.symptoms-list li {
	display: inline-block;
	vertical-align: top;
	width: 180px;
	margin: 0 20px;
}
.symptoms-list li p {
	line-height: 1.5;
	font-size: 18px;
	font-weight: 500;
	padding-top: 10px;
}
.sec-treatment-lead {
	display: inline-block;
	position: relative;
	padding: 0 10px;
	margin-bottom: 60px;
}
.sec-treatment-lead::before {
	content: "";
	width: 100%;
	height: 12px;
	position: absolute;
	left: 0;
	bottom: -5px;
	background: #a4d0fa;
	border-radius: 8px;
}
.sec-treatment-lead p {
	position: relative;
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
}
.sec-treatment-lead p span {
	display: inline-block;
	font-size: 46px;
	font-weight: 700;
	position: relative;
}
.sec-treatment-lead p span:last-child {
	margin-right: 3px;
}
.sec-treatment-lead p span::before {
	content: "";
	width: 8px;
	height: 8px;
	position: absolute;
	left: 50%;
	bottom: -30px;
	background: #67b1f7;
	border-radius: 4px;
	margin-left: -4px;
}
.sec-treatment-txt {
	font-size: 21px;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: 3px;
}
.sec-treatment .treatment-list {
	width: calc(100% - 100px);
	min-width: 1180px;
	margin: -50px auto 0;
	background: #f5f8fa;
	border-radius: 10px;
	padding: 95px 0 80px;
}
.treatment-list ul {
	width: 1080px;
	margin: 0 auto;
}
.sec-treatment .treatment-list ul {
	margin-bottom: 45px;
}
.treatment-list ul li {
	width: 212px;
	background: #f5f8fa;
	border-radius: 10px;
	float: left;
	margin: 0 5px 5px 0;
	text-align: center;
}
.sec-treatment .treatment-list ul li {
	background: #ffffff;
}
.treatment-list ul li:nth-child(5n) {
	margin-right: 0;
}
.treatment-list ul li img {
	width: 100%;
	height: auto;
}
.treatment-list ul li .ttl {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	padding-bottom: 20px;
}
.treatment-list ul li .ttl span {
	font-size: 13px;
	font-weight: 500;
}
.treatment-list .modal li {
	position: relative;
	padding-bottom: 55px;
}
.treatment-list .modal li a {
	color: #262626;
}
.treatment-list .modal li .more {
	width: 100%;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
	font-size: 14px;
	color: #428bd1;
	position: relative;
	padding: 20px 0 15px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.treatment-list .modal li .more::before,
.treatment-list .modal li .more::after {
	content: "";
	background: #67b1f7;
	position: absolute;
	left: 50%;
}
.treatment-list .modal li .more::before {
	width: 20px;
	height: 2px;
	top: 10px;
	margin-left: -10px;
}
.treatment-list .modal li .more::after {
	width: 2px;
	height: 20px;
	top: 0px;
	margin-left: -1px;
}
/* sec-link
-------------------------------------------------- */
.sec-link {
	padding: 80px 0;
	text-align: center;
}
.sec-link li {
	display: inline-block;
	margin: 0 30px;
}
.sec-link li a {
	display: block;
	border: 3px solid #67b1f7;
	color: #262626;
	font-size: 21px;
	font-weight: 700;
	width: 430px;
	padding: 50px 0 60px;
	border-radius: 4px;
}
.sec-link li a span {
	display: block;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 500;
	font-size: 18px;
	color: #428bd1;
	transition: all .3s;
}
/* gallery
-------------------------------------------------- */
.gallery {
	overflow: hidden;
}
.gallery ul {
	width: 2200px;
	margin: 0 auto;
}

/*/////////////////////////////////////////////////////////////////////////////


              // ABOUT //
	  

/////////////////////////////////////////////////////////////////////////////*/
.message {
	width: 100%;
	position: relative;
	padding: 20px 0 80px;
	margin-bottom: 80px;
}
.message::before {
	content: "";
	width: 60%;
	height: 78%;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #f5f8fa;
	border-radius: 0 10px 10px 0;
}
.message-inr {
	max-width: 1680px;
	margin: 0 auto;
	position: relative;
	padding: 0 10%;
	box-sizing: border-box;
}
.message .left-block {
	text-align: right;
	width: 32%;
	float: left;
	position: relative;
}
.message .left-block .cont-ttl {
	margin: 0 20px 100px 0;
}
.message .thumb {
	border-radius: 6px;
	overflow: hidden;
}
.message .right-block {
	width: 60%;
	float: right;
}
.message .right-block .name {
	text-align: right;
	font-size: 28px;
	font-weight: 500;
	margin: 35px 0 50px;
}
.message .right-block .name span {
	font-size: 18px;
	font-weight: 500;
	margin-right: 15px;
}
.message .right-block .name span.en {
	font-size: 14px;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 500;
	margin: 0 0 0 20px;
}
@media screen and (max-width: 1350px) {
.message-inr {
	width: 1080px;
	margin: 0 auto;
	padding: 0;
}
}
.about-gallery {
	text-align: center;
	width: 1080px;
	margin: 0 auto;
}
.about-gallery .cont-ttl {
	margin-bottom: 50px;
}
.about-gallery ul {
	padding-right: 120px;
	margin-bottom: -40px;
}
.about-gallery ul li {
	width: 25%;
	margin: 0 40px 40px 0;
	float: left;
	border-radius: 10px;
	overflow: hidden;
}
.about-gallery ul li:nth-child(4n) {
	margin-right: -120px;
}

/*/////////////////////////////////////////////////////////////////////////////


              // TREATMENT //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* modal
-------------------------------------------------- */
#modal-overlay {
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	background: rgba(255,255,255,0.98);
	z-index: 99998;
	display: none;
	border: 10px solid #67b1f7;
	box-sizing: border-box;
	background-image: url(../images/frame_tl.png), url(../images/frame_tr.png), url(../images/frame_br.png), url(../images/frame_bl.png);
	background-repeat: no-repeat;
	background-position: left top, right top, right bottom, left bottom;
	background-size: 10px 10px;
}
.modal-contents {
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 99999;
	pointer-events: none;
	display: none;
}
.modal-inr {
	width: 1080px;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 99999;
	margin-left: -540px;
	transform:translateY(-50%);
	pointer-events: auto;
}
.modal-contents .close {
	display: inline-block;
	position: absolute;
	width: 50px;
	height: 50px;
	cursor: pointer;
	right: 0;
	top: -30px;
}
.modal-contents .close::before,
.modal-contents .close::after {
	content: "";
	width: 50px;
	height: 2px;
	background: #262626;
	position: absolute;
	top: 25px;
	left: 0;
	transform-origin: center center;
}
.modal-contents .close::before {
	transform: rotate(-45deg);
}
.modal-contents .close::after {
	transform: rotate(45deg);
}
.modal-contents .thumb {
	width: 460px;
	float:left;
	border-radius: 10px;
	overflow: hidden;
}
.modal-contents .thumb img {
	width: 100%;
	height: auto;
}
.modal-contents .block {
	width: 570px;
	float: right;
}
.modal-contents .box {
	border-left: 2px solid #67b1f7;
	border-right: 2px solid #67b1f7;
	border-bottom: 2px solid #67b1f7;
	border-radius: 4px;
	margin-top: 20px;
}
.modal-contents .box .ttl {
	background: #67b1f7;
	padding: 0 25px;
	line-height: 45px;
	font-size: 18px;
	font-weight: 700;
	color: #FFFFFF;
}
.modal-contents .box ul {
	padding: 15px 10px 15px 20px;
}
.modal-contents .box ul li {
	width: 50%;
	float: left;
	position: relative;
	padding: 2px 10px 2px 18px;
	box-sizing: border-box;
	line-height: 1.75;
	font-size: 15px;
	font-weight: 500;
}
.modal-contents .box ul li::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 5px;
	background: #a4d0fa;
	position: absolute;
	left: 0;
	top: 11px;
}
.modal-contents .btn {
	text-align: right;
	margin-top: 35px;
}
.modal-contents .btn a {
	margin-left: 10px;
}
.modal-contents .btn a::before {
	width: 260px;
}
.modal-contents .btn a span {
	width: 260px;
}
.modal-contents .btn a.btn-reserve::before {
	background: #b3a402;
}
.modal-contents .btn a.btn-reserve span {
	background: #ffea00;
	color: #428bd1;
}

/*/////////////////////////////////////////////////////////////////////////////


              // PRICE //
	  

/////////////////////////////////////////////////////////////////////////////*/
.price section {
	width: 1080px;
	text-align: center;
	margin: 0 auto 70px;
}
.price .cont-ttl {
	margin-bottom: 20px;
}
.price .lead {
	font-size: 17px;
	margin-bottom: 30px;
	letter-spacing: 1px;
}
.price-box {
	border: 3px solid #67b1f7;
	background: #f5f8fa;
	text-align: center;
	padding: 45px 50px;
	border-radius: 10px;
}
.price-box .price-ttl p {
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
	margin: 0 20px;
}
.price-box .price-ttl p span {
	font-size: 34px;
	font-weight: 700;
	color: #428bd1;
}
.price-box .price-ttl p span.sp-non {
	font-size: 18px;
	color: #262626 !important;
}
.price-box .price-list {
	background: #FFFFFF;
	border-radius: 10px;
	margin-top: 40px;
	padding: 15px 50px;
}
.price-box .price-list ul {
	padding-right: 40px;
}
.price-box .price-list ul li {
	width: 33.3333%;
	margin-right: 20px;
	float: left;
	font-weight: 500;
	line-height: 58px;
	border-top: 1px dotted #999999;
}
.price-box .price-list ul li:nth-child(n+1):nth-child(-n+3) {
	border-top: none;
}
.price-box .price-list ul li span {
	font-size: 14px;
	font-weight: 500;
}
.price-box .price-list ul li:nth-child(3n) {
	margin-right: -40px;
}
.first-time .cont-ttl::before {
	background: #ffb7bb;
}
.first-time .price-box {
	border: 3px solid #ff878d;
	background: #fff3f3;
}
.first-time .price-box .price-ttl p span {
	color: #ff878d;
}


/*/////////////////////////////////////////////////////////////////////////////


              // NEWS //
	  

/////////////////////////////////////////////////////////////////////////////*/
.news-wrap {
	width: 1080px;
	margin: 0 auto;
}
.right-column {
	width: 860px;
	float: right;
}
.right-column .col3 {
	float: none;
}
.left-column {
	width: 170px;
	float: left;
}
.side-block {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 40px;
}
.side-block .ttl {
	font-size: 18px;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
	line-height: 74px;
	border-bottom: 3px solid #67b1f7;
	border-top: 3px solid #67b1f7;
	padding: 0 10px;
	margin-bottom: 20px;
}
.side-block ul {
	padding: 0 10px;
}
.side-block ul li {
	padding: 3px 0;
	line-height: 1.75;
	font-weight: 500;
}
.wp-pagenavi {
	margin:20px auto 0;
}
.wp-pagenavi a {
	display:inline-block;
	width: 50px;
	height: 50px;
	margin: 0 5px 10px 0;
	line-height: 48px;
	border: 1px solid #67b1f7;
	text-align: center;
	text-decoration: none;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
	border-radius: 4px;
}
.wp-pagenavi span.current,
.wp-pagenavi span.extend {
	display:inline-block;
	color: #ffffff;
	width: 50px;
	height: 50px;
	margin:0 5px 10px 0;
	line-height: 48px;
	background: #67b1f7;
	border: 1px solid #67b1f7;
	text-align: center;
	text-decoration: none;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
	border-radius: 4px;
}
.wp-pagenavi span.extend {
	border: 1px solid #67b1f7;
}
/* hover
-------------------------------------------------- */
@media screen and (min-width: 768px) {
.wp-pagenavi a:hover {
	color:#FFFFFF;
	background:#67b1f7;
	border:1px solid #67b1f7;
	opacity:1;
}
}

/*/////////////////////////////////////////////////////////////////////////////


              // NEWS DETAIL //
	  

/////////////////////////////////////////////////////////////////////////////*/

.news-ttl {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.75;
	padding: 25px 0 30px;
	margin-bottom: 40px;
	border-bottom: 1px solid #cccccc;
}
/* entry
-------------------------------------------------- */
.entry {
	width: 780px;
	margin: 0 auto 60px;
	position: relative;
	word-wrap: break-word;
	box-sizing: border-box;
}
.entry p {
    display: block;
	margin-bottom: 2em;
}
.entry a {
	text-decoration: underline;
}
.entry p img {
	display: block;
	margin: 0 auto;
}
.entry strong { font-weight: bold; }
.entry em { font-style: italic; }
.entry blockquote p {
    font-size: 22px;
	margin: 1.5em 0;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #CCCCCC;
}
.entry ul {
	list-style-type: disc;
}
.entry ol {
	list-style-type: decimal;
}
.entry h1 {
	font-size: 28px;
	margin: 0 0 1em;
}
.entry h2 {
	font-size: 24px;
	margin: 0 0 1em;
	padding-bottom: 0.3em;
	border-bottom: 1px solid #CCCCCC;
}
.entry h3 {
	font-size: 18px;
	font-weight: bold;
	margin: 0.5em 0;
}
.entry h4 { font-weight: bold; }
.entry h5 { font-weight: bold; }
.entry .aligncenter {
    display: block;
    margin: 0 auto;
}
.entry .alignright { float: right; }
.entry .alignleft { float: left; }
.entry img {
    height: auto;
    max-width: 100%;
}

/* page-link
-------------------------------------------------- */
.page-link {
	text-align: center;
}
.page-link li {
	display: inline-block;
	margin: 0 10px;
}
.page-link li a {
	display: block;
	width: 200px;
	border: 1px solid #67b1f7;
	line-height: 58px;
	text-align: center;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 500;
}

/*/////////////////////////////////////////////////////////////////////////////


              // ACCESS //
	  

/////////////////////////////////////////////////////////////////////////////*/
.access .contents::before {
	content: "";
	width: 50%;
	height: 800px;
	padding-right: 225px;
	position: absolute;
	left: 0;
	top: 0;
	background: #f5f8fa;
	border-radius: 0 10px 10px 0;
}
.access section {
	width: 1080px;
	margin: 0 auto;
	position: relative;
	padding-top: 70px;
}
.access-block {
	margin-bottom: 55px;
}
.access-block .thumb {
	width: 540px;
	float: left;
	border-radius: 10px;
	overflow: hidden;
}
.access-block .info {
	width: 460px;
	float: right;
	padding: 5px 0 0;
}
.access-block .info .ttl {
	font-size: 28px;
	font-weight: 500;
}
.access-block .info .ttl span {
	display: inline-block;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 500;
	font-size: 14px;
	margin-left: 20px;
	letter-spacing: 3px;
}
.access-block .info dl {
	margin: 20px 0 40px;
}
.access-block .info dl dt {
	font-weight: 700;
	float: left;
}
.access-block .info dl dd {
	margin-left: 95px;
	padding-left: 25px;
	border-left: 1px solid #cccccc;
	margin-bottom: 15px;
}

/*/////////////////////////////////////////////////////////////////////////////


              // 404 //
	  

/////////////////////////////////////////////////////////////////////////////*/
.other {
	text-align: center;
	padding-top: 80px;
}
.other h1 {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
	font-size: 36px;
}